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–421 unchanged (421 lines)
422 newType = _fromClass(null, subclass, tb);
423 }
424 } while (false);
425
426 // 25-Sep-2016, tatu: As per [databind#1384] also need to ensure handlers get
427 // copied as well
428 return newType;
429
430 // 20-Oct-2015, tatu: Old simplistic approach
431
432 /*
433 // Currently mostly SimpleType instances can become something else
434 if (baseType instanceof SimpleType) {
…lines 435–1427 unchanged (993 lines)

After

…lines 1–421 unchanged (421 lines)
422 newType = _fromClass(null, subclass, tb);
423 }
424 } while (false);
425
426 // 25-Sep-2016, tatu: As per [databind#1384] also need to ensure handlers get
427 // copied as well
428 newType = newType.withHandlersFrom(baseType);
429 return newType;
430
431 // 20-Oct-2015, tatu: Old simplistic approach
432
433 /*
434 // Currently mostly SimpleType instances can become something else
…lines 435–1428 unchanged (994 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
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 "AtomicReference"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "lang"
. "."
identifier "reflect"
. "."
asterisk
* "*"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "core"
. "."
identifier "type"
. "."
identifier "TypeReference"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "JavaType"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "util"
. "."
identifier "ArrayBuilders"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "util"
. "."
identifier "ClassUtil"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "util"
. "."
identifier "LRUMap"
; ";"
block_comment "/**\n * Class used for creating concrete {@link JavaType} ins"...
class_declaration
modifiers
annotation
@ "@"
identifier "SuppressWarnings"
annotation_argument_list
( "("
element_value_array_initializer
{ "{"
string_literal
" "\""
string_fragment "rawtypes"
" "\""
} "}"
) ")"
public "public"
final "final"
class "class"
identifier "TypeFactory"
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"
static "static"
final "final"
integral_type
long "long"
variable_declarator
identifier "serialVersionUID"
= "="
decimal_integer_literal "1L"
; ";"
field_declaration (+21 nodes collapsed)
block_comment "/**\n * Globally shared singleton. Not accessed directly;"...
field_declaration
modifiers
protected "protected"
final "final"
static "static"
type_identifier "TypeFactory"
variable_declarator
identifier "instance"
= "="
object_creation_expression
new "new"
type_identifier "TypeFactory"
argument_list
( "("
) ")"
; ";"
field_declaration
modifiers
protected "protected"
final "final"
static "static"
type_identifier "TypeBindings"
variable_declarator
identifier "EMPTY_BINDINGS"
= "="
method_invocation
identifier "TypeBindings"
. "."
identifier "emptyBindings"
argument_list
( "("
) ")"
; ";"
block_comment "/*\n /****************************************************"...
line_comment "// // // Let's assume that a small set of core primitive/bas"...
line_comment "// // // will not be modified, and can be freely shared to s"...
line_comment "// // // parts of processing"
field_declaration
modifiers
private "private"
final "final"
static "static"
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
variable_declarator
identifier "CLS_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 "CLS_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 "CLS_COMPARABLE"
= "="
class_literal
type_identifier "Comparable"
. "."
class "class"
; ";"
field_declaration
modifiers
private "private"
final "final"
static "static"
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
variable_declarator
identifier "CLS_CLASS"
= "="
class_literal
type_identifier "Class"
. "."
class "class"
; ";"
field_declaration
modifiers
private "private"
final "final"
static "static"
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
variable_declarator
identifier "CLS_ENUM"
= "="
class_literal
type_identifier "Enum"
. "."
class "class"
; ";"
field_declaration
modifiers
private "private"
final "final"
static "static"
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
variable_declarator
identifier "CLS_BOOL"
= "="
field_access
identifier "Boolean"
. "."
identifier "TYPE"
; ";"
field_declaration
modifiers
private "private"
final "final"
static "static"
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
variable_declarator
identifier "CLS_INT"
= "="
field_access
identifier "Integer"
. "."
identifier "TYPE"
; ";"
field_declaration
modifiers
private "private"
final "final"
static "static"
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
variable_declarator
identifier "CLS_LONG"
= "="
field_access
identifier "Long"
. "."
identifier "TYPE"
; ";"
block_comment "/*\n /****************************************************"...
line_comment "// note: these are primitive, hence no super types"
field_declaration
modifiers
protected "protected"
final "final"
static "static"
type_identifier "SimpleType"
variable_declarator
identifier "CORE_TYPE_BOOL"
= "="
object_creation_expression
new "new"
type_identifier "SimpleType"
argument_list
( "("
identifier "CLS_BOOL"
) ")"
; ";"
field_declaration
modifiers
protected "protected"
final "final"
static "static"
type_identifier "SimpleType"
variable_declarator
identifier "CORE_TYPE_INT"
= "="
object_creation_expression
new "new"
type_identifier "SimpleType"
argument_list
( "("
identifier "CLS_INT"
) ")"
; ";"
field_declaration
modifiers
protected "protected"
final "final"
static "static"
type_identifier "SimpleType"
variable_declarator
identifier "CORE_TYPE_LONG"
= "="
object_creation_expression
new "new"
type_identifier "SimpleType"
argument_list
( "("
identifier "CLS_LONG"
) ")"
; ";"
line_comment "// and as to String... well, for now, ignore its super types"
field_declaration
modifiers
protected "protected"
final "final"
static "static"
type_identifier "SimpleType"
variable_declarator
identifier "CORE_TYPE_STRING"
= "="
object_creation_expression
new "new"
type_identifier "SimpleType"
argument_list
( "("
identifier "CLS_STRING"
) ")"
; ";"
line_comment "// @since 2.7"
field_declaration
modifiers
protected "protected"
final "final"
static "static"
type_identifier "SimpleType"
variable_declarator
identifier "CORE_TYPE_OBJECT"
= "="
object_creation_expression
new "new"
type_identifier "SimpleType"
argument_list
( "("
identifier "CLS_OBJECT"
) ")"
; ";"
block_comment "/**\n * Cache {@link Comparable} because it is both param"...
field_declaration
modifiers
protected "protected"
final "final"
static "static"
type_identifier "SimpleType"
variable_declarator
identifier "CORE_TYPE_COMPARABLE"
= "="
object_creation_expression
new "new"
type_identifier "SimpleType"
argument_list
( "("
identifier "CLS_COMPARABLE"
) ")"
; ";"
block_comment "/**\n * Cache {@link Enum} because it is parametric AND s"...
field_declaration
modifiers
protected "protected"
final "final"
static "static"
type_identifier "SimpleType"
variable_declarator
identifier "CORE_TYPE_ENUM"
= "="
object_creation_expression
new "new"
type_identifier "SimpleType"
argument_list
( "("
identifier "CLS_ENUM"
) ")"
; ";"
block_comment "/**\n * Cache {@link Class} because it is nominally param"...
field_declaration
modifiers
protected "protected"
final "final"
static "static"
type_identifier "SimpleType"
variable_declarator
identifier "CORE_TYPE_CLASS"
= "="
object_creation_expression
new "new"
type_identifier "SimpleType"
argument_list
( "("
identifier "CLS_CLASS"
) ")"
; ";"
block_comment "/**\n * Since type resolution can be expensive (specifica"...
field_declaration
modifiers
protected "protected"
final "final"
generic_type
type_identifier "LRUMap"
type_arguments
< "<"
type_identifier "Object"
, ","
type_identifier "JavaType"
> ">"
variable_declarator
identifier "_typeCache"
; ";"
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Registered {@link TypeModifier}s: objects that ca"...
field_declaration
modifiers
protected "protected"
final "final"
array_type
type_identifier "TypeModifier"
dimensions
[ "["
] "]"
variable_declarator
identifier "_modifiers"
; ";"
field_declaration
modifiers
protected "protected"
final "final"
type_identifier "TypeParser"
variable_declarator
identifier "_parser"
; ";"
block_comment "/**\n * ClassLoader used by this factory [databind#624].\n"...
field_declaration
modifiers
protected "protected"
final "final"
type_identifier "ClassLoader"
variable_declarator
identifier "_classLoader"
; ";"
block_comment "/*\n /****************************************************"...
constructor_declaration
modifiers
private "private"
identifier "TypeFactory"
formal_parameters
( "("
) ")"
constructor_body
{ "{"
explicit_constructor_invocation
this "this"
argument_list
( "("
null_literal "null"
) ")"
; ";"
} "}"
block_comment "/**\n * @since 2.8\n */"
constructor_declaration (+83 nodes collapsed)
constructor_declaration (+101 nodes collapsed)
method_declaration (+127 nodes collapsed)
method_declaration (+30 nodes collapsed)
block_comment "/**\n * Mutant factory method that will construct new {@l"...
method_declaration (+37 nodes collapsed)
block_comment "/**\n * Method used to access the globally shared instanc"...
method_declaration
modifiers
public "public"
static "static"
type_identifier "TypeFactory"
identifier "defaultInstance"
formal_parameters
( "("
) ")"
block
{ "{"
return_statement
return "return"
identifier "instance"
; ";"
} "}"
block_comment "/**\n * Method that will clear up any cached type definit"...
method_declaration
modifiers
public "public"
void_type "void"
identifier "clearCache"
formal_parameters
( "("
) ")"
block
{ "{"
expression_statement
method_invocation
identifier "_typeCache"
. "."
identifier "clear"
argument_list
( "("
) ")"
; ";"
} "}"
method_declaration
modifiers
public "public"
type_identifier "ClassLoader"
identifier "getClassLoader"
formal_parameters
( "("
) ")"
block
{ "{"
return_statement
return "return"
identifier "_classLoader"
; ";"
} "}"
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Method for constructing a marker type that indica"...
method_declaration (+26 nodes collapsed)
block_comment "/**\n * Static helper method that can be called to figure"...
method_declaration (+75 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Low-level lookup method moved from {@link com.fas"...
method_declaration (+269 nodes collapsed)
method_declaration (+46 nodes collapsed)
method_declaration (+34 nodes collapsed)
method_declaration (+231 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Factory method for creating a subtype of given ba"...
method_declaration
modifiers
public "public"
type_identifier "JavaType"
identifier "constructSpecializedType"
formal_parameters
( "("
formal_parameter
type_identifier "JavaType"
identifier "baseType"
, ","
formal_parameter
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
identifier "subclass"
) ")"
block
{ "{"
line_comment "// simple optimization to avoid costly introspection if type"...
local_variable_declaration (+21 nodes collapsed)
if_statement
if "if"
parenthesized_expression
( "("
binary_expression
identifier "rawBase"
== "=="
identifier "subclass"
) ")"
block
{ "{"
return_statement
return "return"
identifier "baseType"
; ";"
} "}"
local_variable_declaration
type_identifier "JavaType"
variable_declarator
identifier "newType"
; ";"
line_comment "// also: if we start from untyped, not much to save"
do_statement (+570 nodes collapsed)
line_comment "// 25-Sep-2016, tatu: As per [databind#1384] also need to en"...
line_comment "// copied as well"
return_statement
return "return"
identifier "newType"
; ";"
line_comment "// 20-Oct-2015, tatu: Old simplistic approach"
block_comment "/*\n // Currently mostly SimpleType instances can beco"...
} "}"
method_declaration (+217 nodes collapsed)
block_comment "/**\n * Method similar to {@link #constructSpecializedTyp"...
method_declaration (+172 nodes collapsed)
block_comment "/**\n * Factory method for constructing a {@link JavaType"...
method_declaration (+28 nodes collapsed)
block_comment "/**\n * Method that is to figure out actual type paramete"...
method_declaration (+74 nodes collapsed)
block_comment "/**\n * @deprecated Since 2.7 resolve raw type first, the"...
method_declaration (+60 nodes collapsed)
block_comment "/**\n * @deprecated Since 2.7 resolve raw type first, the"...
method_declaration (+54 nodes collapsed)
block_comment "/**\n * Method that can be called to figure out more spec"...
method_declaration (+129 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+27 nodes collapsed)
method_declaration (+31 nodes collapsed)
method_declaration (+43 nodes collapsed)
block_comment "/**\n * @deprecated Since 2.7 (accidentally removed in 2."...
method_declaration (+75 nodes collapsed)
block_comment "/**\n * @deprecated Since 2.7 (accidentally removed in 2."...
method_declaration (+64 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Method for constructing an {@link ArrayType}.\n "...
method_declaration (+42 nodes collapsed)
block_comment "/**\n * Method for constructing an {@link ArrayType}.\n "...
method_declaration (+27 nodes collapsed)
block_comment "/**\n * Method for constructing a {@link CollectionType}."...
method_declaration (+52 nodes collapsed)
block_comment "/**\n * Method for constructing a {@link CollectionType}."...
method_declaration (+54 nodes collapsed)
block_comment "/**\n * Method for constructing a {@link CollectionLikeTy"...
method_declaration (+50 nodes collapsed)
block_comment "/**\n * Method for constructing a {@link CollectionLikeTy"...
method_declaration (+82 nodes collapsed)
block_comment "/**\n * Method for constructing a {@link MapType} instanc"...
method_declaration (+121 nodes collapsed)
block_comment "/**\n * Method for constructing a {@link MapType} instanc"...
method_declaration (+67 nodes collapsed)
block_comment "/**\n * Method for constructing a {@link MapLikeType} ins"...
method_declaration (+71 nodes collapsed)
block_comment "/**\n * Method for constructing a {@link MapLikeType} ins"...
method_declaration (+101 nodes collapsed)
block_comment "/**\n * Method for constructing a type instance with spec"...
method_declaration (+50 nodes collapsed)
block_comment "/**\n * Method for constructing a type instance with spec"...
method_declaration (+52 nodes collapsed)
block_comment "/**\n * @since 2.6\n */"
method_declaration (+45 nodes collapsed)
block_comment "/**\n * Method that use by core Databind functionality, a"...
method_declaration (+40 nodes collapsed)
block_comment "/**\n * Factory method for constructing {@link JavaType} "...
method_declaration (+117 nodes collapsed)
block_comment "/**\n * Factory method for constructing {@link JavaType} "...
method_declaration (+48 nodes collapsed)
block_comment "/**\n * @since 2.5 -- but will probably deprecated in 2.7"...
method_declaration (+47 nodes collapsed)
block_comment "/**\n * @since 2.5 -- but will probably deprecated in 2.7"...
method_declaration (+53 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Method that can be used to construct \"raw\" Collec"...
method_declaration (+37 nodes collapsed)
block_comment "/**\n * Method that can be used to construct \"raw\" Collec"...
method_declaration (+35 nodes collapsed)
block_comment "/**\n * Method that can be used to construct \"raw\" Map ty"...
method_declaration (+43 nodes collapsed)
block_comment "/**\n * Method that can be used to construct \"raw\" Map-li"...
method_declaration (+41 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+216 nodes collapsed)
method_declaration (+168 nodes collapsed)
method_declaration (+168 nodes collapsed)
block_comment "/**\n * Factory method to call when no special {@link Jav"...
method_declaration (+94 nodes collapsed)
block_comment "/**\n * Factory method that is to create a new {@link Sim"...
method_declaration (+52 nodes collapsed)
method_declaration
modifiers
protected "protected"
type_identifier "JavaType"
identifier "_unknownType"
formal_parameters
( "("
) ")"
block
{ "{"
block_comment "/* 15-Sep-2015, tatu: Prior to 2.7, we constructed new insta"...
return_statement
return "return"
identifier "CORE_TYPE_OBJECT"
; ";"
} "}"
block_comment "/**\n * Helper method called to see if requested, non-gen"...
method_declaration (+109 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Factory method that can be used if type informati"...
method_declaration (+415 nodes collapsed)
block_comment "/**\n * @param bindings Mapping of formal parameter decla"...
method_declaration (+589 nodes collapsed)
method_declaration (+71 nodes collapsed)
method_declaration (+160 nodes collapsed)
block_comment "/**\n * Helper class used to check whether exact class fo"...
method_declaration (+164 nodes collapsed)
method_declaration (+122 nodes collapsed)
block_comment "/**\n * This method deals with parameterized types, that "...
method_declaration (+266 nodes collapsed)
method_declaration (+57 nodes collapsed)
method_declaration (+143 nodes collapsed)
method_declaration (+46 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
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 "AtomicReference"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "lang"
. "."
identifier "reflect"
. "."
asterisk
* "*"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "core"
. "."
identifier "type"
. "."
identifier "TypeReference"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "JavaType"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "util"
. "."
identifier "ArrayBuilders"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "util"
. "."
identifier "ClassUtil"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
identifier "util"
. "."
identifier "LRUMap"
; ";"
block_comment "/**\n * Class used for creating concrete {@link JavaType} ins"...
class_declaration
modifiers
annotation
@ "@"
identifier "SuppressWarnings"
annotation_argument_list
( "("
element_value_array_initializer
{ "{"
string_literal
" "\""
string_fragment "rawtypes"
" "\""
} "}"
) ")"
public "public"
final "final"
class "class"
identifier "TypeFactory"
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"
static "static"
final "final"
integral_type
long "long"
variable_declarator
identifier "serialVersionUID"
= "="
decimal_integer_literal "1L"
; ";"
field_declaration (+21 nodes collapsed)
block_comment "/**\n * Globally shared singleton. Not accessed directly;"...
field_declaration
modifiers
protected "protected"
final "final"
static "static"
type_identifier "TypeFactory"
variable_declarator
identifier "instance"
= "="
object_creation_expression
new "new"
type_identifier "TypeFactory"
argument_list
( "("
) ")"
; ";"
field_declaration
modifiers
protected "protected"
final "final"
static "static"
type_identifier "TypeBindings"
variable_declarator
identifier "EMPTY_BINDINGS"
= "="
method_invocation
identifier "TypeBindings"
. "."
identifier "emptyBindings"
argument_list
( "("
) ")"
; ";"
block_comment "/*\n /****************************************************"...
line_comment "// // // Let's assume that a small set of core primitive/bas"...
line_comment "// // // will not be modified, and can be freely shared to s"...
line_comment "// // // parts of processing"
field_declaration
modifiers
private "private"
final "final"
static "static"
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
variable_declarator
identifier "CLS_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 "CLS_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 "CLS_COMPARABLE"
= "="
class_literal
type_identifier "Comparable"
. "."
class "class"
; ";"
field_declaration
modifiers
private "private"
final "final"
static "static"
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
variable_declarator
identifier "CLS_CLASS"
= "="
class_literal
type_identifier "Class"
. "."
class "class"
; ";"
field_declaration
modifiers
private "private"
final "final"
static "static"
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
variable_declarator
identifier "CLS_ENUM"
= "="
class_literal
type_identifier "Enum"
. "."
class "class"
; ";"
field_declaration
modifiers
private "private"
final "final"
static "static"
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
variable_declarator
identifier "CLS_BOOL"
= "="
field_access
identifier "Boolean"
. "."
identifier "TYPE"
; ";"
field_declaration
modifiers
private "private"
final "final"
static "static"
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
variable_declarator
identifier "CLS_INT"
= "="
field_access
identifier "Integer"
. "."
identifier "TYPE"
; ";"
field_declaration
modifiers
private "private"
final "final"
static "static"
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
variable_declarator
identifier "CLS_LONG"
= "="
field_access
identifier "Long"
. "."
identifier "TYPE"
; ";"
block_comment "/*\n /****************************************************"...
line_comment "// note: these are primitive, hence no super types"
field_declaration
modifiers
protected "protected"
final "final"
static "static"
type_identifier "SimpleType"
variable_declarator
identifier "CORE_TYPE_BOOL"
= "="
object_creation_expression
new "new"
type_identifier "SimpleType"
argument_list
( "("
identifier "CLS_BOOL"
) ")"
; ";"
field_declaration
modifiers
protected "protected"
final "final"
static "static"
type_identifier "SimpleType"
variable_declarator
identifier "CORE_TYPE_INT"
= "="
object_creation_expression
new "new"
type_identifier "SimpleType"
argument_list
( "("
identifier "CLS_INT"
) ")"
; ";"
field_declaration
modifiers
protected "protected"
final "final"
static "static"
type_identifier "SimpleType"
variable_declarator
identifier "CORE_TYPE_LONG"
= "="
object_creation_expression
new "new"
type_identifier "SimpleType"
argument_list
( "("
identifier "CLS_LONG"
) ")"
; ";"
line_comment "// and as to String... well, for now, ignore its super types"
field_declaration
modifiers
protected "protected"
final "final"
static "static"
type_identifier "SimpleType"
variable_declarator
identifier "CORE_TYPE_STRING"
= "="
object_creation_expression
new "new"
type_identifier "SimpleType"
argument_list
( "("
identifier "CLS_STRING"
) ")"
; ";"
line_comment "// @since 2.7"
field_declaration
modifiers
protected "protected"
final "final"
static "static"
type_identifier "SimpleType"
variable_declarator
identifier "CORE_TYPE_OBJECT"
= "="
object_creation_expression
new "new"
type_identifier "SimpleType"
argument_list
( "("
identifier "CLS_OBJECT"
) ")"
; ";"
block_comment "/**\n * Cache {@link Comparable} because it is both param"...
field_declaration
modifiers
protected "protected"
final "final"
static "static"
type_identifier "SimpleType"
variable_declarator
identifier "CORE_TYPE_COMPARABLE"
= "="
object_creation_expression
new "new"
type_identifier "SimpleType"
argument_list
( "("
identifier "CLS_COMPARABLE"
) ")"
; ";"
block_comment "/**\n * Cache {@link Enum} because it is parametric AND s"...
field_declaration
modifiers
protected "protected"
final "final"
static "static"
type_identifier "SimpleType"
variable_declarator
identifier "CORE_TYPE_ENUM"
= "="
object_creation_expression
new "new"
type_identifier "SimpleType"
argument_list
( "("
identifier "CLS_ENUM"
) ")"
; ";"
block_comment "/**\n * Cache {@link Class} because it is nominally param"...
field_declaration
modifiers
protected "protected"
final "final"
static "static"
type_identifier "SimpleType"
variable_declarator
identifier "CORE_TYPE_CLASS"
= "="
object_creation_expression
new "new"
type_identifier "SimpleType"
argument_list
( "("
identifier "CLS_CLASS"
) ")"
; ";"
block_comment "/**\n * Since type resolution can be expensive (specifica"...
field_declaration
modifiers
protected "protected"
final "final"
generic_type
type_identifier "LRUMap"
type_arguments
< "<"
type_identifier "Object"
, ","
type_identifier "JavaType"
> ">"
variable_declarator
identifier "_typeCache"
; ";"
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Registered {@link TypeModifier}s: objects that ca"...
field_declaration
modifiers
protected "protected"
final "final"
array_type
type_identifier "TypeModifier"
dimensions
[ "["
] "]"
variable_declarator
identifier "_modifiers"
; ";"
field_declaration
modifiers
protected "protected"
final "final"
type_identifier "TypeParser"
variable_declarator
identifier "_parser"
; ";"
block_comment "/**\n * ClassLoader used by this factory [databind#624].\n"...
field_declaration
modifiers
protected "protected"
final "final"
type_identifier "ClassLoader"
variable_declarator
identifier "_classLoader"
; ";"
block_comment "/*\n /****************************************************"...
constructor_declaration
modifiers
private "private"
identifier "TypeFactory"
formal_parameters
( "("
) ")"
constructor_body
{ "{"
explicit_constructor_invocation
this "this"
argument_list
( "("
null_literal "null"
) ")"
; ";"
} "}"
block_comment "/**\n * @since 2.8\n */"
constructor_declaration (+83 nodes collapsed)
constructor_declaration (+101 nodes collapsed)
method_declaration (+127 nodes collapsed)
method_declaration (+30 nodes collapsed)
block_comment "/**\n * Mutant factory method that will construct new {@l"...
method_declaration (+37 nodes collapsed)
block_comment "/**\n * Method used to access the globally shared instanc"...
method_declaration
modifiers
public "public"
static "static"
type_identifier "TypeFactory"
identifier "defaultInstance"
formal_parameters
( "("
) ")"
block
{ "{"
return_statement
return "return"
identifier "instance"
; ";"
} "}"
block_comment "/**\n * Method that will clear up any cached type definit"...
method_declaration
modifiers
public "public"
void_type "void"
identifier "clearCache"
formal_parameters
( "("
) ")"
block
{ "{"
expression_statement
method_invocation
identifier "_typeCache"
. "."
identifier "clear"
argument_list
( "("
) ")"
; ";"
} "}"
method_declaration
modifiers
public "public"
type_identifier "ClassLoader"
identifier "getClassLoader"
formal_parameters
( "("
) ")"
block
{ "{"
return_statement
return "return"
identifier "_classLoader"
; ";"
} "}"
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Method for constructing a marker type that indica"...
method_declaration (+26 nodes collapsed)
block_comment "/**\n * Static helper method that can be called to figure"...
method_declaration (+75 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Low-level lookup method moved from {@link com.fas"...
method_declaration (+269 nodes collapsed)
method_declaration (+46 nodes collapsed)
method_declaration (+34 nodes collapsed)
method_declaration (+231 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Factory method for creating a subtype of given ba"...
method_declaration
modifiers
public "public"
type_identifier "JavaType"
identifier "constructSpecializedType"
formal_parameters
( "("
formal_parameter
type_identifier "JavaType"
identifier "baseType"
, ","
formal_parameter
generic_type
type_identifier "Class"
type_arguments
< "<"
wildcard
? "?"
> ">"
identifier "subclass"
) ")"
block
{ "{"
line_comment "// simple optimization to avoid costly introspection if type"...
local_variable_declaration (+21 nodes collapsed)
if_statement
if "if"
parenthesized_expression
( "("
binary_expression
identifier "rawBase"
== "=="
identifier "subclass"
) ")"
block
{ "{"
return_statement
return "return"
identifier "baseType"
; ";"
} "}"
local_variable_declaration
type_identifier "JavaType"
variable_declarator
identifier "newType"
; ";"
line_comment "// also: if we start from untyped, not much to save"
do_statement (+570 nodes collapsed)
line_comment "// 25-Sep-2016, tatu: As per [databind#1384] also need to en"...
line_comment "// copied as well"
expression_statement
assignment_expression
identifier "newType"
= "="
method_invocation
identifier "newType"
. "."
identifier "withHandlersFrom"
argument_list
( "("
identifier "baseType"
) ")"
; ";"
return_statement
return "return"
identifier "newType"
; ";"
line_comment "// 20-Oct-2015, tatu: Old simplistic approach"
block_comment "/*\n // Currently mostly SimpleType instances can beco"...
} "}"
method_declaration (+217 nodes collapsed)
block_comment "/**\n * Method similar to {@link #constructSpecializedTyp"...
method_declaration (+172 nodes collapsed)
block_comment "/**\n * Factory method for constructing a {@link JavaType"...
method_declaration (+28 nodes collapsed)
block_comment "/**\n * Method that is to figure out actual type paramete"...
method_declaration (+74 nodes collapsed)
block_comment "/**\n * @deprecated Since 2.7 resolve raw type first, the"...
method_declaration (+60 nodes collapsed)
block_comment "/**\n * @deprecated Since 2.7 resolve raw type first, the"...
method_declaration (+54 nodes collapsed)
block_comment "/**\n * Method that can be called to figure out more spec"...
method_declaration (+129 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+27 nodes collapsed)
method_declaration (+31 nodes collapsed)
method_declaration (+43 nodes collapsed)
block_comment "/**\n * @deprecated Since 2.7 (accidentally removed in 2."...
method_declaration (+75 nodes collapsed)
block_comment "/**\n * @deprecated Since 2.7 (accidentally removed in 2."...
method_declaration (+64 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Method for constructing an {@link ArrayType}.\n "...
method_declaration (+42 nodes collapsed)
block_comment "/**\n * Method for constructing an {@link ArrayType}.\n "...
method_declaration (+27 nodes collapsed)
block_comment "/**\n * Method for constructing a {@link CollectionType}."...
method_declaration (+52 nodes collapsed)
block_comment "/**\n * Method for constructing a {@link CollectionType}."...
method_declaration (+54 nodes collapsed)
block_comment "/**\n * Method for constructing a {@link CollectionLikeTy"...
method_declaration (+50 nodes collapsed)
block_comment "/**\n * Method for constructing a {@link CollectionLikeTy"...
method_declaration (+82 nodes collapsed)
block_comment "/**\n * Method for constructing a {@link MapType} instanc"...
method_declaration (+121 nodes collapsed)
block_comment "/**\n * Method for constructing a {@link MapType} instanc"...
method_declaration (+67 nodes collapsed)
block_comment "/**\n * Method for constructing a {@link MapLikeType} ins"...
method_declaration (+71 nodes collapsed)
block_comment "/**\n * Method for constructing a {@link MapLikeType} ins"...
method_declaration (+101 nodes collapsed)
block_comment "/**\n * Method for constructing a type instance with spec"...
method_declaration (+50 nodes collapsed)
block_comment "/**\n * Method for constructing a type instance with spec"...
method_declaration (+52 nodes collapsed)
block_comment "/**\n * @since 2.6\n */"
method_declaration (+45 nodes collapsed)
block_comment "/**\n * Method that use by core Databind functionality, a"...
method_declaration (+40 nodes collapsed)
block_comment "/**\n * Factory method for constructing {@link JavaType} "...
method_declaration (+117 nodes collapsed)
block_comment "/**\n * Factory method for constructing {@link JavaType} "...
method_declaration (+48 nodes collapsed)
block_comment "/**\n * @since 2.5 -- but will probably deprecated in 2.7"...
method_declaration (+47 nodes collapsed)
block_comment "/**\n * @since 2.5 -- but will probably deprecated in 2.7"...
method_declaration (+53 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Method that can be used to construct \"raw\" Collec"...
method_declaration (+37 nodes collapsed)
block_comment "/**\n * Method that can be used to construct \"raw\" Collec"...
method_declaration (+35 nodes collapsed)
block_comment "/**\n * Method that can be used to construct \"raw\" Map ty"...
method_declaration (+43 nodes collapsed)
block_comment "/**\n * Method that can be used to construct \"raw\" Map-li"...
method_declaration (+41 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+216 nodes collapsed)
method_declaration (+168 nodes collapsed)
method_declaration (+168 nodes collapsed)
block_comment "/**\n * Factory method to call when no special {@link Jav"...
method_declaration (+94 nodes collapsed)
block_comment "/**\n * Factory method that is to create a new {@link Sim"...
method_declaration (+52 nodes collapsed)
method_declaration
modifiers
protected "protected"
type_identifier "JavaType"
identifier "_unknownType"
formal_parameters
( "("
) ")"
block
{ "{"
block_comment "/* 15-Sep-2015, tatu: Prior to 2.7, we constructed new insta"...
return_statement
return "return"
identifier "CORE_TYPE_OBJECT"
; ";"
} "}"
block_comment "/**\n * Helper method called to see if requested, non-gen"...
method_declaration (+109 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Factory method that can be used if type informati"...
method_declaration (+415 nodes collapsed)
block_comment "/**\n * @param bindings Mapping of formal parameter decla"...
method_declaration (+589 nodes collapsed)
method_declaration (+71 nodes collapsed)
method_declaration (+160 nodes collapsed)
block_comment "/**\n * Helper class used to check whether exact class fo"...
method_declaration (+164 nodes collapsed)
method_declaration (+122 nodes collapsed)
block_comment "/**\n * This method deals with parameterized types, that "...
method_declaration (+266 nodes collapsed)
method_declaration (+57 nodes collapsed)
method_declaration (+143 nodes collapsed)
method_declaration (+46 nodes collapsed)
} "}"