class_body
{ "{"
block_comment "/**\n * Implementation:\n *\n * This pass first perform a"...
field_declaration
modifiers
private "private"
final "final"
type_identifier "AbstractCompiler"
variable_declarator
identifier "compiler"
; ";"
line_comment "// These two pieces of data is persistent in the whole execu"...
line_comment "// scope."
field_declaration
modifiers
private "private"
generic_type
type_identifier "ControlFlowGraph"
type_arguments
< "<"
type_identifier "Node"
> ">"
variable_declarator
identifier "cfg"
; ";"
field_declaration
modifiers
private "private"
generic_type
type_identifier "List"
type_arguments
< "<"
type_identifier "Candidate"
> ">"
variable_declarator
identifier "candidates"
; ";"
field_declaration
modifiers
private "private"
type_identifier "MustBeReachingVariableDef"
variable_declarator
identifier "reachingDef"
; ";"
field_declaration
modifiers
private "private"
type_identifier "MaybeReachingVariableUse"
variable_declarator
identifier "reachingUses"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
generic_type
type_identifier "Predicate"
type_arguments
< "<"
type_identifier "Node"
> ">"
variable_declarator
identifier "SIDE_EFFECT_PREDICATE"
= "="
object_creation_expression
new "new"
generic_type
type_identifier "Predicate"
type_arguments
< "<"
type_identifier "Node"
> ">"
argument_list
( "("
) ")"
class_body
{ "{"
method_declaration
modifiers
marker_annotation
@ "@"
identifier "Override"
public "public"
boolean_type "boolean"
identifier "apply"
formal_parameters
( "("
formal_parameter
type_identifier "Node"
identifier "n"
) ")"
block
{ "{"
line_comment "// When the node is null it means, we reached the implicit r"...
line_comment "// where the function returns (possibly without an return st"...
if_statement
if "if"
parenthesized_expression
( "("
binary_expression
identifier "n"
== "=="
null_literal "null"
) ")"
block
{ "{"
return_statement
return "return"
false "false"
; ";"
} "}"
line_comment "// TODO(user): We only care about calls to functions that"
line_comment "// passes one of the dependent variable to a non-side-effect"...
line_comment "// function."
if_statement (+29 nodes collapsed)
if_statement (+29 nodes collapsed)
for_statement (+65 nodes collapsed)
return_statement
return "return"
false "false"
; ";"
} "}"
} "}"
; ";"
constructor_declaration (+22 nodes collapsed)
method_declaration (+290 nodes collapsed)
method_declaration
modifiers
marker_annotation
@ "@"
identifier "Override"
public "public"
void_type "void"
identifier "exitScope"
formal_parameters
( "("
formal_parameter
type_identifier "NodeTraversal"
identifier "t"
) ")"
block
{ "{"
} "}"
method_declaration (+44 nodes collapsed)
method_declaration (+30 nodes collapsed)
block_comment "/**\n * Gathers a list of possible candidates for inlining "...
class_declaration (+385 nodes collapsed)
block_comment "/**\n * Models the connection between a definition and a us"...
class_declaration (+1286 nodes collapsed)
block_comment "/**\n * Given an expression by its root and sub-expression "...
method_declaration (+116 nodes collapsed)
block_comment "/**\n * Given an expression by its root and sub-expression "...
method_declaration (+128 nodes collapsed)
} "}"