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–1750 unchanged (1750 lines)
1751 {
1752 // first: let's check class for the instance itself:
1753 AnnotationIntrospector intr = ctxt.getAnnotationIntrospector();
1754 Class<?> subclass = intr.findDeserializationType(a, type);
1755 if (subclass != null) {
1756 try {
1757 type = (T) type.narrowBy(subclass);
1758 } catch (IllegalArgumentException iae) {
1759 throw new JsonMappingException("Failed to narrow type "+type+" with concrete-type annotation (value "+subclass.getName()+"), method '"+a.getName()+"': "+iae.getMessage(), null, iae);
1760 }
1761 }
1762
1763 // then key class
…lines 1764–1896 unchanged (133 lines)

After

…lines 1–1750 unchanged (1750 lines)
1751 {
1752 // first: let's check class for the instance itself:
1753 AnnotationIntrospector intr = ctxt.getAnnotationIntrospector();
1754 Class<?> subclass = intr.findDeserializationType(a, type);
1755 if (subclass != null) {
1756 try {
1757 type = (T) ctxt.getTypeFactory().constructSpecializedType(type, subclass);
1758 } catch (IllegalArgumentException iae) {
1759 throw new JsonMappingException("Failed to narrow type "+type+" with concrete-type annotation (value "+subclass.getName()+"), method '"+a.getName()+"': "+iae.getMessage(), null, iae);
1760 }
1761 }
1762
1763 // then key class
…lines 1764–1896 unchanged (133 lines)

Before

program
package_declaration
package "package"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "deser"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "lang"
. "."
identifier "reflect"
. "."
identifier "Method"
; ";"
import_declaration
import "import"
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
asterisk
* "*"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "concurrent"
. "."
asterisk
* "*"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "concurrent"
. "."
identifier "atomic"
. "."
identifier "AtomicReference"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "annotation"
. "."
identifier "JsonCreator"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "core"
. "."
identifier "JsonLocation"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
asterisk
* "*"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "cfg"
. "."
identifier "DeserializerFactoryConfig"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "cfg"
. "."
identifier "HandlerInstantiator"
; ";"
import_declaration (+22 nodes collapsed)
import_declaration (+22 nodes collapsed)
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "ext"
. "."
identifier "OptionalHandlerFactory"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "introspect"
. "."
asterisk
* "*"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "jsontype"
. "."
identifier "NamedType"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "jsontype"
. "."
identifier "TypeDeserializer"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "jsontype"
. "."
identifier "TypeResolverBuilder"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "type"
. "."
asterisk
* "*"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "util"
. "."
asterisk
* "*"
; ";"
block_comment "/**\n * Abstract factory base class that can provide deserial"...
class_declaration
modifiers
annotation
@ "@"
identifier "SuppressWarnings"
annotation_argument_list
( "("
string_literal
" "\""
string_fragment "serial"
" "\""
) ")"
public "public"
abstract "abstract"
class "class"
identifier "BasicDeserializerFactory"
superclass
extends "extends"
type_identifier "DeserializerFactory"
super_interfaces
implements "implements"
type_list
scoped_type_identifier
scoped_type_identifier
type_identifier "java"
. "."
type_identifier "io"
. "."
type_identifier "Serializable"
class_body
{ "{"
field_declaration
modifiers
private "private"
final "final"
static "static"
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
variable_declarator
identifier "CLASS_OBJECT"
= "="
class_literal
type_identifier "Object"
. "."
class "class"
; ";"
field_declaration
modifiers
private "private"
final "final"
static "static"
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
variable_declarator
identifier "CLASS_STRING"
= "="
class_literal
type_identifier "String"
. "."
class "class"
; ";"
field_declaration
modifiers
private "private"
final "final"
static "static"
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
variable_declarator
identifier "CLASS_CHAR_BUFFER"
= "="
class_literal
type_identifier "CharSequence"
. "."
class "class"
; ";"
field_declaration
modifiers
private "private"
final "final"
static "static"
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
variable_declarator
identifier "CLASS_ITERABLE"
= "="
class_literal
type_identifier "Iterable"
. "."
class "class"
; ";"
field_declaration (+23 nodes collapsed)
block_comment "/**\n * We need a placeholder for creator properties that"...
field_declaration
modifiers
protected "protected"
final "final"
static "static"
type_identifier "PropertyName"
variable_declarator
identifier "UNWRAPPED_CREATOR_PARAM_NAME"
= "="
object_creation_expression
new "new"
type_identifier "PropertyName"
argument_list
( "("
string_literal
" "\""
string_fragment "@JsonUnwrapped"
" "\""
) ")"
; ";"
block_comment "/* We do some defaulting for abstract Map classes and\n *"...
field_declaration (+55 nodes collapsed)
static_initializer (+149 nodes collapsed)
block_comment "/* We do some defaulting for abstract Collection classes and"...
field_declaration (+55 nodes collapsed)
static_initializer (+163 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Configuration settings for this factory; immutabl"...
field_declaration
modifiers
protected "protected"
final "final"
type_identifier "DeserializerFactoryConfig"
variable_declarator
identifier "_factoryConfig"
; ";"
block_comment "/*\n /****************************************************"...
constructor_declaration
modifiers
protected "protected"
identifier "BasicDeserializerFactory"
formal_parameters
( "("
formal_parameter
type_identifier "DeserializerFactoryConfig"
identifier "config"
) ")"
constructor_body
{ "{"
expression_statement
assignment_expression
identifier "_factoryConfig"
= "="
identifier "config"
; ";"
} "}"
block_comment "/**\n * Method for getting current {@link DeserializerFac"...
method_declaration
modifiers
public "public"
type_identifier "DeserializerFactoryConfig"
identifier "getFactoryConfig"
formal_parameters
( "("
) ")"
block
{ "{"
return_statement
return "return"
identifier "_factoryConfig"
; ";"
} "}"
method_declaration
modifiers
protected "protected"
abstract "abstract"
type_identifier "DeserializerFactory"
identifier "withConfig"
formal_parameters
( "("
formal_parameter
type_identifier "DeserializerFactoryConfig"
identifier "config"
) ")"
; ";"
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Convenience method for creating a new factory ins"...
method_declaration (+34 nodes collapsed)
block_comment "/**\n * Convenience method for creating a new factory ins"...
method_declaration (+34 nodes collapsed)
block_comment "/**\n * Convenience method for creating a new factory ins"...
method_declaration (+34 nodes collapsed)
block_comment "/**\n * Convenience method for creating a new factory ins"...
method_declaration (+34 nodes collapsed)
block_comment "/**\n * Convenience method for creating a new factory ins"...
method_declaration (+34 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+168 nodes collapsed)
block_comment "/**\n * Method that will find abstract type mapping for s"...
method_declaration (+120 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Value instantiator is created both based on creat"...
method_declaration (+345 nodes collapsed)
method_declaration (+55 nodes collapsed)
block_comment "/**\n * Method that will construct standard default {@lin"...
method_declaration (+215 nodes collapsed)
method_declaration (+327 nodes collapsed)
method_declaration (+290 nodes collapsed)
method_declaration (+1206 nodes collapsed)
method_declaration (+407 nodes collapsed)
method_declaration (+212 nodes collapsed)
method_declaration (+367 nodes collapsed)
method_declaration (+831 nodes collapsed)
method_declaration (+396 nodes collapsed)
block_comment "/**\n * Method that will construct a property object that"...
method_declaration (+488 nodes collapsed)
method_declaration (+120 nodes collapsed)
method_declaration (+70 nodes collapsed)
method_declaration (+55 nodes collapsed)
method_declaration (+77 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+314 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+561 nodes collapsed)
method_declaration (+89 nodes collapsed)
line_comment "// Copied almost verbatim from \"createCollectionDeserializer"...
method_declaration (+217 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+652 nodes collapsed)
line_comment "// Copied almost verbatim from \"createMapDeserializer\" -- sh"...
method_declaration (+271 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Factory method for constructing serializers of {@"...
method_declaration (+360 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+128 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+283 nodes collapsed)
block_comment "/**\n * Overridable method called after checking all othe"...
method_declaration (+55 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+250 nodes collapsed)
method_declaration (+434 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Method called to create a type information deseri"...
method_declaration (+131 nodes collapsed)
block_comment "/**\n * Method called to find and create a type informati"...
method_declaration (+144 nodes collapsed)
block_comment "/**\n * Helper method called to find one of default seria"...
method_declaration (+797 nodes collapsed)
method_declaration (+73 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+110 nodes collapsed)
method_declaration (+110 nodes collapsed)
method_declaration (+110 nodes collapsed)
method_declaration (+110 nodes collapsed)
method_declaration (+98 nodes collapsed)
method_declaration (+116 nodes collapsed)
method_declaration (+116 nodes collapsed)
method_declaration (+100 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Helper method called to check if a class or metho"...
method_declaration (+75 nodes collapsed)
block_comment "/**\n * Method called to see if given method has annotati"...
method_declaration
modifiers
annotation
@ "@"
identifier "SuppressWarnings"
annotation_argument_list
( "("
element_value_array_initializer
{ "{"
string_literal
" "\""
string_fragment "unchecked"
" "\""
} "}"
) ")"
protected "protected"
type_parameters
< "<"
type_parameter
type_identifier "T"
type_bound
extends "extends"
type_identifier "JavaType"
> ">"
type_identifier "T"
identifier "modifyTypeByAnnotation"
formal_parameters
( "("
formal_parameter
type_identifier "DeserializationContext"
identifier "ctxt"
, ","
formal_parameter
type_identifier "Annotated"
identifier "a"
, ","
formal_parameter
type_identifier "T"
identifier "type"
) ")"
throws
throws "throws"
type_identifier "JsonMappingException"
block
{ "{"
line_comment "// first: let's check class for the instance itself:"
local_variable_declaration
type_identifier "AnnotationIntrospector"
variable_declarator
identifier "intr"
= "="
method_invocation
identifier "ctxt"
. "."
identifier "getAnnotationIntrospector"
argument_list
( "("
) ")"
; ";"
local_variable_declaration (+22 nodes collapsed)
if_statement
if "if"
parenthesized_expression
( "("
binary_expression
identifier "subclass"
!= "!="
null_literal "null"
) ")"
block
{ "{"
try_statement
try "try"
block
{ "{"
expression_statement
assignment_expression
identifier "type"
= "="
cast_expression
( "("
type_identifier "T"
) ")"
method_invocation
identifier "type"
. "."
identifier "narrowBy"
argument_list
( "("
identifier "subclass"
) ")"
; ";"
} "}"
catch_clause (+76 nodes collapsed)
} "}"
line_comment "// then key class"
if_statement (+524 nodes collapsed)
return_statement
return "return"
identifier "type"
; ";"
} "}"
block_comment "/**\n * Helper method used to resolve method return types"...
method_declaration (+381 nodes collapsed)
method_declaration (+141 nodes collapsed)
method_declaration (+58 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 "deser"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "lang"
. "."
identifier "reflect"
. "."
identifier "Method"
; ";"
import_declaration
import "import"
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
asterisk
* "*"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "concurrent"
. "."
asterisk
* "*"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "concurrent"
. "."
identifier "atomic"
. "."
identifier "AtomicReference"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "annotation"
. "."
identifier "JsonCreator"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "core"
. "."
identifier "JsonLocation"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
asterisk
* "*"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "cfg"
. "."
identifier "DeserializerFactoryConfig"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "cfg"
. "."
identifier "HandlerInstantiator"
; ";"
import_declaration (+22 nodes collapsed)
import_declaration (+22 nodes collapsed)
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "ext"
. "."
identifier "OptionalHandlerFactory"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "introspect"
. "."
asterisk
* "*"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "jsontype"
. "."
identifier "NamedType"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "jsontype"
. "."
identifier "TypeDeserializer"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "jsontype"
. "."
identifier "TypeResolverBuilder"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "type"
. "."
asterisk
* "*"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "util"
. "."
asterisk
* "*"
; ";"
block_comment "/**\n * Abstract factory base class that can provide deserial"...
class_declaration
modifiers
annotation
@ "@"
identifier "SuppressWarnings"
annotation_argument_list
( "("
string_literal
" "\""
string_fragment "serial"
" "\""
) ")"
public "public"
abstract "abstract"
class "class"
identifier "BasicDeserializerFactory"
superclass
extends "extends"
type_identifier "DeserializerFactory"
super_interfaces
implements "implements"
type_list
scoped_type_identifier
scoped_type_identifier
type_identifier "java"
. "."
type_identifier "io"
. "."
type_identifier "Serializable"
class_body
{ "{"
field_declaration
modifiers
private "private"
final "final"
static "static"
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
variable_declarator
identifier "CLASS_OBJECT"
= "="
class_literal
type_identifier "Object"
. "."
class "class"
; ";"
field_declaration
modifiers
private "private"
final "final"
static "static"
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
variable_declarator
identifier "CLASS_STRING"
= "="
class_literal
type_identifier "String"
. "."
class "class"
; ";"
field_declaration
modifiers
private "private"
final "final"
static "static"
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
variable_declarator
identifier "CLASS_CHAR_BUFFER"
= "="
class_literal
type_identifier "CharSequence"
. "."
class "class"
; ";"
field_declaration
modifiers
private "private"
final "final"
static "static"
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
variable_declarator
identifier "CLASS_ITERABLE"
= "="
class_literal
type_identifier "Iterable"
. "."
class "class"
; ";"
field_declaration (+23 nodes collapsed)
block_comment "/**\n * We need a placeholder for creator properties that"...
field_declaration
modifiers
protected "protected"
final "final"
static "static"
type_identifier "PropertyName"
variable_declarator
identifier "UNWRAPPED_CREATOR_PARAM_NAME"
= "="
object_creation_expression
new "new"
type_identifier "PropertyName"
argument_list
( "("
string_literal
" "\""
string_fragment "@JsonUnwrapped"
" "\""
) ")"
; ";"
block_comment "/* We do some defaulting for abstract Map classes and\n *"...
field_declaration (+55 nodes collapsed)
static_initializer (+149 nodes collapsed)
block_comment "/* We do some defaulting for abstract Collection classes and"...
field_declaration (+55 nodes collapsed)
static_initializer (+163 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Configuration settings for this factory; immutabl"...
field_declaration
modifiers
protected "protected"
final "final"
type_identifier "DeserializerFactoryConfig"
variable_declarator
identifier "_factoryConfig"
; ";"
block_comment "/*\n /****************************************************"...
constructor_declaration
modifiers
protected "protected"
identifier "BasicDeserializerFactory"
formal_parameters
( "("
formal_parameter
type_identifier "DeserializerFactoryConfig"
identifier "config"
) ")"
constructor_body
{ "{"
expression_statement
assignment_expression
identifier "_factoryConfig"
= "="
identifier "config"
; ";"
} "}"
block_comment "/**\n * Method for getting current {@link DeserializerFac"...
method_declaration
modifiers
public "public"
type_identifier "DeserializerFactoryConfig"
identifier "getFactoryConfig"
formal_parameters
( "("
) ")"
block
{ "{"
return_statement
return "return"
identifier "_factoryConfig"
; ";"
} "}"
method_declaration
modifiers
protected "protected"
abstract "abstract"
type_identifier "DeserializerFactory"
identifier "withConfig"
formal_parameters
( "("
formal_parameter
type_identifier "DeserializerFactoryConfig"
identifier "config"
) ")"
; ";"
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Convenience method for creating a new factory ins"...
method_declaration (+34 nodes collapsed)
block_comment "/**\n * Convenience method for creating a new factory ins"...
method_declaration (+34 nodes collapsed)
block_comment "/**\n * Convenience method for creating a new factory ins"...
method_declaration (+34 nodes collapsed)
block_comment "/**\n * Convenience method for creating a new factory ins"...
method_declaration (+34 nodes collapsed)
block_comment "/**\n * Convenience method for creating a new factory ins"...
method_declaration (+34 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+168 nodes collapsed)
block_comment "/**\n * Method that will find abstract type mapping for s"...
method_declaration (+120 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Value instantiator is created both based on creat"...
method_declaration (+345 nodes collapsed)
method_declaration (+55 nodes collapsed)
block_comment "/**\n * Method that will construct standard default {@lin"...
method_declaration (+215 nodes collapsed)
method_declaration (+327 nodes collapsed)
method_declaration (+290 nodes collapsed)
method_declaration (+1206 nodes collapsed)
method_declaration (+407 nodes collapsed)
method_declaration (+212 nodes collapsed)
method_declaration (+367 nodes collapsed)
method_declaration (+831 nodes collapsed)
method_declaration (+396 nodes collapsed)
block_comment "/**\n * Method that will construct a property object that"...
method_declaration (+488 nodes collapsed)
method_declaration (+120 nodes collapsed)
method_declaration (+70 nodes collapsed)
method_declaration (+55 nodes collapsed)
method_declaration (+77 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+314 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+561 nodes collapsed)
method_declaration (+89 nodes collapsed)
line_comment "// Copied almost verbatim from \"createCollectionDeserializer"...
method_declaration (+217 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+652 nodes collapsed)
line_comment "// Copied almost verbatim from \"createMapDeserializer\" -- sh"...
method_declaration (+271 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Factory method for constructing serializers of {@"...
method_declaration (+360 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+128 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+283 nodes collapsed)
block_comment "/**\n * Overridable method called after checking all othe"...
method_declaration (+55 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+250 nodes collapsed)
method_declaration (+434 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Method called to create a type information deseri"...
method_declaration (+131 nodes collapsed)
block_comment "/**\n * Method called to find and create a type informati"...
method_declaration (+144 nodes collapsed)
block_comment "/**\n * Helper method called to find one of default seria"...
method_declaration (+797 nodes collapsed)
method_declaration (+73 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+110 nodes collapsed)
method_declaration (+110 nodes collapsed)
method_declaration (+110 nodes collapsed)
method_declaration (+110 nodes collapsed)
method_declaration (+98 nodes collapsed)
method_declaration (+116 nodes collapsed)
method_declaration (+116 nodes collapsed)
method_declaration (+100 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Helper method called to check if a class or metho"...
method_declaration (+75 nodes collapsed)
block_comment "/**\n * Method called to see if given method has annotati"...
method_declaration
modifiers
annotation
@ "@"
identifier "SuppressWarnings"
annotation_argument_list
( "("
element_value_array_initializer
{ "{"
string_literal
" "\""
string_fragment "unchecked"
" "\""
} "}"
) ")"
protected "protected"
type_parameters
< "<"
type_parameter
type_identifier "T"
type_bound
extends "extends"
type_identifier "JavaType"
> ">"
type_identifier "T"
identifier "modifyTypeByAnnotation"
formal_parameters
( "("
formal_parameter
type_identifier "DeserializationContext"
identifier "ctxt"
, ","
formal_parameter
type_identifier "Annotated"
identifier "a"
, ","
formal_parameter
type_identifier "T"
identifier "type"
) ")"
throws
throws "throws"
type_identifier "JsonMappingException"
block
{ "{"
line_comment "// first: let's check class for the instance itself:"
local_variable_declaration
type_identifier "AnnotationIntrospector"
variable_declarator
identifier "intr"
= "="
method_invocation
identifier "ctxt"
. "."
identifier "getAnnotationIntrospector"
argument_list
( "("
) ")"
; ";"
local_variable_declaration (+22 nodes collapsed)
if_statement
if "if"
parenthesized_expression
( "("
binary_expression
identifier "subclass"
!= "!="
null_literal "null"
) ")"
block
{ "{"
try_statement
try "try"
block
{ "{"
expression_statement
assignment_expression
identifier "type"
= "="
cast_expression
( "("
type_identifier "T"
) ")"
method_invocation
method_invocation
identifier "ctxt"
. "."
identifier "getTypeFactory"
argument_list
( "("
) ")"
. "."
identifier "constructSpecializedType"
argument_list
( "("
identifier "type"
, ","
identifier "subclass"
) ")"
; ";"
} "}"
catch_clause (+76 nodes collapsed)
} "}"
line_comment "// then key class"
if_statement (+524 nodes collapsed)
return_statement
return "return"
identifier "type"
; ";"
} "}"
block_comment "/**\n * Helper method used to resolve method return types"...
method_declaration (+381 nodes collapsed)
method_declaration (+141 nodes collapsed)
method_declaration (+58 nodes collapsed)
} "}"