Code view:

A painting is a person's account of this edit as text, recorded independently of the node mapping - a rendering often has several equally defensible answers where the mapping has one. Deletions and insertions carry no position on the opposite side in a painting, so that panel draws no caret for them.

Before

…lines 1–21 unchanged (21 lines)
22 // sanity check; should not be called multiple times
23 if (_referencedType != null) {
24 throw new IllegalStateException("Trying to re-set self reference; old value = "+_referencedType+", new = "+ref);
25 }
26 _referencedType = ref;
27 }
28
29
30 public JavaType getSelfReferencedType() { return _referencedType; }
31
32 @Override
33 public StringBuilder getGenericSignature(StringBuilder sb) {
34 return _referencedType.getGenericSignature(sb);
…lines 35–115 unchanged (81 lines)

After

…lines 1–22 unchanged (22 lines)
23 if (_referencedType != null) {
24 throw new IllegalStateException("Trying to re-set self reference; old value = "+_referencedType+", new = "+ref);
25 }
26 _referencedType = ref;
27 }
28
29 @Override
30 public JavaType getSuperClass() {
31 if (_referencedType != null) {
32 return _referencedType.getSuperClass();
33 }
34 return super.getSuperClass();
35 }
36
37 public JavaType getSelfReferencedType() { return _referencedType; }
38
39 @Override
40 public StringBuilder getGenericSignature(StringBuilder sb) {
41 return _referencedType.getGenericSignature(sb);
…lines 42–122 unchanged (81 lines)

Before

program
package_declaration
package "package"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "type"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "JavaType"
; ";"
block_comment "/**\n * Internal placeholder type used for self-references.\n "...
class_declaration
modifiers
public "public"
class "class"
identifier "ResolvedRecursiveType"
superclass
extends "extends"
type_identifier "TypeBase"
class_body
{ "{"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
long "long"
variable_declarator
identifier "serialVersionUID"
= "="
decimal_integer_literal "1L"
; ";"
field_declaration
modifiers
protected "protected"
type_identifier "JavaType"
variable_declarator
identifier "_referencedType"
; ";"
constructor_declaration (+44 nodes collapsed)
method_declaration (+58 nodes collapsed)
method_declaration
modifiers
public "public"
type_identifier "JavaType"
identifier "getSelfReferencedType"
formal_parameters
( "("
) ")"
block
{ "{"
return_statement
return "return"
identifier "_referencedType"
; ";"
} "}"
method_declaration (+28 nodes collapsed)
method_declaration (+28 nodes collapsed)
method_declaration (+21 nodes collapsed)
method_declaration (+21 nodes collapsed)
method_declaration (+21 nodes collapsed)
method_declaration (+21 nodes collapsed)
method_declaration (+21 nodes collapsed)
method_declaration
modifiers
marker_annotation
@ "@"
identifier "Override"
public "public"
type_identifier "JavaType"
identifier "withStaticTyping"
formal_parameters
( "("
) ")"
block
{ "{"
return_statement
return "return"
this "this"
; ";"
} "}"
method_declaration (+31 nodes collapsed)
method_declaration (+43 nodes collapsed)
method_declaration
modifiers
marker_annotation
@ "@"
identifier "Override"
public "public"
boolean_type "boolean"
identifier "isContainerType"
formal_parameters
( "("
) ")"
block
{ "{"
return_statement
return "return"
false "false"
; ";"
} "}"
method_declaration (+100 nodes collapsed)
method_declaration (+103 nodes collapsed)
} "}"

After

program
package_declaration
package "package"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "type"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "JavaType"
; ";"
block_comment "/**\n * Internal placeholder type used for self-references.\n "...
class_declaration
modifiers
public "public"
class "class"
identifier "ResolvedRecursiveType"
superclass
extends "extends"
type_identifier "TypeBase"
class_body
{ "{"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
long "long"
variable_declarator
identifier "serialVersionUID"
= "="
decimal_integer_literal "1L"
; ";"
field_declaration
modifiers
protected "protected"
type_identifier "JavaType"
variable_declarator
identifier "_referencedType"
; ";"
constructor_declaration (+44 nodes collapsed)
method_declaration (+58 nodes collapsed)
method_declaration
modifiers
marker_annotation
@ "@"
identifier "Override"
public "public"
type_identifier "JavaType"
identifier "getSuperClass"
formal_parameters
( "("
) ")"
block
{ "{"
if_statement
if "if"
parenthesized_expression
( "("
binary_expression
identifier "_referencedType"
!= "!="
null_literal "null"
) ")"
block
{ "{"
return_statement
return "return"
method_invocation
identifier "_referencedType"
. "."
identifier "getSuperClass"
argument_list
( "("
) ")"
; ";"
} "}"
return_statement
return "return"
method_invocation
super "super"
. "."
identifier "getSuperClass"
argument_list
( "("
) ")"
; ";"
} "}"
method_declaration
modifiers
public "public"
type_identifier "JavaType"
identifier "getSelfReferencedType"
formal_parameters
( "("
) ")"
block
{ "{"
return_statement
return "return"
identifier "_referencedType"
; ";"
} "}"
method_declaration (+28 nodes collapsed)
method_declaration (+28 nodes collapsed)
method_declaration (+21 nodes collapsed)
method_declaration (+21 nodes collapsed)
method_declaration (+21 nodes collapsed)
method_declaration (+21 nodes collapsed)
method_declaration (+21 nodes collapsed)
method_declaration
modifiers
marker_annotation
@ "@"
identifier "Override"
public "public"
type_identifier "JavaType"
identifier "withStaticTyping"
formal_parameters
( "("
) ")"
block
{ "{"
return_statement
return "return"
this "this"
; ";"
} "}"
method_declaration (+31 nodes collapsed)
method_declaration (+43 nodes collapsed)
method_declaration
modifiers
marker_annotation
@ "@"
identifier "Override"
public "public"
boolean_type "boolean"
identifier "isContainerType"
formal_parameters
( "("
) ")"
block
{ "{"
return_statement
return "return"
false "false"
; ";"
} "}"
method_declaration (+100 nodes collapsed)
method_declaration (+103 nodes collapsed)
} "}"