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–16 unchanged (16 lines)
17 // note: can skip primitive types; other ways to check them:
18 Class<?>[] types = new Class<?>[] {
19 UUID.class,
20 AtomicBoolean.class,
21 StackTraceElement.class,
22 ByteBuffer.class
23 };
24 for (Class<?> cls : types) { _classNames.add(cls.getName()); }
25 for (Class<?> cls : FromStringDeserializer.types()) { _classNames.add(cls.getName()); }
26 }
27
28 public static JsonDeserializer<?> find(Class<?> rawType, String clsName)
29 {
…lines 30–41 unchanged (12 lines)
42 // (note: AtomicInteger/Long work due to single-arg constructor. For now?
43 return new AtomicBooleanDeserializer();
44 }
45 if (rawType == ByteBuffer.class) {
46 return new ByteBufferDeserializer();
47 }
48 }
49 return null;
50 }
51}
52

After

…lines 1–15 unchanged (15 lines)
16 static {
17 // note: can skip primitive types; other ways to check them:
18 Class<?>[] types = new Class<?>[] {
19 UUID.class,
20 AtomicBoolean.class,
21 StackTraceElement.class,
22 ByteBuffer.class,
23 Void.class
24 };
25 for (Class<?> cls : types) { _classNames.add(cls.getName()); }
26 for (Class<?> cls : FromStringDeserializer.types()) { _classNames.add(cls.getName()); }
27 }
28
29 public static JsonDeserializer<?> find(Class<?> rawType, String clsName)
…lines 30–42 unchanged (13 lines)
43 // (note: AtomicInteger/Long work due to single-arg constructor. For now?
44 return new AtomicBooleanDeserializer();
45 }
46 if (rawType == ByteBuffer.class) {
47 return new ByteBufferDeserializer();
48 }
49 if (rawType == Void.class) {
50 return NullifyingDeserializer.instance;
51 }
52 }
53 return null;
54 }
55}
56

Before

program
package_declaration
package "package"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "deser"
. "."
identifier "std"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "nio"
. "."
identifier "ByteBuffer"
; ";"
import_declaration
import "import"
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
asterisk
* "*"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "concurrent"
. "."
identifier "atomic"
. "."
identifier "AtomicBoolean"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
asterisk
* "*"
; ";"
block_comment "/**\n * Container class that contains serializers for JDK typ"...
class_declaration
modifiers
public "public"
class "class"
identifier "JdkDeserializers"
class_body
{ "{"
field_declaration (+26 nodes collapsed)
static_initializer
static "static"
block
{ "{"
line_comment "// note: can skip primitive types; other ways to check them:"
local_variable_declaration
array_type
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
dimensions
[ "["
] "]"
variable_declarator
identifier "types"
= "="
array_creation_expression
new "new"
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
dimensions
[ "["
] "]"
array_initializer
{ "{"
class_literal
type_identifier "UUID"
. "."
class "class"
, ","
class_literal
type_identifier "AtomicBoolean"
. "."
class "class"
, ","
class_literal
type_identifier "StackTraceElement"
. "."
class "class"
, ","
class_literal
type_identifier "ByteBuffer"
. "."
class "class"
} "}"
; ";"
enhanced_for_statement (+33 nodes collapsed)
enhanced_for_statement (+39 nodes collapsed)
} "}"
method_declaration
modifiers
public "public"
static "static"
generic_type
type_identifier "JsonDeserializer"
type_arguments
< "<"
wildcard
? "?"
> ">"
identifier "find"
formal_parameters
( "("
formal_parameter
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
identifier "rawType"
, ","
formal_parameter
type_identifier "String"
identifier "clsName"
) ")"
block
{ "{"
if_statement
if "if"
parenthesized_expression
( "("
method_invocation
identifier "_classNames"
. "."
identifier "contains"
argument_list
( "("
identifier "clsName"
) ")"
) ")"
block
{ "{"
local_variable_declaration
generic_type
type_identifier "JsonDeserializer"
type_arguments
< "<"
wildcard
? "?"
> ">"
variable_declarator
identifier "d"
= "="
method_invocation
identifier "FromStringDeserializer"
. "."
identifier "findDeserializer"
argument_list
( "("
identifier "rawType"
) ")"
; ";"
if_statement
if "if"
parenthesized_expression
( "("
binary_expression
identifier "d"
!= "!="
null_literal "null"
) ")"
block
{ "{"
return_statement
return "return"
identifier "d"
; ";"
} "}"
if_statement (+24 nodes collapsed)
if_statement (+24 nodes collapsed)
if_statement (+25 nodes collapsed)
if_statement (+24 nodes collapsed)
} "}"
return_statement
return "return"
null_literal "null"
; ";"
} "}"
} "}"

After

program
package_declaration
package "package"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "deser"
. "."
identifier "std"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "nio"
. "."
identifier "ByteBuffer"
; ";"
import_declaration
import "import"
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
asterisk
* "*"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "concurrent"
. "."
identifier "atomic"
. "."
identifier "AtomicBoolean"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
asterisk
* "*"
; ";"
block_comment "/**\n * Container class that contains serializers for JDK typ"...
class_declaration
modifiers
public "public"
class "class"
identifier "JdkDeserializers"
class_body
{ "{"
field_declaration (+26 nodes collapsed)
static_initializer
static "static"
block
{ "{"
line_comment "// note: can skip primitive types; other ways to check them:"
local_variable_declaration
array_type
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
dimensions
[ "["
] "]"
variable_declarator
identifier "types"
= "="
array_creation_expression
new "new"
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
dimensions
[ "["
] "]"
array_initializer
{ "{"
class_literal
type_identifier "UUID"
. "."
class "class"
, ","
class_literal
type_identifier "AtomicBoolean"
. "."
class "class"
, ","
class_literal
type_identifier "StackTraceElement"
. "."
class "class"
, ","
class_literal
type_identifier "ByteBuffer"
. "."
class "class"
, ","
class_literal
type_identifier "Void"
. "."
class "class"
} "}"
; ";"
enhanced_for_statement (+33 nodes collapsed)
enhanced_for_statement (+39 nodes collapsed)
} "}"
method_declaration
modifiers
public "public"
static "static"
generic_type
type_identifier "JsonDeserializer"
type_arguments
< "<"
wildcard
? "?"
> ">"
identifier "find"
formal_parameters
( "("
formal_parameter
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
identifier "rawType"
, ","
formal_parameter
type_identifier "String"
identifier "clsName"
) ")"
block
{ "{"
if_statement
if "if"
parenthesized_expression
( "("
method_invocation
identifier "_classNames"
. "."
identifier "contains"
argument_list
( "("
identifier "clsName"
) ")"
) ")"
block
{ "{"
local_variable_declaration
generic_type
type_identifier "JsonDeserializer"
type_arguments
< "<"
wildcard
? "?"
> ">"
variable_declarator
identifier "d"
= "="
method_invocation
identifier "FromStringDeserializer"
. "."
identifier "findDeserializer"
argument_list
( "("
identifier "rawType"
) ")"
; ";"
if_statement
if "if"
parenthesized_expression
( "("
binary_expression
identifier "d"
!= "!="
null_literal "null"
) ")"
block
{ "{"
return_statement
return "return"
identifier "d"
; ";"
} "}"
if_statement (+24 nodes collapsed)
if_statement (+24 nodes collapsed)
if_statement (+25 nodes collapsed)
if_statement (+24 nodes collapsed)
if_statement
if "if"
parenthesized_expression
( "("
binary_expression
identifier "rawType"
== "=="
class_literal
type_identifier "Void"
. "."
class "class"
) ")"
block
{ "{"
return_statement
return "return"
field_access
identifier "NullifyingDeserializer"
. "."
identifier "instance"
; ";"
} "}"
} "}"
return_statement
return "return"
null_literal "null"
; ";"
} "}"
} "}"