class_body
{ "{"
field_declaration
modifiers
private "private"
type_identifier "AbstractCompiler"
variable_declarator
identifier "compiler"
; ";"
field_declaration
modifiers
private "private"
final "final"
type_identifier "Node"
variable_declarator
identifier "root"
; ";"
field_declaration
modifiers
private "private"
final "final"
type_identifier "Node"
variable_declarator
identifier "externsRoot"
; ";"
field_declaration
modifiers
private "private"
boolean_type "boolean"
variable_declarator
identifier "inExterns"
; ";"
field_declaration
modifiers
private "private"
type_identifier "Scope"
variable_declarator
identifier "externsScope"
; ";"
field_declaration
modifiers
private "private"
boolean_type "boolean"
variable_declarator
identifier "generated"
= "="
false "false"
; ";"
block_comment "/** Global namespace tree */"
field_declaration (+24 nodes collapsed)
block_comment "/** Maps names (e.g. \"a.b.c\") to nodes in the global namespa"...
field_declaration (+28 nodes collapsed)
block_comment "/**\n * Creates an instance that may emit warnings when bui"...
constructor_declaration (+26 nodes collapsed)
block_comment "/**\n * Creates an instance that may emit warnings when bui"...
constructor_declaration (+46 nodes collapsed)
block_comment "/**\n * Gets a list of the roots of the forest of the globa"...
method_declaration (+36 nodes collapsed)
block_comment "/**\n * Gets an index of all the global names, indexed by f"...
method_declaration (+38 nodes collapsed)
block_comment "/**\n * If the client adds new nodes to the AST, scan these"...
method_declaration (+58 nodes collapsed)
block_comment "/**\n * A filter that looks for qualified names that contai"...
class_declaration (+178 nodes collapsed)
block_comment "/**\n * Builds the namespace lazily.\n */"
method_declaration (+79 nodes collapsed)
block_comment "/**\n * Determines whether a name reference in a particular"...
method_declaration (+41 nodes collapsed)
block_comment "/**\n * Gets the top variable name from a possibly namespac"...
method_declaration (+52 nodes collapsed)
block_comment "/**\n * Determines whether a variable name reference in a p"...
method_declaration (+84 nodes collapsed)
block_comment "/**\n * Gets whether a scope is the global scope.\n *\n *"...
method_declaration (+27 nodes collapsed)
line_comment "// ---------------------------------------------------------"...
block_comment "/**\n * Builds a tree representation of the global namespac"...
class_declaration (+3151 nodes collapsed)
line_comment "// ---------------------------------------------------------"...
block_comment "/**\n * A name defined in global scope (e.g. \"a\" or \"a.b.c."...
class_declaration
modifiers
static "static"
class "class"
identifier "Name"
class_body
{ "{"
enum_declaration
enum "enum"
identifier "Type"
enum_body
{ "{"
enum_constant
identifier "OBJECTLIT"
, ","
enum_constant
identifier "FUNCTION"
, ","
enum_constant
identifier "OTHER"
, ","
} "}"
field_declaration
modifiers
final "final"
type_identifier "String"
variable_declarator
identifier "name"
; ";"
field_declaration
modifiers
final "final"
type_identifier "Name"
variable_declarator
identifier "parent"
; ";"
field_declaration
generic_type
type_identifier "List"
type_arguments
< "<"
type_identifier "Name"
> ">"
variable_declarator
identifier "props"
; ";"
field_declaration
type_identifier "Ref"
variable_declarator
identifier "declaration"
; ";"
field_declaration
generic_type
type_identifier "List"
type_arguments
< "<"
type_identifier "Ref"
> ">"
variable_declarator
identifier "refs"
; ";"
field_declaration
type_identifier "Type"
variable_declarator
identifier "type"
; ";"
field_declaration
modifiers
private "private"
boolean_type "boolean"
variable_declarator
identifier "isClassOrEnum"
= "="
false "false"
; ";"
field_declaration
modifiers
private "private"
boolean_type "boolean"
variable_declarator
identifier "hasClassOrEnumDescendant"
= "="
false "false"
; ";"
field_declaration
integral_type
int "int"
variable_declarator
identifier "globalSets"
= "="
decimal_integer_literal "0"
; ";"
field_declaration
integral_type
int "int"
variable_declarator
identifier "localSets"
= "="
decimal_integer_literal "0"
; ";"
field_declaration
integral_type
int "int"
variable_declarator
identifier "aliasingGets"
= "="
decimal_integer_literal "0"
; ";"
field_declaration
integral_type
int "int"
variable_declarator
identifier "totalGets"
= "="
decimal_integer_literal "0"
; ";"
field_declaration
integral_type
int "int"
variable_declarator
identifier "callGets"
= "="
decimal_integer_literal "0"
; ";"
field_declaration
boolean_type "boolean"
variable_declarator
identifier "inExterns"
; ";"
field_declaration
type_identifier "JSDocInfo"
variable_declarator
identifier "docInfo"
= "="
null_literal "null"
; ";"
constructor_declaration (+58 nodes collapsed)
method_declaration (+75 nodes collapsed)
method_declaration (+190 nodes collapsed)
method_declaration (+229 nodes collapsed)
method_declaration (+50 nodes collapsed)
method_declaration (+82 nodes collapsed)
method_declaration (+54 nodes collapsed)
method_declaration
boolean_type "boolean"
identifier "canCollapseUnannotatedChildNames"
formal_parameters
( "("
) ")"
block
{ "{"
if_statement (+31 nodes collapsed)
line_comment "// Don't try to collapse if the one global set is a twin ref"...
line_comment "// We could theoretically handle this case in CollapseProper"...
line_comment "// it's probably not worth the effort."
expression_statement
method_invocation
identifier "Preconditions"
. "."
identifier "checkNotNull"
argument_list
( "("
identifier "declaration"
) ")"
; ";"
if_statement (+22 nodes collapsed)
if_statement
if "if"
parenthesized_expression
( "("
identifier "isClassOrEnum"
) ")"
block
{ "{"
return_statement
return "return"
true "true"
; ";"
} "}"
line_comment "// If this is a key of an aliased object literal, then it wi"...
line_comment "// later. So we won't be able to collapse its properties."
if_statement (+25 nodes collapsed)
line_comment "// If this is aliased, then its properties can't be collapse"...
if_statement
if "if"
parenthesized_expression
( "("
binary_expression any 2:1
binary_expression
identifier "type"
!= "!="
field_access
identifier "Type"
. "."
identifier "FUNCTION"
&& "&&"
binary_expression any 2:1
identifier "aliasingGets"
> ">"
decimal_integer_literal "0"
) ")"
block
{ "{"
return_statement
return "return"
false "false"
; ";"
} "}"
return_statement
return "return"
parenthesized_expression
( "("
binary_expression
binary_expression
identifier "parent"
== "=="
null_literal "null"
|| "||"
method_invocation
identifier "parent"
. "."
identifier "canCollapseUnannotatedChildNames"
argument_list
( "("
) ")"
) ")"
; ";"
} "}"
block_comment "/** Whether this is an object literal that needs to keep its"...
method_declaration (+25 nodes collapsed)
method_declaration (+22 nodes collapsed)
method_declaration (+50 nodes collapsed)
block_comment "/**\n * Determines whether this name is a prefix of at le"...
method_declaration (+22 nodes collapsed)
block_comment "/**\n * Determines whether this is a simple name (as oppo"...
method_declaration
boolean_type "boolean"
identifier "isSimpleName"
formal_parameters
( "("
) ")"
block
{ "{"
return_statement
return "return"
binary_expression
identifier "parent"
== "=="
null_literal "null"
; ";"
} "}"
method_declaration (+76 nodes collapsed)
method_declaration (+33 nodes collapsed)
block_comment "/**\n * Tries to get the doc info for a given declaration"...
method_declaration (+135 nodes collapsed)
} "}"
line_comment "// ---------------------------------------------------------"...
block_comment "/**\n * A global name reference. Contains references to the"...
class_declaration (+498 nodes collapsed)
} "}"