class_body
{ "{"
line_comment "// Warnings"
field_declaration (+25 nodes collapsed)
field_declaration (+25 nodes collapsed)
field_declaration (+25 nodes collapsed)
field_declaration
modifiers
private "private"
type_identifier "AbstractCompiler"
variable_declarator
identifier "compiler"
; ";"
block_comment "/** Global namespace tree */"
field_declaration
modifiers
private "private"
generic_type
type_identifier "List"
type_arguments
< "<"
type_identifier "Name"
> ">"
variable_declarator
identifier "globalNames"
; ";"
block_comment "/** Maps names (e.g. \"a.b.c\") to nodes in the global namespa"...
field_declaration
modifiers
private "private"
generic_type
type_identifier "Map"
type_arguments
< "<"
type_identifier "String"
, ","
type_identifier "Name"
> ">"
variable_declarator
identifier "nameMap"
; ";"
field_declaration
modifiers
private "private"
final "final"
boolean_type "boolean"
variable_declarator
identifier "collapsePropertiesOnExternTypes"
; ";"
field_declaration
modifiers
private "private"
final "final"
boolean_type "boolean"
variable_declarator
identifier "inlineAliases"
; ";"
block_comment "/**\n * Creates an instance.\n *\n * @param compiler The "...
constructor_declaration (+46 nodes collapsed)
method_declaration (+174 nodes collapsed)
block_comment "/**\n * For each qualified name N in the global scope, we c"...
method_declaration
modifiers
private "private"
void_type "void"
identifier "inlineAliases"
formal_parameters
( "("
formal_parameter
type_identifier "GlobalNamespace"
identifier "namespace"
) ")"
block
{ "{"
line_comment "// Invariant: All the names in the worklist meet condition ("...
local_variable_declaration (+29 nodes collapsed)
while_statement
while "while"
parenthesized_expression
( "("
unary_expression
! "!"
method_invocation
identifier "workList"
. "."
identifier "isEmpty"
argument_list
( "("
) ")"
) ")"
block
{ "{"
local_variable_declaration
type_identifier "Name"
variable_declarator
identifier "name"
= "="
method_invocation
identifier "workList"
. "."
identifier "pop"
argument_list
( "("
) ")"
; ";"
line_comment "// Don't attempt to inline a getter or setter property as a "...
if_statement (+39 nodes collapsed)
if_statement
if "if"
parenthesized_expression
( "("
binary_expression any 2:3
binary_expression any 2:3
binary_expression
field_access
identifier "name"
. "."
identifier "globalSets"
== "=="
decimal_integer_literal "1"
&& "&&"
binary_expression
field_access
identifier "name"
. "."
identifier "localSets"
== "=="
decimal_integer_literal "0"
&& "&&"
binary_expression
field_access
identifier "name"
. "."
identifier "aliasingGets"
> ">"
decimal_integer_literal "0"
) ")"
block (+98 nodes collapsed)
line_comment "// Check if {@code name} has any aliases left after the"
line_comment "// local-alias-inlining above."
if_statement (+72 nodes collapsed)
} "}"
} "}"
method_declaration (+372 nodes collapsed)
block_comment "/**\n * Runs through all namespaces (prefixes of classes an"...
method_declaration (+267 nodes collapsed)
block_comment "/**\n * Reports a warning because a namespace was aliased.\n"...
method_declaration (+56 nodes collapsed)
block_comment "/**\n * Reports a warning because a namespace was redefined"...
method_declaration (+56 nodes collapsed)
block_comment "/**\n * Flattens all references to collapsible properties o"...
method_declaration (+128 nodes collapsed)
block_comment "/**\n * Flattens a stub declaration.\n * This is mostly a "...
method_declaration (+169 nodes collapsed)
block_comment "/**\n * Flattens all references to a collapsible property o"...
method_declaration (+197 nodes collapsed)
block_comment "/**\n * Flattens all occurrences of a name as a prefix of s"...
method_declaration (+224 nodes collapsed)
block_comment "/**\n * Flattens a particular prefix of a single name refer"...
method_declaration (+181 nodes collapsed)
block_comment "/**\n * Replaces a GETPROP a.b.c with a NAME a$b$c.\n *\n "...
method_declaration (+178 nodes collapsed)
block_comment "/**\n * Collapses definitions of the collapsible properties"...
method_declaration (+241 nodes collapsed)
block_comment "/**\n * Updates the initial assignment to a collapsible pro"...
method_declaration (+407 nodes collapsed)
block_comment "/**\n * Updates the first initialization (a.k.a \"declaratio"...
method_declaration (+164 nodes collapsed)
block_comment "/**\n * Updates the first initialization (a.k.a \"declaratio"...
method_declaration (+535 nodes collapsed)
block_comment "/**\n * Warns about any references to \"this\" in the given F"...
method_declaration (+175 nodes collapsed)
block_comment "/**\n * Updates the first initialization (a.k.a \"declaratio"...
method_declaration (+276 nodes collapsed)
block_comment "/**\n * Updates the first initialization (a.k.a \"declaratio"...
method_declaration (+94 nodes collapsed)
block_comment "/**\n * Declares global variables to serve as aliases for t"...
method_declaration (+653 nodes collapsed)
block_comment "/**\n * Adds global variable \"stubs\" for any properties of "...
method_declaration (+271 nodes collapsed)
method_declaration (+74 nodes collapsed)
} "}"