class_body
{ "{"
field_declaration
modifiers
static "static"
final "final"
integral_type
char "char"
variable_declarator
identifier "replacementChar"
= "="
character_literal "'\\uFFFD'"
; ";"
line_comment "// replaces null character"
field_declaration
modifiers
private "private"
type_identifier "CharacterReader"
variable_declarator
identifier "reader"
; ";"
line_comment "// html input"
field_declaration
modifiers
private "private"
type_identifier "ParseErrorList"
variable_declarator
identifier "errors"
; ";"
line_comment "// errors found while tokenising"
field_declaration
modifiers
private "private"
type_identifier "TokeniserState"
variable_declarator
identifier "state"
= "="
field_access
identifier "TokeniserState"
. "."
identifier "Data"
; ";"
line_comment "// current tokenisation state"
field_declaration
modifiers
private "private"
type_identifier "Token"
variable_declarator
identifier "emitPending"
; ";"
line_comment "// the token we are about to emit on next read"
field_declaration
modifiers
private "private"
boolean_type "boolean"
variable_declarator
identifier "isEmitPending"
= "="
false "false"
; ";"
field_declaration
modifiers
private "private"
type_identifier "StringBuilder"
variable_declarator
identifier "charBuffer"
= "="
object_creation_expression
new "new"
type_identifier "StringBuilder"
argument_list
( "("
) ")"
; ";"
line_comment "// buffers characters to output as one token"
field_declaration
type_identifier "StringBuilder"
variable_declarator
identifier "dataBuffer"
; ";"
line_comment "// buffers data looking for </script>"
field_declaration
scoped_type_identifier
type_identifier "Token"
. "."
type_identifier "Tag"
variable_declarator
identifier "tagPending"
; ";"
line_comment "// tag we are building up"
field_declaration
scoped_type_identifier
type_identifier "Token"
. "."
type_identifier "Doctype"
variable_declarator
identifier "doctypePending"
; ";"
line_comment "// doctype building up"
field_declaration
scoped_type_identifier
type_identifier "Token"
. "."
type_identifier "Comment"
variable_declarator
identifier "commentPending"
; ";"
line_comment "// comment building up"
field_declaration
modifiers
private "private"
scoped_type_identifier
type_identifier "Token"
. "."
type_identifier "StartTag"
variable_declarator
identifier "lastStartTag"
; ";"
line_comment "// the last start tag emitted, to test appropriate end tag"
field_declaration
modifiers
private "private"
boolean_type "boolean"
variable_declarator
identifier "selfClosingFlagAcknowledged"
= "="
true "true"
; ";"
constructor_declaration (+33 nodes collapsed)
method_declaration (+134 nodes collapsed)
method_declaration (+166 nodes collapsed)
method_declaration (+24 nodes collapsed)
method_declaration (+23 nodes collapsed)
method_declaration
type_identifier "TokeniserState"
identifier "getState"
formal_parameters
( "("
) ")"
block
{ "{"
return_statement
return "return"
identifier "state"
; ";"
} "}"
method_declaration (+21 nodes collapsed)
method_declaration (+30 nodes collapsed)
method_declaration
void_type "void"
identifier "acknowledgeSelfClosingFlag"
formal_parameters
( "("
) ")"
block
{ "{"
expression_statement
assignment_expression
identifier "selfClosingFlagAcknowledged"
= "="
true "true"
; ";"
} "}"
method_declaration
type_identifier "Character"
identifier "consumeCharacterReference"
formal_parameters
( "("
formal_parameter
type_identifier "Character"
identifier "additionalAllowedCharacter"
, ","
formal_parameter
boolean_type "boolean"
identifier "inAttribute"
) ")"
block
{ "{"
if_statement
if "if"
parenthesized_expression
( "("
method_invocation
identifier "reader"
. "."
identifier "isEmpty"
argument_list
( "("
) ")"
) ")"
return_statement
return "return"
null_literal "null"
; ";"
if_statement (+25 nodes collapsed)
if_statement (+27 nodes collapsed)
expression_statement
method_invocation
identifier "reader"
. "."
identifier "mark"
argument_list
( "("
) ")"
; ";"
if_statement
if "if"
parenthesized_expression
( "("
method_invocation
identifier "reader"
. "."
identifier "matchConsume"
argument_list
( "("
string_literal
" "\""
string_fragment "#"
" "\""
) ")"
) ")"
block (+238 nodes collapsed)
else "else"
block
{ "{"
line_comment "// named"
line_comment "// get as many letters as possible, and look for matching en"...
local_variable_declaration
type_identifier "String"
variable_declarator
identifier "nameRef"
= "="
method_invocation
identifier "reader"
. "."
identifier "consumeLetterSequence"
argument_list
( "("
) ")"
; ";"
local_variable_declaration
type_identifier "String"
variable_declarator
identifier "origNameRef"
= "="
object_creation_expression
new "new"
type_identifier "String"
argument_list
( "("
identifier "nameRef"
) ")"
; ";"
line_comment "// for error reporting. nameRef gets chomped looking for mat"...
local_variable_declaration
boolean_type "boolean"
variable_declarator
identifier "looksLegit"
= "="
method_invocation
identifier "reader"
. "."
identifier "matches"
argument_list
( "("
character_literal "';'"
) ")"
; ";"
local_variable_declaration
boolean_type "boolean"
variable_declarator
identifier "found"
= "="
false "false"
; ";"
while_statement (+79 nodes collapsed)
if_statement (+51 nodes collapsed)
if_statement (+58 nodes collapsed)
if_statement (+29 nodes collapsed)
line_comment "// missing semi"
return_statement
return "return"
method_invocation
identifier "Entities"
. "."
identifier "getCharacterByName"
argument_list
( "("
identifier "nameRef"
) ")"
; ";"
} "}"
} "}"
method_declaration (+46 nodes collapsed)
method_declaration (+26 nodes collapsed)
method_declaration (+23 nodes collapsed)
method_declaration
void_type "void"
identifier "emitCommentPending"
formal_parameters
( "("
) ")"
block
{ "{"
expression_statement
method_invocation
identifier "emit"
argument_list
( "("
identifier "commentPending"
) ")"
; ";"
} "}"
method_declaration (+23 nodes collapsed)
method_declaration
void_type "void"
identifier "emitDoctypePending"
formal_parameters
( "("
) ")"
block
{ "{"
expression_statement
method_invocation
identifier "emit"
argument_list
( "("
identifier "doctypePending"
) ")"
; ";"
} "}"
method_declaration
void_type "void"
identifier "createTempBuffer"
formal_parameters
( "("
) ")"
block
{ "{"
expression_statement
assignment_expression
identifier "dataBuffer"
= "="
object_creation_expression
new "new"
type_identifier "StringBuilder"
argument_list
( "("
) ")"
; ";"
} "}"
method_declaration (+26 nodes collapsed)
method_declaration
type_identifier "String"
identifier "appropriateEndTagName"
formal_parameters
( "("
) ")"
block
{ "{"
return_statement
return "return"
field_access
identifier "lastStartTag"
. "."
identifier "tagName"
; ";"
} "}"
method_declaration (+61 nodes collapsed)
method_declaration (+53 nodes collapsed)
method_declaration (+55 nodes collapsed)
method_declaration (+50 nodes collapsed)
method_declaration
boolean_type "boolean"
identifier "currentNodeInHtmlNS"
formal_parameters
( "("
) ")"
block
{ "{"
line_comment "// todo: implememnt namespaces correctly"
return_statement
return "return"
true "true"
; ";"
line_comment "// Element currentNode = currentNode();"
line_comment "// return currentNode != null && currentNode.namespace().equ"...
} "}"
} "}"