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–15 unchanged (15 lines)
16 * @param systemId the doctype's system ID
17 * @param baseUri the doctype's base URI
18 */
19 public DocumentType(String name, String publicId, String systemId, String baseUri) {
20 super(baseUri);
21
22 Validate.notEmpty(name);
23 attr("name", name);
24 attr("publicId", publicId);
25 attr("systemId", systemId);
26 }
27
28 @Override
…lines 29–49 unchanged (21 lines)

After

…lines 1–14 unchanged (14 lines)
15 * @param publicId the doctype's public ID
16 * @param systemId the doctype's system ID
17 * @param baseUri the doctype's base URI
18 */
19 public DocumentType(String name, String publicId, String systemId, String baseUri) {
20 super(baseUri);
21
22 attr("name", name);
23 attr("publicId", publicId);
24 attr("systemId", systemId);
25 }
26
27 @Override
…lines 28–48 unchanged (21 lines)

Before

program
package_declaration
package "package"
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "jsoup"
. "."
identifier "nodes"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "jsoup"
. "."
identifier "helper"
. "."
identifier "StringUtil"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "jsoup"
. "."
identifier "helper"
. "."
identifier "Validate"
; ";"
block_comment "/**\n * A {@code <!DOCTYPE>} node.\n */"
class_declaration
modifiers
public "public"
class "class"
identifier "DocumentType"
superclass
extends "extends"
type_identifier "Node"
class_body
{ "{"
line_comment "// todo: quirk mode from publicId and systemId"
block_comment "/**\n * Create a new doctype element.\n * @param name "...
constructor_declaration
modifiers
public "public"
identifier "DocumentType"
formal_parameters
( "("
formal_parameter
type_identifier "String"
identifier "name"
, ","
formal_parameter
type_identifier "String"
identifier "publicId"
, ","
formal_parameter
type_identifier "String"
identifier "systemId"
, ","
formal_parameter
type_identifier "String"
identifier "baseUri"
) ")"
constructor_body
{ "{"
explicit_constructor_invocation
super "super"
argument_list
( "("
identifier "baseUri"
) ")"
; ";"
expression_statement
method_invocation
identifier "Validate"
. "."
identifier "notEmpty"
argument_list
( "("
identifier "name"
) ")"
; ";"
expression_statement
method_invocation
identifier "attr"
argument_list
( "("
string_literal
" "\""
string_fragment "name"
" "\""
, ","
identifier "name"
) ")"
; ";"
expression_statement
method_invocation
identifier "attr"
argument_list
( "("
string_literal
" "\""
string_fragment "publicId"
" "\""
, ","
identifier "publicId"
) ")"
; ";"
expression_statement
method_invocation
identifier "attr"
argument_list
( "("
string_literal
" "\""
string_fragment "systemId"
" "\""
, ","
identifier "systemId"
) ")"
; ";"
} "}"
method_declaration (+21 nodes collapsed)
method_declaration (+220 nodes collapsed)
method_declaration (+28 nodes collapsed)
} "}"

After

program
package_declaration
package "package"
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "jsoup"
. "."
identifier "nodes"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "jsoup"
. "."
identifier "helper"
. "."
identifier "StringUtil"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "jsoup"
. "."
identifier "helper"
. "."
identifier "Validate"
; ";"
block_comment "/**\n * A {@code <!DOCTYPE>} node.\n */"
class_declaration
modifiers
public "public"
class "class"
identifier "DocumentType"
superclass
extends "extends"
type_identifier "Node"
class_body
{ "{"
line_comment "// todo: quirk mode from publicId and systemId"
block_comment "/**\n * Create a new doctype element.\n * @param name "...
constructor_declaration
modifiers
public "public"
identifier "DocumentType"
formal_parameters
( "("
formal_parameter
type_identifier "String"
identifier "name"
, ","
formal_parameter
type_identifier "String"
identifier "publicId"
, ","
formal_parameter
type_identifier "String"
identifier "systemId"
, ","
formal_parameter
type_identifier "String"
identifier "baseUri"
) ")"
constructor_body
{ "{"
explicit_constructor_invocation
super "super"
argument_list
( "("
identifier "baseUri"
) ")"
; ";"
expression_statement
method_invocation
identifier "attr"
argument_list
( "("
string_literal
" "\""
string_fragment "name"
" "\""
, ","
identifier "name"
) ")"
; ";"
expression_statement
method_invocation
identifier "attr"
argument_list
( "("
string_literal
" "\""
string_fragment "publicId"
" "\""
, ","
identifier "publicId"
) ")"
; ";"
expression_statement
method_invocation
identifier "attr"
argument_list
( "("
string_literal
" "\""
string_fragment "systemId"
" "\""
, ","
identifier "systemId"
) ")"
; ";"
} "}"
method_declaration (+21 nodes collapsed)
method_declaration (+220 nodes collapsed)
method_declaration (+28 nodes collapsed)
} "}"