class_body
{ "{"
block_comment "/**\n * A suffix for naming delegate proxies differently fr"...
field_declaration
modifiers
static "static"
final "final"
type_identifier "String"
variable_declarator
identifier "DELEGATE_PROXY_SUFFIX"
= "="
method_invocation
identifier "ObjectType"
. "."
identifier "createDelegateSuffix"
argument_list
( "("
string_literal
" "\""
string_fragment "Proxy"
" "\""
) ")"
; ";"
field_declaration (+25 nodes collapsed)
field_declaration (+25 nodes collapsed)
field_declaration (+25 nodes collapsed)
field_declaration (+25 nodes collapsed)
field_declaration (+25 nodes collapsed)
field_declaration (+25 nodes collapsed)
field_declaration (+25 nodes collapsed)
field_declaration
modifiers
private "private"
final "final"
type_identifier "AbstractCompiler"
variable_declarator
identifier "compiler"
; ";"
field_declaration
modifiers
private "private"
final "final"
type_identifier "ErrorReporter"
variable_declarator
identifier "typeParsingErrorReporter"
; ";"
field_declaration
modifiers
private "private"
final "final"
type_identifier "TypeValidator"
variable_declarator
identifier "validator"
; ";"
field_declaration
modifiers
private "private"
final "final"
type_identifier "CodingConvention"
variable_declarator
identifier "codingConvention"
; ";"
field_declaration
modifiers
private "private"
final "final"
type_identifier "JSTypeRegistry"
variable_declarator
identifier "typeRegistry"
; ";"
field_declaration (+21 nodes collapsed)
field_declaration (+23 nodes collapsed)
line_comment "// Simple properties inferred about functions."
field_declaration (+23 nodes collapsed)
block_comment "/**\n * Defer attachment of types to nodes until all type n"...
class_declaration (+118 nodes collapsed)
constructor_declaration (+26 nodes collapsed)
constructor_declaration (+78 nodes collapsed)
block_comment "/**\n * Creates a scope with all types declared. Declares n"...
method_declaration (+349 nodes collapsed)
block_comment "/**\n * Patches a given global scope by removing variables "...
method_declaration (+335 nodes collapsed)
block_comment "/**\n * Create the outermost scope. This scope contains nat"...
method_declaration (+238 nodes collapsed)
method_declaration (+86 nodes collapsed)
method_declaration (+41 nodes collapsed)
method_declaration (+40 nodes collapsed)
class_declaration (+361 nodes collapsed)
method_declaration (+25 nodes collapsed)
class_declaration (+8700 nodes collapsed)
block_comment "/**\n * A stub declaration without any type information.\n "...
class_declaration (+82 nodes collapsed)
block_comment "/**\n * A shallow traversal of the global scope to build up"...
class_declaration (+412 nodes collapsed)
line_comment "// end GlobalScopeBuilder"
block_comment "/**\n * A shallow traversal of a local scope to find all ar"...
class_declaration (+707 nodes collapsed)
line_comment "// end LocalScopeBuilder"
block_comment "/**\n * Does a first-order function analysis that just look"...
class_declaration
modifiers
private "private"
static "static"
class "class"
identifier "FirstOrderFunctionAnalyzer"
superclass
extends "extends"
type_identifier "AbstractScopedCallback"
super_interfaces
implements "implements"
type_list
type_identifier "CompilerPass"
class_body
{ "{"
field_declaration
modifiers
private "private"
final "final"
type_identifier "AbstractCompiler"
variable_declarator
identifier "compiler"
; ";"
field_declaration
modifiers
private "private"
final "final"
generic_type
type_identifier "Map"
type_arguments
< "<"
type_identifier "Node"
, ","
type_identifier "AstFunctionContents"
> ">"
variable_declarator
identifier "data"
; ";"
constructor_declaration (+40 nodes collapsed)
method_declaration (+74 nodes collapsed)
method_declaration (+65 nodes collapsed)
method_declaration
modifiers
marker_annotation
@ "@"
identifier "Override"
public "public"
void_type "void"
identifier "visit"
formal_parameters
( "("
formal_parameter
type_identifier "NodeTraversal"
identifier "t"
, ","
formal_parameter
type_identifier "Node"
identifier "n"
, ","
formal_parameter
type_identifier "Node"
identifier "parent"
) ")"
block
{ "{"
if_statement
if "if"
parenthesized_expression
( "("
method_invocation
identifier "t"
. "."
identifier "inGlobalScope"
argument_list
( "("
) ")"
) ")"
block
{ "{"
return_statement
return "return"
; ";"
} "}"
if_statement (+49 nodes collapsed)
if_statement
if "if"
parenthesized_expression
( "("
binary_expression
method_invocation
identifier "t"
. "."
identifier "getScopeDepth"
argument_list
( "("
) ")"
<= "<="
decimal_integer_literal "2"
) ")"
block
{ "{"
line_comment "// The first-order function analyzer looks at two types of v"...
line_comment "//"
line_comment "// 1) Local variables that are assigned in inner scopes (\"es"...
line_comment "//"
line_comment "// 2) Local variables that are assigned more than once."
line_comment "//"
line_comment "// We treat all global variables as escaped by default, so t"...
line_comment "// no reason to do this extra computation for them."
return_statement
return "return"
; ";"
} "}"
if_statement (+343 nodes collapsed)
} "}"
} "}"
method_declaration (+47 nodes collapsed)
} "}"