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–787 unchanged (787 lines)
788 // creator property?
789 SettableBeanProperty creatorProp = creator.findCreatorProperty(propName);
790 if (creatorProp != null) {
791 // first: let's check to see if this might be part of value with external type id:
792 // 11-Sep-2015, tatu: Important; do NOT pass buffer as last arg, but null,
793 // since it is not the bean
794 if (ext.handlePropertyValue(p, ctxt, propName, buffer)) {
795 ;
796 } else {
797 // Last creator property to set?
798 if (buffer.assignParameter(creatorProp, _deserializeWithErrorWrapping(p, ctxt, creatorProp))) {
799 t = p.nextToken(); // to move to following FIELD_NAME/END_OBJECT
800 Object bean;
…lines 801–859 unchanged (59 lines)

After

…lines 1–787 unchanged (787 lines)
788 // creator property?
789 SettableBeanProperty creatorProp = creator.findCreatorProperty(propName);
790 if (creatorProp != null) {
791 // first: let's check to see if this might be part of value with external type id:
792 // 11-Sep-2015, tatu: Important; do NOT pass buffer as last arg, but null,
793 // since it is not the bean
794 if (ext.handlePropertyValue(p, ctxt, propName, null)) {
795 ;
796 } else {
797 // Last creator property to set?
798 if (buffer.assignParameter(creatorProp, _deserializeWithErrorWrapping(p, ctxt, creatorProp))) {
799 t = p.nextToken(); // to move to following FIELD_NAME/END_OBJECT
800 Object bean;
…lines 801–859 unchanged (59 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
identifier "java"
. "."
identifier "io"
. "."
identifier "IOException"
; ";"
import_declaration
import "import"
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
asterisk
* "*"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "core"
. "."
asterisk
* "*"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
asterisk
* "*"
; ";"
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 "util"
. "."
identifier "NameTransformer"
; ";"
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 "TokenBuffer"
; ";"
block_comment "/**\n * Deserializer class that can deserialize instances of\n"...
class_declaration
modifiers
public "public"
class "class"
identifier "BeanDeserializer"
superclass
extends "extends"
type_identifier "BeanDeserializerBase"
super_interfaces
implements "implements"
type_list
scoped_type_identifier
scoped_type_identifier
type_identifier "java"
. "."
type_identifier "io"
. "."
type_identifier "Serializable"
class_body
{ "{"
block_comment "/* TODOs for future versions:\n * \n * For 2.7?\n *"...
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
long "long"
variable_declarator
identifier "serialVersionUID"
= "="
decimal_integer_literal "1L"
; ";"
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Constructor used by {@link BeanDeserializerBuilde"...
constructor_declaration (+68 nodes collapsed)
block_comment "/**\n * Copy-constructor that can be used by sub-classes "...
constructor_declaration (+25 nodes collapsed)
constructor_declaration (+26 nodes collapsed)
constructor_declaration (+26 nodes collapsed)
constructor_declaration (+26 nodes collapsed)
constructor_declaration (+31 nodes collapsed)
method_declaration (+59 nodes collapsed)
method_declaration (+29 nodes collapsed)
method_declaration (+34 nodes collapsed)
method_declaration (+43 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Main deserialization method for bean-based object"...
method_declaration (+137 nodes collapsed)
method_declaration (+224 nodes collapsed)
method_declaration (+36 nodes collapsed)
block_comment "/**\n * Secondary deserialization method, called in cases"...
method_declaration (+385 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Streamlined version that is only used when no \"sp"...
method_declaration (+212 nodes collapsed)
block_comment "/**\n * General version used when handling needs more adv"...
method_declaration (+508 nodes collapsed)
block_comment "/**\n * Method called to deserialize bean using \"property"...
method_declaration (+743 nodes collapsed)
method_declaration (+86 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+225 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Method called when there are declared \"unwrapped\""...
method_declaration (+507 nodes collapsed)
method_declaration (+399 nodes collapsed)
method_declaration (+673 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+64 nodes collapsed)
method_declaration (+430 nodes collapsed)
method_declaration
modifiers
annotation
@ "@"
identifier "SuppressWarnings"
annotation_argument_list
( "("
string_literal
" "\""
string_fragment "resource"
" "\""
) ")"
protected "protected"
type_identifier "Object"
identifier "deserializeUsingPropertyBasedWithExternalTypeId"
formal_parameters
( "("
formal_parameter
type_identifier "JsonParser"
identifier "p"
, ","
formal_parameter
type_identifier "DeserializationContext"
identifier "ctxt"
) ")"
throws
throws "throws"
type_identifier "IOException"
block
{ "{"
local_variable_declaration
modifiers
final "final"
type_identifier "ExternalTypeHandler"
variable_declarator
identifier "ext"
= "="
method_invocation
identifier "_externalTypeIdHandler"
. "."
identifier "start"
argument_list
( "("
) ")"
; ";"
local_variable_declaration
modifiers
final "final"
type_identifier "PropertyBasedCreator"
variable_declarator
identifier "creator"
= "="
identifier "_propertyBasedCreator"
; ";"
local_variable_declaration
type_identifier "PropertyValueBuffer"
variable_declarator
identifier "buffer"
= "="
method_invocation
identifier "creator"
. "."
identifier "startBuilding"
argument_list
( "("
identifier "p"
, ","
identifier "ctxt"
, ","
identifier "_objectIdReader"
) ")"
; ";"
local_variable_declaration
type_identifier "TokenBuffer"
variable_declarator
identifier "tokens"
= "="
object_creation_expression
new "new"
type_identifier "TokenBuffer"
argument_list
( "("
identifier "p"
) ")"
; ";"
expression_statement
method_invocation
identifier "tokens"
. "."
identifier "writeStartObject"
argument_list
( "("
) ")"
; ";"
local_variable_declaration
type_identifier "JsonToken"
variable_declarator
identifier "t"
= "="
method_invocation
identifier "p"
. "."
identifier "getCurrentToken"
argument_list
( "("
) ")"
; ";"
for_statement
for "for"
( "("
; ";"
binary_expression
identifier "t"
== "=="
field_access
identifier "JsonToken"
. "."
identifier "FIELD_NAME"
; ";"
assignment_expression
identifier "t"
= "="
method_invocation
identifier "p"
. "."
identifier "nextToken"
argument_list
( "("
) ")"
) ")"
block
{ "{"
local_variable_declaration
type_identifier "String"
variable_declarator
identifier "propName"
= "="
method_invocation
identifier "p"
. "."
identifier "getCurrentName"
argument_list
( "("
) ")"
; ";"
expression_statement
method_invocation
identifier "p"
. "."
identifier "nextToken"
argument_list
( "("
) ")"
; ";"
line_comment "// to point to value"
line_comment "// creator property?"
local_variable_declaration
type_identifier "SettableBeanProperty"
variable_declarator
identifier "creatorProp"
= "="
method_invocation
identifier "creator"
. "."
identifier "findCreatorProperty"
argument_list
( "("
identifier "propName"
) ")"
; ";"
if_statement
if "if"
parenthesized_expression
( "("
binary_expression
identifier "creatorProp"
!= "!="
null_literal "null"
) ")"
block
{ "{"
line_comment "// first: let's check to see if this might be part of value "...
line_comment "// 11-Sep-2015, tatu: Important; do NOT pass buffer as last "...
line_comment "// since it is not the bean"
if_statement
if "if"
parenthesized_expression
( "("
method_invocation
identifier "ext"
. "."
identifier "handlePropertyValue"
argument_list
( "("
identifier "p"
, ","
identifier "ctxt"
, ","
identifier "propName"
, ","
identifier "buffer"
) ")"
) ")"
block
{ "{"
; ";"
} "}"
else "else"
block (+207 nodes collapsed)
continue_statement
continue "continue"
; ";"
} "}"
line_comment "// Object Id property?"
if_statement
if "if"
parenthesized_expression
( "("
method_invocation
identifier "buffer"
. "."
identifier "readIdProperty"
argument_list
( "("
identifier "propName"
) ")"
) ")"
block
{ "{"
continue_statement
continue "continue"
; ";"
} "}"
line_comment "// regular property? needs buffering"
local_variable_declaration
type_identifier "SettableBeanProperty"
variable_declarator
identifier "prop"
= "="
method_invocation
identifier "_beanProperties"
. "."
identifier "find"
argument_list
( "("
identifier "propName"
) ")"
; ";"
if_statement (+36 nodes collapsed)
line_comment "// external type id (or property that depends on it)?"
if_statement (+25 nodes collapsed)
block_comment "/* As per [JACKSON-313], things marked as ignorable should n"...
if_statement (+43 nodes collapsed)
line_comment "// \"any property\"?"
if_statement (+35 nodes collapsed)
} "}"
line_comment "// We hit END_OBJECT; resolve the pieces:"
try_statement (+48 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
identifier "java"
. "."
identifier "io"
. "."
identifier "IOException"
; ";"
import_declaration
import "import"
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
asterisk
* "*"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "core"
. "."
asterisk
* "*"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "fasterxml"
. "."
identifier "jackson"
. "."
identifier "databind"
. "."
asterisk
* "*"
; ";"
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 "util"
. "."
identifier "NameTransformer"
; ";"
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 "TokenBuffer"
; ";"
block_comment "/**\n * Deserializer class that can deserialize instances of\n"...
class_declaration
modifiers
public "public"
class "class"
identifier "BeanDeserializer"
superclass
extends "extends"
type_identifier "BeanDeserializerBase"
super_interfaces
implements "implements"
type_list
scoped_type_identifier
scoped_type_identifier
type_identifier "java"
. "."
type_identifier "io"
. "."
type_identifier "Serializable"
class_body
{ "{"
block_comment "/* TODOs for future versions:\n * \n * For 2.7?\n *"...
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
long "long"
variable_declarator
identifier "serialVersionUID"
= "="
decimal_integer_literal "1L"
; ";"
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Constructor used by {@link BeanDeserializerBuilde"...
constructor_declaration (+68 nodes collapsed)
block_comment "/**\n * Copy-constructor that can be used by sub-classes "...
constructor_declaration (+25 nodes collapsed)
constructor_declaration (+26 nodes collapsed)
constructor_declaration (+26 nodes collapsed)
constructor_declaration (+26 nodes collapsed)
constructor_declaration (+31 nodes collapsed)
method_declaration (+59 nodes collapsed)
method_declaration (+29 nodes collapsed)
method_declaration (+34 nodes collapsed)
method_declaration (+43 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Main deserialization method for bean-based object"...
method_declaration (+137 nodes collapsed)
method_declaration (+224 nodes collapsed)
method_declaration (+36 nodes collapsed)
block_comment "/**\n * Secondary deserialization method, called in cases"...
method_declaration (+385 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Streamlined version that is only used when no \"sp"...
method_declaration (+212 nodes collapsed)
block_comment "/**\n * General version used when handling needs more adv"...
method_declaration (+508 nodes collapsed)
block_comment "/**\n * Method called to deserialize bean using \"property"...
method_declaration (+743 nodes collapsed)
method_declaration (+86 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+225 nodes collapsed)
block_comment "/*\n /****************************************************"...
block_comment "/**\n * Method called when there are declared \"unwrapped\""...
method_declaration (+507 nodes collapsed)
method_declaration (+399 nodes collapsed)
method_declaration (+673 nodes collapsed)
block_comment "/*\n /****************************************************"...
method_declaration (+64 nodes collapsed)
method_declaration (+430 nodes collapsed)
method_declaration
modifiers
annotation
@ "@"
identifier "SuppressWarnings"
annotation_argument_list
( "("
string_literal
" "\""
string_fragment "resource"
" "\""
) ")"
protected "protected"
type_identifier "Object"
identifier "deserializeUsingPropertyBasedWithExternalTypeId"
formal_parameters
( "("
formal_parameter
type_identifier "JsonParser"
identifier "p"
, ","
formal_parameter
type_identifier "DeserializationContext"
identifier "ctxt"
) ")"
throws
throws "throws"
type_identifier "IOException"
block
{ "{"
local_variable_declaration
modifiers
final "final"
type_identifier "ExternalTypeHandler"
variable_declarator
identifier "ext"
= "="
method_invocation
identifier "_externalTypeIdHandler"
. "."
identifier "start"
argument_list
( "("
) ")"
; ";"
local_variable_declaration
modifiers
final "final"
type_identifier "PropertyBasedCreator"
variable_declarator
identifier "creator"
= "="
identifier "_propertyBasedCreator"
; ";"
local_variable_declaration
type_identifier "PropertyValueBuffer"
variable_declarator
identifier "buffer"
= "="
method_invocation
identifier "creator"
. "."
identifier "startBuilding"
argument_list
( "("
identifier "p"
, ","
identifier "ctxt"
, ","
identifier "_objectIdReader"
) ")"
; ";"
local_variable_declaration
type_identifier "TokenBuffer"
variable_declarator
identifier "tokens"
= "="
object_creation_expression
new "new"
type_identifier "TokenBuffer"
argument_list
( "("
identifier "p"
) ")"
; ";"
expression_statement
method_invocation
identifier "tokens"
. "."
identifier "writeStartObject"
argument_list
( "("
) ")"
; ";"
local_variable_declaration
type_identifier "JsonToken"
variable_declarator
identifier "t"
= "="
method_invocation
identifier "p"
. "."
identifier "getCurrentToken"
argument_list
( "("
) ")"
; ";"
for_statement
for "for"
( "("
; ";"
binary_expression
identifier "t"
== "=="
field_access
identifier "JsonToken"
. "."
identifier "FIELD_NAME"
; ";"
assignment_expression
identifier "t"
= "="
method_invocation
identifier "p"
. "."
identifier "nextToken"
argument_list
( "("
) ")"
) ")"
block
{ "{"
local_variable_declaration
type_identifier "String"
variable_declarator
identifier "propName"
= "="
method_invocation
identifier "p"
. "."
identifier "getCurrentName"
argument_list
( "("
) ")"
; ";"
expression_statement
method_invocation
identifier "p"
. "."
identifier "nextToken"
argument_list
( "("
) ")"
; ";"
line_comment "// to point to value"
line_comment "// creator property?"
local_variable_declaration
type_identifier "SettableBeanProperty"
variable_declarator
identifier "creatorProp"
= "="
method_invocation
identifier "creator"
. "."
identifier "findCreatorProperty"
argument_list
( "("
identifier "propName"
) ")"
; ";"
if_statement
if "if"
parenthesized_expression
( "("
binary_expression
identifier "creatorProp"
!= "!="
null_literal "null"
) ")"
block
{ "{"
line_comment "// first: let's check to see if this might be part of value "...
line_comment "// 11-Sep-2015, tatu: Important; do NOT pass buffer as last "...
line_comment "// since it is not the bean"
if_statement
if "if"
parenthesized_expression
( "("
method_invocation
identifier "ext"
. "."
identifier "handlePropertyValue"
argument_list
( "("
identifier "p"
, ","
identifier "ctxt"
, ","
identifier "propName"
, ","
null_literal "null"
) ")"
) ")"
block
{ "{"
; ";"
} "}"
else "else"
block (+207 nodes collapsed)
continue_statement
continue "continue"
; ";"
} "}"
line_comment "// Object Id property?"
if_statement
if "if"
parenthesized_expression
( "("
method_invocation
identifier "buffer"
. "."
identifier "readIdProperty"
argument_list
( "("
identifier "propName"
) ")"
) ")"
block
{ "{"
continue_statement
continue "continue"
; ";"
} "}"
line_comment "// regular property? needs buffering"
local_variable_declaration
type_identifier "SettableBeanProperty"
variable_declarator
identifier "prop"
= "="
method_invocation
identifier "_beanProperties"
. "."
identifier "find"
argument_list
( "("
identifier "propName"
) ")"
; ";"
if_statement (+36 nodes collapsed)
line_comment "// external type id (or property that depends on it)?"
if_statement (+25 nodes collapsed)
block_comment "/* As per [JACKSON-313], things marked as ignorable should n"...
if_statement (+43 nodes collapsed)
line_comment "// \"any property\"?"
if_statement (+35 nodes collapsed)
} "}"
line_comment "// We hit END_OBJECT; resolve the pieces:"
try_statement (+48 nodes collapsed)
} "}"
} "}"