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–112 unchanged (112 lines)
113 // UTF-8 BOM indicator. takes precedence over everything else. rarely used. re-decodes incase above decoded incorrectly
114 if (docData.length() > 0 && docData.charAt(0) == 65279) {
115 byteData.rewind();
116 docData = Charset.forName(defaultCharset).decode(byteData).toString();
117 docData = docData.substring(1);
118 charsetName = defaultCharset;
119 }
120 if (doc == null) {
121 doc = parser.parseInput(docData, baseUri);
122 doc.outputSettings().charset(charsetName);
123 }
124 return doc;
125 }
…lines 126–189 unchanged (64 lines)

After

…lines 1–112 unchanged (112 lines)
113 // UTF-8 BOM indicator. takes precedence over everything else. rarely used. re-decodes incase above decoded incorrectly
114 if (docData.length() > 0 && docData.charAt(0) == 65279) {
115 byteData.rewind();
116 docData = Charset.forName(defaultCharset).decode(byteData).toString();
117 docData = docData.substring(1);
118 charsetName = defaultCharset;
119 doc = null;
120 }
121 if (doc == null) {
122 doc = parser.parseInput(docData, baseUri);
123 doc.outputSettings().charset(charsetName);
124 }
125 return doc;
…lines 126–190 unchanged (65 lines)

Before

program
package_declaration
package "package"
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "jsoup"
. "."
identifier "helper"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "jsoup"
. "."
identifier "nodes"
. "."
identifier "Document"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "jsoup"
. "."
identifier "nodes"
. "."
identifier "Element"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "jsoup"
. "."
identifier "parser"
. "."
identifier "Parser"
; ";"
import_declaration
import "import"
scoped_identifier
identifier "java"
. "."
identifier "io"
. "."
asterisk
* "*"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "nio"
. "."
identifier "ByteBuffer"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "nio"
. "."
identifier "charset"
. "."
identifier "Charset"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "nio"
. "."
identifier "charset"
. "."
identifier "IllegalCharsetNameException"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "regex"
. "."
identifier "Matcher"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "regex"
. "."
identifier "Pattern"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "Locale"
; ";"
block_comment "/**\n * Internal static utilities for handling data.\n *\n */"
class_declaration
modifiers
public "public"
class "class"
identifier "DataUtil"
class_body
{ "{"
field_declaration (+31 nodes collapsed)
field_declaration
modifiers
static "static"
final "final"
type_identifier "String"
variable_declarator
identifier "defaultCharset"
= "="
string_literal
" "\""
string_fragment "UTF-8"
" "\""
; ";"
line_comment "// used if not found in header or meta charset"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "bufferSize"
= "="
hex_integer_literal "0x20000"
; ";"
line_comment "// ~130K."
constructor_declaration
modifiers
private "private"
identifier "DataUtil"
formal_parameters
( "("
) ")"
constructor_body
{ "{"
} "}"
block_comment "/**\n * Loads a file to a Document.\n * @param in file"...
method_declaration (+106 nodes collapsed)
block_comment "/**\n * Parses a Document from an input steam.\n * @pa"...
method_declaration (+59 nodes collapsed)
block_comment "/**\n * Parses a Document from an input steam, using the "...
method_declaration (+57 nodes collapsed)
line_comment "// reads bytes first into a buffer, then decodes with the ap"...
line_comment "// switching the chartset midstream when a meta http-equiv t"...
line_comment "// todo - this is getting gnarly. needs a rewrite."
method_declaration
modifiers
static "static"
type_identifier "Document"
identifier "parseByteData"
formal_parameters
( "("
formal_parameter
type_identifier "ByteBuffer"
identifier "byteData"
, ","
formal_parameter
type_identifier "String"
identifier "charsetName"
, ","
formal_parameter
type_identifier "String"
identifier "baseUri"
, ","
formal_parameter
type_identifier "Parser"
identifier "parser"
) ")"
block
{ "{"
local_variable_declaration
type_identifier "String"
variable_declarator
identifier "docData"
; ";"
local_variable_declaration
type_identifier "Document"
variable_declarator
identifier "doc"
= "="
null_literal "null"
; ";"
if_statement (+403 nodes collapsed)
line_comment "// UTF-8 BOM indicator. takes precedence over everything els"...
if_statement
if "if"
parenthesized_expression (+26 nodes collapsed)
block
{ "{"
expression_statement
method_invocation
identifier "byteData"
. "."
identifier "rewind"
argument_list
( "("
) ")"
; ";"
expression_statement (+26 nodes collapsed)
expression_statement
assignment_expression
identifier "docData"
= "="
method_invocation
identifier "docData"
. "."
identifier "substring"
argument_list
( "("
decimal_integer_literal "1"
) ")"
; ";"
expression_statement
assignment_expression
identifier "charsetName"
= "="
identifier "defaultCharset"
; ";"
} "}"
if_statement (+43 nodes collapsed)
return_statement
return "return"
identifier "doc"
; ";"
} "}"
block_comment "/**\n * Read the input stream into a byte buffer.\n * "...
method_declaration (+216 nodes collapsed)
method_declaration (+28 nodes collapsed)
block_comment "/**\n * Parse out a charset from a content type header. I"...
method_declaration (+187 nodes collapsed)
} "}"

After

program
package_declaration
package "package"
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "jsoup"
. "."
identifier "helper"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "jsoup"
. "."
identifier "nodes"
. "."
identifier "Document"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "jsoup"
. "."
identifier "nodes"
. "."
identifier "Element"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "org"
. "."
identifier "jsoup"
. "."
identifier "parser"
. "."
identifier "Parser"
; ";"
import_declaration
import "import"
scoped_identifier
identifier "java"
. "."
identifier "io"
. "."
asterisk
* "*"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "nio"
. "."
identifier "ByteBuffer"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "nio"
. "."
identifier "charset"
. "."
identifier "Charset"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "nio"
. "."
identifier "charset"
. "."
identifier "IllegalCharsetNameException"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "regex"
. "."
identifier "Matcher"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "regex"
. "."
identifier "Pattern"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "Locale"
; ";"
block_comment "/**\n * Internal static utilities for handling data.\n *\n */"
class_declaration
modifiers
public "public"
class "class"
identifier "DataUtil"
class_body
{ "{"
field_declaration (+31 nodes collapsed)
field_declaration
modifiers
static "static"
final "final"
type_identifier "String"
variable_declarator
identifier "defaultCharset"
= "="
string_literal
" "\""
string_fragment "UTF-8"
" "\""
; ";"
line_comment "// used if not found in header or meta charset"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "bufferSize"
= "="
hex_integer_literal "0x20000"
; ";"
line_comment "// ~130K."
constructor_declaration
modifiers
private "private"
identifier "DataUtil"
formal_parameters
( "("
) ")"
constructor_body
{ "{"
} "}"
block_comment "/**\n * Loads a file to a Document.\n * @param in file"...
method_declaration (+106 nodes collapsed)
block_comment "/**\n * Parses a Document from an input steam.\n * @pa"...
method_declaration (+59 nodes collapsed)
block_comment "/**\n * Parses a Document from an input steam, using the "...
method_declaration (+57 nodes collapsed)
line_comment "// reads bytes first into a buffer, then decodes with the ap"...
line_comment "// switching the chartset midstream when a meta http-equiv t"...
line_comment "// todo - this is getting gnarly. needs a rewrite."
method_declaration
modifiers
static "static"
type_identifier "Document"
identifier "parseByteData"
formal_parameters
( "("
formal_parameter
type_identifier "ByteBuffer"
identifier "byteData"
, ","
formal_parameter
type_identifier "String"
identifier "charsetName"
, ","
formal_parameter
type_identifier "String"
identifier "baseUri"
, ","
formal_parameter
type_identifier "Parser"
identifier "parser"
) ")"
block
{ "{"
local_variable_declaration
type_identifier "String"
variable_declarator
identifier "docData"
; ";"
local_variable_declaration
type_identifier "Document"
variable_declarator
identifier "doc"
= "="
null_literal "null"
; ";"
if_statement (+403 nodes collapsed)
line_comment "// UTF-8 BOM indicator. takes precedence over everything els"...
if_statement
if "if"
parenthesized_expression (+26 nodes collapsed)
block
{ "{"
expression_statement
method_invocation
identifier "byteData"
. "."
identifier "rewind"
argument_list
( "("
) ")"
; ";"
expression_statement (+26 nodes collapsed)
expression_statement
assignment_expression
identifier "docData"
= "="
method_invocation
identifier "docData"
. "."
identifier "substring"
argument_list
( "("
decimal_integer_literal "1"
) ")"
; ";"
expression_statement
assignment_expression
identifier "charsetName"
= "="
identifier "defaultCharset"
; ";"
expression_statement
assignment_expression
identifier "doc"
= "="
null_literal "null"
; ";"
} "}"
if_statement (+43 nodes collapsed)
return_statement
return "return"
identifier "doc"
; ";"
} "}"
block_comment "/**\n * Read the input stream into a byte buffer.\n * "...
method_declaration (+216 nodes collapsed)
method_declaration (+28 nodes collapsed)
block_comment "/**\n * Parse out a charset from a content type header. I"...
method_declaration (+187 nodes collapsed)
} "}"