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–1188 unchanged (1188 lines)
1189 if (r.matchesAny('\t', '\n', '\r', '\f', ' '))
1190 r.advance(); // ignore whitespace
1191 else if (r.matches('>')) {
1192 t.emitDoctypePending();
1193 t.advanceTransition(Data);
1194 } else if (r.matchConsumeIgnoreCase(DocumentType.PUBLIC_KEY)) {
1195 t.transition(AfterDoctypePublicKeyword);
1196 } else if (r.matchConsumeIgnoreCase(DocumentType.SYSTEM_KEY)) {
1197 t.transition(AfterDoctypeSystemKeyword);
1198 } else {
1199 t.error(this);
1200 t.doctypePending.forceQuirks = true;
1201 t.advanceTransition(BogusDoctype);
1202 }
1203
…lines 1204–1733 unchanged (530 lines)

After

…lines 1–1188 unchanged (1188 lines)
1189 if (r.matchesAny('\t', '\n', '\r', '\f', ' '))
1190 r.advance(); // ignore whitespace
1191 else if (r.matches('>')) {
1192 t.emitDoctypePending();
1193 t.advanceTransition(Data);
1194 } else if (r.matchConsumeIgnoreCase(DocumentType.PUBLIC_KEY)) {
1195 t.doctypePending.pubSysKey = DocumentType.PUBLIC_KEY;
1196 t.transition(AfterDoctypePublicKeyword);
1197 } else if (r.matchConsumeIgnoreCase(DocumentType.SYSTEM_KEY)) {
1198 t.doctypePending.pubSysKey = DocumentType.SYSTEM_KEY;
1199 t.transition(AfterDoctypeSystemKeyword);
1200 } else {
1201 t.error(this);
1202 t.doctypePending.forceQuirks = true;
1203 t.advanceTransition(BogusDoctype);
1204 }
…lines 1205–1735 unchanged (531 lines)

Before

program
package_declaration
package "package"
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "jsoup"
. "."
identifier "parser"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "jsoup"
. "."
identifier "nodes"
. "."
identifier "DocumentType"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "Arrays"
; ";"
block_comment "/**\n * States and transition activations for the Tokeniser.\n"...
enum_declaration
enum "enum"
identifier "TokeniserState"
enum_body
{ "{"
enum_constant (+164 nodes collapsed)
, ","
enum_constant (+32 nodes collapsed)
, ","
enum_constant (+171 nodes collapsed)
, ","
enum_constant (+31 nodes collapsed)
, ","
enum_constant (+35 nodes collapsed)
, ","
enum_constant (+35 nodes collapsed)
, ","
enum_constant (+130 nodes collapsed)
, ","
enum_constant (+168 nodes collapsed)
, ","
enum_constant (+166 nodes collapsed)
, ","
enum_constant (+197 nodes collapsed)
, ","
enum_constant (+196 nodes collapsed)
, ","
enum_constant (+121 nodes collapsed)
, ","
enum_constant (+332 nodes collapsed)
, ","
enum_constant (+80 nodes collapsed)
, ","
enum_constant (+35 nodes collapsed)
, ","
enum_constant (+33 nodes collapsed)
, ","
enum_constant (+130 nodes collapsed)
, ","
enum_constant (+35 nodes collapsed)
, ","
enum_constant (+33 nodes collapsed)
, ","
enum_constant (+71 nodes collapsed)
, ","
enum_constant (+71 nodes collapsed)
, ","
enum_constant (+189 nodes collapsed)
, ","
enum_constant (+190 nodes collapsed)
, ","
enum_constant (+208 nodes collapsed)
, ","
enum_constant (+156 nodes collapsed)
, ","
enum_constant (+121 nodes collapsed)
, ","
enum_constant (+33 nodes collapsed)
, ","
enum_constant (+35 nodes collapsed)
, ","
enum_constant (+197 nodes collapsed)
, ","
enum_constant (+190 nodes collapsed)
, ","
enum_constant (+208 nodes collapsed)
, ","
enum_constant (+80 nodes collapsed)
, ","
enum_constant (+35 nodes collapsed)
, ","
enum_constant (+300 nodes collapsed)
, ","
enum_constant (+271 nodes collapsed)
, ","
enum_constant (+304 nodes collapsed)
, ","
enum_constant (+325 nodes collapsed)
, ","
enum_constant (+242 nodes collapsed)
, ","
enum_constant (+242 nodes collapsed)
, ","
enum_constant (+327 nodes collapsed)
, ","
line_comment "// CharacterReferenceInAttributeValue state handled inline"
enum_constant (+188 nodes collapsed)
, ","
enum_constant (+144 nodes collapsed)
, ","
enum_constant (+100 nodes collapsed)
, ","
enum_constant (+147 nodes collapsed)
, ","
enum_constant (+210 nodes collapsed)
, ","
enum_constant (+210 nodes collapsed)
, ","
enum_constant (+171 nodes collapsed)
, ","
enum_constant (+187 nodes collapsed)
, ","
enum_constant (+274 nodes collapsed)
, ","
enum_constant (+239 nodes collapsed)
, ","
enum_constant (+181 nodes collapsed)
, ","
enum_constant (+260 nodes collapsed)
, ","
enum_constant (+259 nodes collapsed)
, ","
enum_constant
identifier "AfterDoctypeName"
class_body
{ "{"
method_declaration
void_type "void"
identifier "read"
formal_parameters
( "("
formal_parameter
type_identifier "Tokeniser"
identifier "t"
, ","
formal_parameter
type_identifier "CharacterReader"
identifier "r"
) ")"
block
{ "{"
if_statement (+59 nodes collapsed)
if_statement
if "if"
parenthesized_expression
( "("
method_invocation
identifier "r"
. "."
identifier "matchesAny"
argument_list
( "("
character_literal "'\\t'"
, ","
character_literal "'\\n'"
, ","
character_literal "'\\r'"
, ","
character_literal "'\\f'"
, ","
character_literal "' '"
) ")"
) ")"
expression_statement
method_invocation
identifier "r"
. "."
identifier "advance"
argument_list
( "("
) ")"
; ";"
line_comment "// ignore whitespace"
else "else"
if_statement
if "if"
parenthesized_expression
( "("
method_invocation
identifier "r"
. "."
identifier "matches"
argument_list
( "("
character_literal "'>'"
) ")"
) ")"
block (+22 nodes collapsed)
else "else"
if_statement
if "if"
parenthesized_expression
( "("
method_invocation
identifier "r"
. "."
identifier "matchConsumeIgnoreCase"
argument_list
( "("
field_access
identifier "DocumentType"
. "."
identifier "PUBLIC_KEY"
) ")"
) ")"
block
{ "{"
expression_statement
method_invocation
identifier "t"
. "."
identifier "transition"
argument_list
( "("
identifier "AfterDoctypePublicKeyword"
) ")"
; ";"
} "}"
else "else"
if_statement
if "if"
parenthesized_expression
( "("
method_invocation
identifier "r"
. "."
identifier "matchConsumeIgnoreCase"
argument_list
( "("
field_access
identifier "DocumentType"
. "."
identifier "SYSTEM_KEY"
) ")"
) ")"
block
{ "{"
expression_statement
method_invocation
identifier "t"
. "."
identifier "transition"
argument_list
( "("
identifier "AfterDoctypeSystemKeyword"
) ")"
; ";"
} "}"
else "else"
block (+35 nodes collapsed)
} "}"
} "}"
, ","
enum_constant (+274 nodes collapsed)
, ","
enum_constant (+244 nodes collapsed)
, ","
enum_constant (+214 nodes collapsed)
, ","
enum_constant (+214 nodes collapsed)
, ","
enum_constant (+252 nodes collapsed)
, ","
enum_constant (+242 nodes collapsed)
, ","
enum_constant (+273 nodes collapsed)
, ","
enum_constant (+244 nodes collapsed)
, ","
enum_constant (+214 nodes collapsed)
, ","
enum_constant (+214 nodes collapsed)
, ","
enum_constant (+173 nodes collapsed)
, ","
enum_constant (+106 nodes collapsed)
, ","
enum_constant (+71 nodes collapsed)
enum_body_declarations (+1126 nodes collapsed)
} "}"

After

program
package_declaration
package "package"
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "jsoup"
. "."
identifier "parser"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "jsoup"
. "."
identifier "nodes"
. "."
identifier "DocumentType"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "Arrays"
; ";"
block_comment "/**\n * States and transition activations for the Tokeniser.\n"...
enum_declaration
enum "enum"
identifier "TokeniserState"
enum_body
{ "{"
enum_constant (+164 nodes collapsed)
, ","
enum_constant (+32 nodes collapsed)
, ","
enum_constant (+171 nodes collapsed)
, ","
enum_constant (+31 nodes collapsed)
, ","
enum_constant (+35 nodes collapsed)
, ","
enum_constant (+35 nodes collapsed)
, ","
enum_constant (+130 nodes collapsed)
, ","
enum_constant (+168 nodes collapsed)
, ","
enum_constant (+166 nodes collapsed)
, ","
enum_constant (+197 nodes collapsed)
, ","
enum_constant (+196 nodes collapsed)
, ","
enum_constant (+121 nodes collapsed)
, ","
enum_constant (+332 nodes collapsed)
, ","
enum_constant (+80 nodes collapsed)
, ","
enum_constant (+35 nodes collapsed)
, ","
enum_constant (+33 nodes collapsed)
, ","
enum_constant (+130 nodes collapsed)
, ","
enum_constant (+35 nodes collapsed)
, ","
enum_constant (+33 nodes collapsed)
, ","
enum_constant (+71 nodes collapsed)
, ","
enum_constant (+71 nodes collapsed)
, ","
enum_constant (+189 nodes collapsed)
, ","
enum_constant (+190 nodes collapsed)
, ","
enum_constant (+208 nodes collapsed)
, ","
enum_constant (+156 nodes collapsed)
, ","
enum_constant (+121 nodes collapsed)
, ","
enum_constant (+33 nodes collapsed)
, ","
enum_constant (+35 nodes collapsed)
, ","
enum_constant (+197 nodes collapsed)
, ","
enum_constant (+190 nodes collapsed)
, ","
enum_constant (+208 nodes collapsed)
, ","
enum_constant (+80 nodes collapsed)
, ","
enum_constant (+35 nodes collapsed)
, ","
enum_constant (+300 nodes collapsed)
, ","
enum_constant (+271 nodes collapsed)
, ","
enum_constant (+304 nodes collapsed)
, ","
enum_constant (+325 nodes collapsed)
, ","
enum_constant (+242 nodes collapsed)
, ","
enum_constant (+242 nodes collapsed)
, ","
enum_constant (+327 nodes collapsed)
, ","
line_comment "// CharacterReferenceInAttributeValue state handled inline"
enum_constant (+188 nodes collapsed)
, ","
enum_constant (+144 nodes collapsed)
, ","
enum_constant (+100 nodes collapsed)
, ","
enum_constant (+147 nodes collapsed)
, ","
enum_constant (+210 nodes collapsed)
, ","
enum_constant (+210 nodes collapsed)
, ","
enum_constant (+171 nodes collapsed)
, ","
enum_constant (+187 nodes collapsed)
, ","
enum_constant (+274 nodes collapsed)
, ","
enum_constant (+239 nodes collapsed)
, ","
enum_constant (+181 nodes collapsed)
, ","
enum_constant (+260 nodes collapsed)
, ","
enum_constant (+259 nodes collapsed)
, ","
enum_constant
identifier "AfterDoctypeName"
class_body
{ "{"
method_declaration
void_type "void"
identifier "read"
formal_parameters
( "("
formal_parameter
type_identifier "Tokeniser"
identifier "t"
, ","
formal_parameter
type_identifier "CharacterReader"
identifier "r"
) ")"
block
{ "{"
if_statement (+59 nodes collapsed)
if_statement
if "if"
parenthesized_expression
( "("
method_invocation
identifier "r"
. "."
identifier "matchesAny"
argument_list
( "("
character_literal "'\\t'"
, ","
character_literal "'\\n'"
, ","
character_literal "'\\r'"
, ","
character_literal "'\\f'"
, ","
character_literal "' '"
) ")"
) ")"
expression_statement
method_invocation
identifier "r"
. "."
identifier "advance"
argument_list
( "("
) ")"
; ";"
line_comment "// ignore whitespace"
else "else"
if_statement
if "if"
parenthesized_expression
( "("
method_invocation
identifier "r"
. "."
identifier "matches"
argument_list
( "("
character_literal "'>'"
) ")"
) ")"
block (+22 nodes collapsed)
else "else"
if_statement
if "if"
parenthesized_expression
( "("
method_invocation
identifier "r"
. "."
identifier "matchConsumeIgnoreCase"
argument_list
( "("
field_access
identifier "DocumentType"
. "."
identifier "PUBLIC_KEY"
) ")"
) ")"
block
{ "{"
expression_statement
assignment_expression
field_access
field_access
identifier "t"
. "."
identifier "doctypePending"
. "."
identifier "pubSysKey"
= "="
field_access
identifier "DocumentType"
. "."
identifier "PUBLIC_KEY"
; ";"
expression_statement
method_invocation
identifier "t"
. "."
identifier "transition"
argument_list
( "("
identifier "AfterDoctypePublicKeyword"
) ")"
; ";"
} "}"
else "else"
if_statement
if "if"
parenthesized_expression
( "("
method_invocation
identifier "r"
. "."
identifier "matchConsumeIgnoreCase"
argument_list
( "("
field_access
identifier "DocumentType"
. "."
identifier "SYSTEM_KEY"
) ")"
) ")"
block
{ "{"
expression_statement
assignment_expression
field_access
field_access
identifier "t"
. "."
identifier "doctypePending"
. "."
identifier "pubSysKey"
= "="
field_access
identifier "DocumentType"
. "."
identifier "SYSTEM_KEY"
; ";"
expression_statement
method_invocation
identifier "t"
. "."
identifier "transition"
argument_list
( "("
identifier "AfterDoctypeSystemKeyword"
) ")"
; ";"
} "}"
else "else"
block (+35 nodes collapsed)
} "}"
} "}"
, ","
enum_constant (+274 nodes collapsed)
, ","
enum_constant (+244 nodes collapsed)
, ","
enum_constant (+214 nodes collapsed)
, ","
enum_constant (+214 nodes collapsed)
, ","
enum_constant (+252 nodes collapsed)
, ","
enum_constant (+242 nodes collapsed)
, ","
enum_constant (+273 nodes collapsed)
, ","
enum_constant (+244 nodes collapsed)
, ","
enum_constant (+214 nodes collapsed)
, ","
enum_constant (+214 nodes collapsed)
, ","
enum_constant (+173 nodes collapsed)
, ","
enum_constant (+106 nodes collapsed)
, ","
enum_constant (+71 nodes collapsed)
enum_body_declarations (+1126 nodes collapsed)
} "}"