This mapping has 1 multi-map group: several pairings are equally correct there. The code view shows one arbitrary valid pairing, not the only one.

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–724 unchanged (724 lines)
725 last = NUMBER_CHAR_EXP_DIGIT;
726 }
727 }
728 }
729
730 // We've read a complete number. Decide if it's a PEEKED_LONG or a PEEKED_NUMBER.
731 if (last == NUMBER_CHAR_DIGIT && fitsInLong && (value != Long.MIN_VALUE || negative)) {
732 peekedLong = negative ? value : -value;
733 pos += i;
734 return peeked = PEEKED_LONG;
735 } else if (last == NUMBER_CHAR_DIGIT || last == NUMBER_CHAR_FRACTION_DIGIT
736 || last == NUMBER_CHAR_EXP_DIGIT) {
737 peekedNumberLength = i;
…lines 738–1623 unchanged (886 lines)

After

…lines 1–724 unchanged (724 lines)
725 last = NUMBER_CHAR_EXP_DIGIT;
726 }
727 }
728 }
729
730 // We've read a complete number. Decide if it's a PEEKED_LONG or a PEEKED_NUMBER.
731 if (last == NUMBER_CHAR_DIGIT && fitsInLong && (value != Long.MIN_VALUE || negative) && (value!=0 || false==negative)) {
732 peekedLong = negative ? value : -value;
733 pos += i;
734 return peeked = PEEKED_LONG;
735 } else if (last == NUMBER_CHAR_DIGIT || last == NUMBER_CHAR_FRACTION_DIGIT
736 || last == NUMBER_CHAR_EXP_DIGIT) {
737 peekedNumberLength = i;
…lines 738–1623 unchanged (886 lines)

Before

program
block_comment "/*\n * Copyright (C) 2010 Google Inc.\n *\n * Licensed under th"...
package_declaration
package "package"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "google"
. "."
identifier "gson"
. "."
identifier "stream"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "google"
. "."
identifier "gson"
. "."
identifier "internal"
. "."
identifier "JsonReaderInternalAccess"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "google"
. "."
identifier "gson"
. "."
identifier "internal"
. "."
identifier "bind"
. "."
identifier "JsonTreeReader"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "io"
. "."
identifier "Closeable"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "io"
. "."
identifier "EOFException"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "io"
. "."
identifier "IOException"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "io"
. "."
identifier "Reader"
; ";"
block_comment "/**\n * Reads a JSON (<a href=\"http://www.ietf.org/rfc/rfc715"...
class_declaration
modifiers
public "public"
class "class"
identifier "JsonReader"
super_interfaces
implements "implements"
type_list
type_identifier "Closeable"
class_body
{ "{"
block_comment "/** The only non-execute prefix this parser permits */"
field_declaration (+26 nodes collapsed)
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
long "long"
variable_declarator
identifier "MIN_INCOMPLETE_INTEGER"
= "="
binary_expression
field_access
identifier "Long"
. "."
identifier "MIN_VALUE"
/ "/"
decimal_integer_literal "10"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_NONE"
= "="
decimal_integer_literal "0"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_BEGIN_OBJECT"
= "="
decimal_integer_literal "1"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_END_OBJECT"
= "="
decimal_integer_literal "2"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_BEGIN_ARRAY"
= "="
decimal_integer_literal "3"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_END_ARRAY"
= "="
decimal_integer_literal "4"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_TRUE"
= "="
decimal_integer_literal "5"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_FALSE"
= "="
decimal_integer_literal "6"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_NULL"
= "="
decimal_integer_literal "7"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_SINGLE_QUOTED"
= "="
decimal_integer_literal "8"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_DOUBLE_QUOTED"
= "="
decimal_integer_literal "9"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_UNQUOTED"
= "="
decimal_integer_literal "10"
; ";"
block_comment "/** When this is returned, the string value is stored in pee"...
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_BUFFERED"
= "="
decimal_integer_literal "11"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_SINGLE_QUOTED_NAME"
= "="
decimal_integer_literal "12"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_DOUBLE_QUOTED_NAME"
= "="
decimal_integer_literal "13"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_UNQUOTED_NAME"
= "="
decimal_integer_literal "14"
; ";"
block_comment "/** When this is returned, the integer value is stored in pe"...
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_LONG"
= "="
decimal_integer_literal "15"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_NUMBER"
= "="
decimal_integer_literal "16"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_EOF"
= "="
decimal_integer_literal "17"
; ";"
block_comment "/* State machine when parsing numbers */"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "NUMBER_CHAR_NONE"
= "="
decimal_integer_literal "0"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "NUMBER_CHAR_SIGN"
= "="
decimal_integer_literal "1"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "NUMBER_CHAR_DIGIT"
= "="
decimal_integer_literal "2"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "NUMBER_CHAR_DECIMAL"
= "="
decimal_integer_literal "3"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "NUMBER_CHAR_FRACTION_DIGIT"
= "="
decimal_integer_literal "4"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "NUMBER_CHAR_EXP_E"
= "="
decimal_integer_literal "5"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "NUMBER_CHAR_EXP_SIGN"
= "="
decimal_integer_literal "6"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "NUMBER_CHAR_EXP_DIGIT"
= "="
decimal_integer_literal "7"
; ";"
block_comment "/** The input JSON. */"
field_declaration
modifiers
private "private"
final "final"
type_identifier "Reader"
variable_declarator
identifier "in"
; ";"
block_comment "/** True to accept non-spec compliant JSON */"
field_declaration
modifiers
private "private"
boolean_type "boolean"
variable_declarator
identifier "lenient"
= "="
false "false"
; ";"
block_comment "/**\n * Use a manual buffer to easily read and unread upcom"...
field_declaration (+22 nodes collapsed)
field_declaration
modifiers
private "private"
integral_type
int "int"
variable_declarator
identifier "pos"
= "="
decimal_integer_literal "0"
; ";"
field_declaration
modifiers
private "private"
integral_type
int "int"
variable_declarator
identifier "limit"
= "="
decimal_integer_literal "0"
; ";"
field_declaration
modifiers
private "private"
integral_type
int "int"
variable_declarator
identifier "lineNumber"
= "="
decimal_integer_literal "0"
; ";"
field_declaration
modifiers
private "private"
integral_type
int "int"
variable_declarator
identifier "lineStart"
= "="
decimal_integer_literal "0"
; ";"
field_declaration
integral_type
int "int"
variable_declarator
identifier "peeked"
= "="
identifier "PEEKED_NONE"
; ";"
block_comment "/**\n * A peeked value that was composed entirely of digits"...
field_declaration
modifiers
private "private"
integral_type
long "long"
variable_declarator
identifier "peekedLong"
; ";"
block_comment "/**\n * The number of characters in a peeked number literal"...
field_declaration
modifiers
private "private"
integral_type
int "int"
variable_declarator
identifier "peekedNumberLength"
; ";"
block_comment "/**\n * A peeked string that should be parsed on the next d"...
field_declaration
modifiers
private "private"
type_identifier "String"
variable_declarator
identifier "peekedString"
; ";"
block_comment "/*\n * The nesting stack. Using a manual array rather than "...
field_declaration (+21 nodes collapsed)
field_declaration
modifiers
private "private"
integral_type
int "int"
variable_declarator
identifier "stackSize"
= "="
decimal_integer_literal "0"
; ";"
block
{ "{"
expression_statement
assignment_expression
array_access
identifier "stack"
[ "["
update_expression
identifier "stackSize"
++ "++"
] "]"
= "="
field_access
identifier "JsonScope"
. "."
identifier "EMPTY_DOCUMENT"
; ";"
} "}"
block_comment "/*\n * The path members. It corresponds directly to stack: "...
field_declaration
modifiers
private "private"
array_type
type_identifier "String"
dimensions
[ "["
] "]"
variable_declarator
identifier "pathNames"
= "="
array_creation_expression
new "new"
type_identifier "String"
dimensions_expr
[ "["
decimal_integer_literal "32"
] "]"
; ";"
field_declaration (+21 nodes collapsed)
block_comment "/**\n * Creates a new instance that reads a JSON-encoded st"...
constructor_declaration (+47 nodes collapsed)
block_comment "/**\n * Configure this parser to be liberal in what it acce"...
method_declaration (+24 nodes collapsed)
block_comment "/**\n * Returns true if this parser is liberal in what it a"...
method_declaration
modifiers
public "public"
final "final"
boolean_type "boolean"
identifier "isLenient"
formal_parameters
( "("
) ")"
block
{ "{"
return_statement
return "return"
identifier "lenient"
; ";"
} "}"
block_comment "/**\n * Consumes the next token from the JSON stream and as"...
method_declaration (+117 nodes collapsed)
block_comment "/**\n * Consumes the next token from the JSON stream and as"...
method_declaration (+110 nodes collapsed)
block_comment "/**\n * Consumes the next token from the JSON stream and as"...
method_declaration (+104 nodes collapsed)
block_comment "/**\n * Consumes the next token from the JSON stream and as"...
method_declaration (+121 nodes collapsed)
block_comment "/**\n * Returns true if the current array or object has ano"...
method_declaration (+57 nodes collapsed)
block_comment "/**\n * Returns the type of the next token without consumin"...
method_declaration (+221 nodes collapsed)
method_declaration (+990 nodes collapsed)
method_declaration (+362 nodes collapsed)
method_declaration
modifiers
private "private"
integral_type
int "int"
identifier "peekNumber"
formal_parameters
( "("
) ")"
throws
throws "throws"
type_identifier "IOException"
block
{ "{"
line_comment "// Like nextNonWhitespace, this uses locals 'p' and 'l' to s"...
local_variable_declaration
array_type
integral_type
char "char"
dimensions
[ "["
] "]"
variable_declarator
identifier "buffer"
= "="
field_access
this "this"
. "."
identifier "buffer"
; ";"
local_variable_declaration
integral_type
int "int"
variable_declarator
identifier "p"
= "="
identifier "pos"
; ";"
local_variable_declaration
integral_type
int "int"
variable_declarator
identifier "l"
= "="
identifier "limit"
; ";"
local_variable_declaration
integral_type
long "long"
variable_declarator
identifier "value"
= "="
decimal_integer_literal "0"
; ";"
line_comment "// Negative to accommodate Long.MIN_VALUE more easily."
local_variable_declaration
boolean_type "boolean"
variable_declarator
identifier "negative"
= "="
false "false"
; ";"
local_variable_declaration
boolean_type "boolean"
variable_declarator
identifier "fitsInLong"
= "="
true "true"
; ";"
local_variable_declaration
integral_type
int "int"
variable_declarator
identifier "last"
= "="
identifier "NUMBER_CHAR_NONE"
; ";"
local_variable_declaration
integral_type
int "int"
variable_declarator
identifier "i"
= "="
decimal_integer_literal "0"
; ";"
labeled_statement (+477 nodes collapsed)
line_comment "// We've read a complete number. Decide if it's a PEEKED_LON"...
if_statement
if "if"
parenthesized_expression
( "("
binary_expression any 3:4
binary_expression any 3:4
binary_expression any 3:4
identifier "last"
== "=="
identifier "NUMBER_CHAR_DIGIT"
&& "&&"
identifier "fitsInLong"
&& "&&"
parenthesized_expression
( "("
binary_expression
binary_expression
identifier "value"
!= "!="
field_access
identifier "Long"
. "."
identifier "MIN_VALUE"
|| "||"
identifier "negative"
) ")"
) ")"
block (+29 nodes collapsed)
else "else"
if_statement (+45 nodes collapsed)
} "}"
method_declaration (+127 nodes collapsed)
block_comment "/**\n * Returns the next token, a {@link com.google.gson.st"...
method_declaration (+173 nodes collapsed)
block_comment "/**\n * Returns the {@link com.google.gson.stream.JsonToken"...
method_declaration (+258 nodes collapsed)
block_comment "/**\n * Returns the {@link com.google.gson.stream.JsonToken"...
method_declaration (+140 nodes collapsed)
block_comment "/**\n * Consumes the next token from the JSON stream and as"...
method_declaration (+105 nodes collapsed)
block_comment "/**\n * Returns the {@link com.google.gson.stream.JsonToken"...
method_declaration (+326 nodes collapsed)
block_comment "/**\n * Returns the {@link com.google.gson.stream.JsonToken"...
method_declaration (+367 nodes collapsed)
block_comment "/**\n * Returns the string up to but not including {@code q"...
method_declaration (+441 nodes collapsed)
block_comment "/**\n * Returns an unquoted value as a string.\n */"
method_declaration (+363 nodes collapsed)
method_declaration (+194 nodes collapsed)
method_declaration (+176 nodes collapsed)
block_comment "/**\n * Returns the {@link com.google.gson.stream.JsonToken"...
method_declaration (+416 nodes collapsed)
block_comment "/**\n * Closes this JSON reader and the underlying {@link j"...
method_declaration (+48 nodes collapsed)
block_comment "/**\n * Skips the next value recursively. If it is an objec"...
method_declaration (+302 nodes collapsed)
method_declaration (+178 nodes collapsed)
block_comment "/**\n * Returns true once {@code limit - pos >= minimum}. I"...
method_declaration (+210 nodes collapsed)
block_comment "/**\n * Returns the next character in the stream that is ne"...
method_declaration (+473 nodes collapsed)
method_declaration (+37 nodes collapsed)
block_comment "/**\n * Advances the position until after the next newline "...
method_declaration (+90 nodes collapsed)
block_comment "/**\n * @param toFind a string to search for. Must not cont"...
method_declaration (+159 nodes collapsed)
method_declaration (+35 nodes collapsed)
method_declaration (+68 nodes collapsed)
block_comment "/**\n * Returns a <a href=\"http://goessner.net/articles/Jso"...
method_declaration (+222 nodes collapsed)
block_comment "/**\n * Unescapes the character identified by the character"...
method_declaration (+414 nodes collapsed)
block_comment "/**\n * Throws a new IO exception with the given message an"...
method_declaration (+34 nodes collapsed)
block_comment "/**\n * Consumes the non-execute prefix if it exists.\n */"
method_declaration (+125 nodes collapsed)
static_initializer (+208 nodes collapsed)
} "}"

After

program
block_comment "/*\n * Copyright (C) 2010 Google Inc.\n *\n * Licensed under th"...
package_declaration
package "package"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "google"
. "."
identifier "gson"
. "."
identifier "stream"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "google"
. "."
identifier "gson"
. "."
identifier "internal"
. "."
identifier "JsonReaderInternalAccess"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "google"
. "."
identifier "gson"
. "."
identifier "internal"
. "."
identifier "bind"
. "."
identifier "JsonTreeReader"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "io"
. "."
identifier "Closeable"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "io"
. "."
identifier "EOFException"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "io"
. "."
identifier "IOException"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "io"
. "."
identifier "Reader"
; ";"
block_comment "/**\n * Reads a JSON (<a href=\"http://www.ietf.org/rfc/rfc715"...
class_declaration
modifiers
public "public"
class "class"
identifier "JsonReader"
super_interfaces
implements "implements"
type_list
type_identifier "Closeable"
class_body
{ "{"
block_comment "/** The only non-execute prefix this parser permits */"
field_declaration (+26 nodes collapsed)
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
long "long"
variable_declarator
identifier "MIN_INCOMPLETE_INTEGER"
= "="
binary_expression
field_access
identifier "Long"
. "."
identifier "MIN_VALUE"
/ "/"
decimal_integer_literal "10"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_NONE"
= "="
decimal_integer_literal "0"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_BEGIN_OBJECT"
= "="
decimal_integer_literal "1"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_END_OBJECT"
= "="
decimal_integer_literal "2"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_BEGIN_ARRAY"
= "="
decimal_integer_literal "3"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_END_ARRAY"
= "="
decimal_integer_literal "4"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_TRUE"
= "="
decimal_integer_literal "5"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_FALSE"
= "="
decimal_integer_literal "6"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_NULL"
= "="
decimal_integer_literal "7"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_SINGLE_QUOTED"
= "="
decimal_integer_literal "8"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_DOUBLE_QUOTED"
= "="
decimal_integer_literal "9"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_UNQUOTED"
= "="
decimal_integer_literal "10"
; ";"
block_comment "/** When this is returned, the string value is stored in pee"...
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_BUFFERED"
= "="
decimal_integer_literal "11"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_SINGLE_QUOTED_NAME"
= "="
decimal_integer_literal "12"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_DOUBLE_QUOTED_NAME"
= "="
decimal_integer_literal "13"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_UNQUOTED_NAME"
= "="
decimal_integer_literal "14"
; ";"
block_comment "/** When this is returned, the integer value is stored in pe"...
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_LONG"
= "="
decimal_integer_literal "15"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_NUMBER"
= "="
decimal_integer_literal "16"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "PEEKED_EOF"
= "="
decimal_integer_literal "17"
; ";"
block_comment "/* State machine when parsing numbers */"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "NUMBER_CHAR_NONE"
= "="
decimal_integer_literal "0"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "NUMBER_CHAR_SIGN"
= "="
decimal_integer_literal "1"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "NUMBER_CHAR_DIGIT"
= "="
decimal_integer_literal "2"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "NUMBER_CHAR_DECIMAL"
= "="
decimal_integer_literal "3"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "NUMBER_CHAR_FRACTION_DIGIT"
= "="
decimal_integer_literal "4"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "NUMBER_CHAR_EXP_E"
= "="
decimal_integer_literal "5"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "NUMBER_CHAR_EXP_SIGN"
= "="
decimal_integer_literal "6"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "NUMBER_CHAR_EXP_DIGIT"
= "="
decimal_integer_literal "7"
; ";"
block_comment "/** The input JSON. */"
field_declaration
modifiers
private "private"
final "final"
type_identifier "Reader"
variable_declarator
identifier "in"
; ";"
block_comment "/** True to accept non-spec compliant JSON */"
field_declaration
modifiers
private "private"
boolean_type "boolean"
variable_declarator
identifier "lenient"
= "="
false "false"
; ";"
block_comment "/**\n * Use a manual buffer to easily read and unread upcom"...
field_declaration (+22 nodes collapsed)
field_declaration
modifiers
private "private"
integral_type
int "int"
variable_declarator
identifier "pos"
= "="
decimal_integer_literal "0"
; ";"
field_declaration
modifiers
private "private"
integral_type
int "int"
variable_declarator
identifier "limit"
= "="
decimal_integer_literal "0"
; ";"
field_declaration
modifiers
private "private"
integral_type
int "int"
variable_declarator
identifier "lineNumber"
= "="
decimal_integer_literal "0"
; ";"
field_declaration
modifiers
private "private"
integral_type
int "int"
variable_declarator
identifier "lineStart"
= "="
decimal_integer_literal "0"
; ";"
field_declaration
integral_type
int "int"
variable_declarator
identifier "peeked"
= "="
identifier "PEEKED_NONE"
; ";"
block_comment "/**\n * A peeked value that was composed entirely of digits"...
field_declaration
modifiers
private "private"
integral_type
long "long"
variable_declarator
identifier "peekedLong"
; ";"
block_comment "/**\n * The number of characters in a peeked number literal"...
field_declaration
modifiers
private "private"
integral_type
int "int"
variable_declarator
identifier "peekedNumberLength"
; ";"
block_comment "/**\n * A peeked string that should be parsed on the next d"...
field_declaration
modifiers
private "private"
type_identifier "String"
variable_declarator
identifier "peekedString"
; ";"
block_comment "/*\n * The nesting stack. Using a manual array rather than "...
field_declaration (+21 nodes collapsed)
field_declaration
modifiers
private "private"
integral_type
int "int"
variable_declarator
identifier "stackSize"
= "="
decimal_integer_literal "0"
; ";"
block
{ "{"
expression_statement
assignment_expression
array_access
identifier "stack"
[ "["
update_expression
identifier "stackSize"
++ "++"
] "]"
= "="
field_access
identifier "JsonScope"
. "."
identifier "EMPTY_DOCUMENT"
; ";"
} "}"
block_comment "/*\n * The path members. It corresponds directly to stack: "...
field_declaration
modifiers
private "private"
array_type
type_identifier "String"
dimensions
[ "["
] "]"
variable_declarator
identifier "pathNames"
= "="
array_creation_expression
new "new"
type_identifier "String"
dimensions_expr
[ "["
decimal_integer_literal "32"
] "]"
; ";"
field_declaration (+21 nodes collapsed)
block_comment "/**\n * Creates a new instance that reads a JSON-encoded st"...
constructor_declaration (+47 nodes collapsed)
block_comment "/**\n * Configure this parser to be liberal in what it acce"...
method_declaration (+24 nodes collapsed)
block_comment "/**\n * Returns true if this parser is liberal in what it a"...
method_declaration
modifiers
public "public"
final "final"
boolean_type "boolean"
identifier "isLenient"
formal_parameters
( "("
) ")"
block
{ "{"
return_statement
return "return"
identifier "lenient"
; ";"
} "}"
block_comment "/**\n * Consumes the next token from the JSON stream and as"...
method_declaration (+117 nodes collapsed)
block_comment "/**\n * Consumes the next token from the JSON stream and as"...
method_declaration (+110 nodes collapsed)
block_comment "/**\n * Consumes the next token from the JSON stream and as"...
method_declaration (+104 nodes collapsed)
block_comment "/**\n * Consumes the next token from the JSON stream and as"...
method_declaration (+121 nodes collapsed)
block_comment "/**\n * Returns true if the current array or object has ano"...
method_declaration (+57 nodes collapsed)
block_comment "/**\n * Returns the type of the next token without consumin"...
method_declaration (+221 nodes collapsed)
method_declaration (+990 nodes collapsed)
method_declaration (+362 nodes collapsed)
method_declaration
modifiers
private "private"
integral_type
int "int"
identifier "peekNumber"
formal_parameters
( "("
) ")"
throws
throws "throws"
type_identifier "IOException"
block
{ "{"
line_comment "// Like nextNonWhitespace, this uses locals 'p' and 'l' to s"...
local_variable_declaration
array_type
integral_type
char "char"
dimensions
[ "["
] "]"
variable_declarator
identifier "buffer"
= "="
field_access
this "this"
. "."
identifier "buffer"
; ";"
local_variable_declaration
integral_type
int "int"
variable_declarator
identifier "p"
= "="
identifier "pos"
; ";"
local_variable_declaration
integral_type
int "int"
variable_declarator
identifier "l"
= "="
identifier "limit"
; ";"
local_variable_declaration
integral_type
long "long"
variable_declarator
identifier "value"
= "="
decimal_integer_literal "0"
; ";"
line_comment "// Negative to accommodate Long.MIN_VALUE more easily."
local_variable_declaration
boolean_type "boolean"
variable_declarator
identifier "negative"
= "="
false "false"
; ";"
local_variable_declaration
boolean_type "boolean"
variable_declarator
identifier "fitsInLong"
= "="
true "true"
; ";"
local_variable_declaration
integral_type
int "int"
variable_declarator
identifier "last"
= "="
identifier "NUMBER_CHAR_NONE"
; ";"
local_variable_declaration
integral_type
int "int"
variable_declarator
identifier "i"
= "="
decimal_integer_literal "0"
; ";"
labeled_statement (+477 nodes collapsed)
line_comment "// We've read a complete number. Decide if it's a PEEKED_LON"...
if_statement
if "if"
parenthesized_expression
( "("
binary_expression any 3:4
binary_expression any 3:4
binary_expression any 3:4
binary_expression any 3:4
identifier "last"
== "=="
identifier "NUMBER_CHAR_DIGIT"
&& "&&"
identifier "fitsInLong"
&& "&&"
parenthesized_expression
( "("
binary_expression
binary_expression
identifier "value"
!= "!="
field_access
identifier "Long"
. "."
identifier "MIN_VALUE"
|| "||"
identifier "negative"
) ")"
&& "&&"
parenthesized_expression
( "("
binary_expression
binary_expression
identifier "value"
!= "!="
decimal_integer_literal "0"
|| "||"
binary_expression
false "false"
== "=="
identifier "negative"
) ")"
) ")"
block (+29 nodes collapsed)
else "else"
if_statement (+45 nodes collapsed)
} "}"
method_declaration (+127 nodes collapsed)
block_comment "/**\n * Returns the next token, a {@link com.google.gson.st"...
method_declaration (+173 nodes collapsed)
block_comment "/**\n * Returns the {@link com.google.gson.stream.JsonToken"...
method_declaration (+258 nodes collapsed)
block_comment "/**\n * Returns the {@link com.google.gson.stream.JsonToken"...
method_declaration (+140 nodes collapsed)
block_comment "/**\n * Consumes the next token from the JSON stream and as"...
method_declaration (+105 nodes collapsed)
block_comment "/**\n * Returns the {@link com.google.gson.stream.JsonToken"...
method_declaration (+326 nodes collapsed)
block_comment "/**\n * Returns the {@link com.google.gson.stream.JsonToken"...
method_declaration (+367 nodes collapsed)
block_comment "/**\n * Returns the string up to but not including {@code q"...
method_declaration (+441 nodes collapsed)
block_comment "/**\n * Returns an unquoted value as a string.\n */"
method_declaration (+363 nodes collapsed)
method_declaration (+194 nodes collapsed)
method_declaration (+176 nodes collapsed)
block_comment "/**\n * Returns the {@link com.google.gson.stream.JsonToken"...
method_declaration (+416 nodes collapsed)
block_comment "/**\n * Closes this JSON reader and the underlying {@link j"...
method_declaration (+48 nodes collapsed)
block_comment "/**\n * Skips the next value recursively. If it is an objec"...
method_declaration (+302 nodes collapsed)
method_declaration (+178 nodes collapsed)
block_comment "/**\n * Returns true once {@code limit - pos >= minimum}. I"...
method_declaration (+210 nodes collapsed)
block_comment "/**\n * Returns the next character in the stream that is ne"...
method_declaration (+473 nodes collapsed)
method_declaration (+37 nodes collapsed)
block_comment "/**\n * Advances the position until after the next newline "...
method_declaration (+90 nodes collapsed)
block_comment "/**\n * @param toFind a string to search for. Must not cont"...
method_declaration (+159 nodes collapsed)
method_declaration (+35 nodes collapsed)
method_declaration (+68 nodes collapsed)
block_comment "/**\n * Returns a <a href=\"http://goessner.net/articles/Jso"...
method_declaration (+222 nodes collapsed)
block_comment "/**\n * Unescapes the character identified by the character"...
method_declaration (+414 nodes collapsed)
block_comment "/**\n * Throws a new IO exception with the given message an"...
method_declaration (+34 nodes collapsed)
block_comment "/**\n * Consumes the non-execute prefix if it exists.\n */"
method_declaration (+125 nodes collapsed)
static_initializer (+208 nodes collapsed)
} "}"