Package | Description |
---|---|
org.apache.flex.compiler.internal.as.codegen | |
org.apache.flex.compiler.internal.semantics |
Modifier and Type | Method and Description |
---|---|
Binding |
LexicalScope.allocateTemp()
Allocate a temporary register.
|
Binding |
LexicalScope.allocateTemp(boolean reuse_free)
Allocate a temporary register.
|
protected Binding |
LexicalScope.TempManager.allocateTemp(boolean reuse_free) |
Binding |
ABCGeneratingReducer.error_namespaceAccess(IASNode iNode,
IASNode raw_qualifier,
Binding qualified_name)
Error trap.
|
Binding |
LexicalScope.getBinding(IASNode node,
Name name,
IDefinition def)
Get or create the Binding for a Name and its associated IDefinition.
|
Binding |
LexicalScope.getBinding(IDefinition def)
Get or create the Binding for an IDefinition.
|
Binding |
ExceptionHandlingContext.getExceptionStorage() |
protected Binding |
LexicalScope.getThisBinding(IdentifierNode id)
Fetch the Binding that represents "this."
|
protected Binding |
InlineFunctionLexicalScope.getThisBinding(IdentifierNode id) |
Binding |
ABCGeneratingReducer.reduce_attributeName(IASNode iNode,
Binding attr_name) |
Binding |
ABCGeneratingReducer.reduce_namespaceAccess(IASNode iNode,
IASNode qualifier,
Binding qualified_name) |
Binding |
ABCGeneratingReducer.reduce_namespaceAsName_to_name(IASNode iNode) |
Binding |
ABCGeneratingReducer.reduce_nameToTypeName(Binding name,
boolean check_name) |
Binding |
ABCGeneratingReducer.reduce_parameterizedName(IASNode iNode,
Binding base,
Binding param) |
Binding |
ABCGeneratingReducer.reduce_simpleName(IASNode iNode) |
Binding |
ABCGeneratingReducer.reduce_superAccess(IASNode iNode,
Binding qualified_name) |
Binding |
ABCGeneratingReducer.reduce_typedVariableExpression(IASNode iNode,
Name var_name,
Binding var_type) |
Binding |
ABCGeneratingReducer.reduce_voidExpr_to_return_type_name(IASNode node) |
Binding |
ABCGeneratingReducer.reduce_voidExpr_to_type_name(IASNode node) |
Binding |
LexicalScope.resolveName(IdentifierNode id)
Resolve a name, and return a Binding for it.
|
Modifier and Type | Method and Description |
---|---|
protected com.google.common.collect.ImmutableList<Binding> |
LexicalScope.TempManager.getAllocatedTemps() |
protected Collection<Binding> |
LexicalScope.getLocalBindings() |
Modifier and Type | Method and Description |
---|---|
protected void |
LexicalScope.TempManager.addAllocatedTemp(Binding temp) |
Binding |
ABCGeneratingReducer.error_namespaceAccess(IASNode iNode,
IASNode raw_qualifier,
Binding qualified_name)
Error trap.
|
InstructionList |
LexicalScope.findProperty(Binding binding,
boolean useStrict)
Get the property for the specified binding.
|
InstructionList |
LexicalScope.getPropertyValue(Binding binding)
Get the property value for the specified binding.
|
void |
LexicalScope.makeBindableVariable(Binding var,
Name var_type,
IMetaInfo[] metaTags)
Create a bindable property.
|
void |
LexicalScope.makeNamespace(Binding ns_binding,
Namespace ns_init)
Declare and define a namespace.
|
void |
LexicalScope.makeVariable(Binding var)
Create a variable with potential visibility
to nested scopes.
|
void |
LexicalScope.makeVariable(Binding var,
Name var_type,
IMetaInfo[] meta_tags)
Create a variable with potential visibility
to nested scopes.
|
void |
LexicalScope.makeVariable(Binding var,
Name var_type,
IMetaInfo[] meta_tags,
Object initializer)
Create a variable with potential visibility
to nested scopes.
|
void |
LexicalScope.makeVariable(Binding var,
Name var_type,
IMetaInfo[] meta_tags,
Object initializer,
LexicalScope.VariableMutability mutability)
Create a variable with potential visibility
to nested scopes.
|
InstructionList |
ABCGeneratingReducer.reduce_assignToDescendantsExpr(IASNode iNode,
InstructionList stem,
Binding member,
InstructionList r,
boolean need_value) |
InstructionList |
ABCGeneratingReducer.reduce_assignToMemberExpr_to_expression(IASNode iNode,
InstructionList stem,
Binding member,
InstructionList r) |
InstructionList |
ABCGeneratingReducer.reduce_assignToMemberExpr_to_void_expression(IASNode iNode,
InstructionList stem,
Binding member,
InstructionList r) |
InstructionList |
ABCGeneratingReducer.reduce_assignToNameExpr_to_expression(IASNode iNode,
Binding lvalue,
InstructionList r) |
InstructionList |
ABCGeneratingReducer.reduce_assignToNameExpr_to_void_expression(IASNode iNode,
Binding lvalue,
InstructionList r) |
InstructionList |
ABCGeneratingReducer.reduce_assignToQualifiedAttributeExpr(IASNode iNode,
InstructionList stem,
Binding qualifier,
Binding member,
InstructionList rhs,
boolean need_value) |
InstructionList |
ABCGeneratingReducer.reduce_assignToQualifiedMemberExpr(IASNode iNode,
InstructionList stem,
Binding qualifier,
Binding member,
InstructionList rhs,
boolean need_value) |
InstructionList |
ABCGeneratingReducer.reduce_assignToQualifiedRuntimeAttributeExpr(IASNode iNode,
InstructionList stem,
Binding qualifier,
InstructionList runtime_member_selector,
InstructionList rhs,
boolean need_value) |
InstructionList |
ABCGeneratingReducer.reduce_assignToQualifiedRuntimeMemberExpr(IASNode iNode,
InstructionList stem,
Binding qualifier,
InstructionList runtime_member_selector,
InstructionList rhs,
boolean need_value) |
Binding |
ABCGeneratingReducer.reduce_attributeName(IASNode iNode,
Binding attr_name) |
ABCGeneratingReducer.CatchPrototype |
ABCGeneratingReducer.reduce_catchBlockTyped(IASNode iNode,
Binding var_name,
Binding exception,
InstructionList action) |
ABCGeneratingReducer.CatchPrototype |
ABCGeneratingReducer.reduce_catchBlockUntyped(IASNode iNode,
Binding var_name,
InstructionList action) |
InstructionList |
ABCGeneratingReducer.reduce_deleteDescendantsExpr(IASNode iNode,
InstructionList stem,
Binding field) |
InstructionList |
ABCGeneratingReducer.reduce_deleteMemberExpr(IASNode iNode,
InstructionList stem,
Binding field) |
InstructionList |
ABCGeneratingReducer.reduce_deleteNameExpr(IASNode iNode,
Binding n) |
InstructionList |
ABCGeneratingReducer.reduce_forKeyValueMemberStmt(IASNode iNode,
InstructionList stem,
Binding member,
InstructionList base,
InstructionList body,
int opcode,
boolean is_super) |
InstructionList |
ABCGeneratingReducer.reduce_forKeyValueStmt(IASNode iNode,
Binding it,
InstructionList base,
InstructionList body,
int opcode) |
InstructionList |
ABCGeneratingReducer.reduce_functionAsMemberExpr(IASNode iNode,
InstructionList stem,
Binding method_name,
Vector<InstructionList> args) |
InstructionList |
ABCGeneratingReducer.reduce_functionCallExpr_to_expression(IASNode iNode,
Binding method_name,
Vector<InstructionList> args) |
InstructionList |
ABCGeneratingReducer.reduce_functionCallExpr_to_void_expression(IASNode iNode,
Binding method_name,
Vector<InstructionList> args) |
InstructionList |
ABCGeneratingReducer.reduce_functionCallOfSuperclassMethod_to_expression(IASNode iNode,
InstructionList stem,
Binding method_name,
Vector<InstructionList> args) |
InstructionList |
ABCGeneratingReducer.reduce_functionCallOfSuperclassMethod_to_void_expression(IASNode iNode,
InstructionList stem,
Binding method_name,
Vector<InstructionList> args) |
InstructionList |
ABCGeneratingReducer.reduce_functionObject(IASNode iNode,
IASNode function_name,
InstructionList plist,
Binding return_binding,
InstructionList function_body) |
InstructionList |
ABCGeneratingReducer.reduce_memberAccessExpr_to_mxmlDataBindingSetter(IASNode memberAccessExpr,
InstructionList stem,
Binding member)
Reduce a member access expression ( a.b ) in an MXML data binding
destination to: a.b = firstParam
|
InstructionList |
ABCGeneratingReducer.reduce_memberAccessExpr(IASNode iNode,
InstructionList stem,
Binding member,
int opcode) |
org.apache.flex.compiler.internal.as.codegen.ABCGeneratingReducer.RuntimeMultiname |
ABCGeneratingReducer.reduce_namespaceAccess_to_runtime_name(IASNode iNode,
Binding qualified_name) |
Binding |
ABCGeneratingReducer.reduce_namespaceAccess(IASNode iNode,
IASNode qualifier,
Binding qualified_name) |
InstructionList |
ABCGeneratingReducer.reduce_namespaceDeclaration(IASNode iNode,
Binding ns_name) |
InstructionList |
ABCGeneratingReducer.reduce_namespaceDeclarationConstantInitializer(IASNode iNode,
Binding ns_name,
Namespace initializer)
Does the work for the various reduce_namespaceDecl methods.
|
InstructionList |
ABCGeneratingReducer.reduce_namespaceDeclarationConstantInitializer(IASNode iNode,
Binding ns_name,
String uri) |
InstructionList |
ABCGeneratingReducer.reduce_namespaceDeclarationInitializer(IASNode iNode,
Binding ns_name,
Binding second_ns) |
org.apache.flex.compiler.internal.as.codegen.ABCGeneratingReducer.RuntimeMultiname |
ABCGeneratingReducer.reduce_namespaceRTQName(IASNode iNode,
InstructionList qualifier,
Binding qualified_name) |
Binding |
ABCGeneratingReducer.reduce_nameToTypeName(Binding name,
boolean check_name) |
InstructionList |
ABCGeneratingReducer.reduce_newExpr(IASNode iNode,
Binding class_binding,
Vector<InstructionList> args) |
InstructionList |
ABCGeneratingReducer.reduce_newMemberProperty(IASNode iNode,
InstructionList stem,
Binding member,
Vector<InstructionList> args) |
InstructionList |
ABCGeneratingReducer.reduce_optionalParameter(IASNode iNode,
Name param_name,
Binding param_type,
Object raw_default_value) |
Binding |
ABCGeneratingReducer.reduce_parameterizedName(IASNode iNode,
Binding base,
Binding param) |
InstructionList |
ABCGeneratingReducer.reduce_postDecMemberExpr(IASNode iNode,
InstructionList stem,
Binding field,
boolean need_result) |
InstructionList |
ABCGeneratingReducer.reduce_postDecNameExpr(IASNode iNode,
Binding unary,
boolean need_result) |
InstructionList |
ABCGeneratingReducer.reduce_postIncMemberExpr(IASNode iNode,
InstructionList stem,
Binding field,
boolean need_result) |
InstructionList |
ABCGeneratingReducer.reduce_postIncNameExpr(IASNode iNode,
Binding unary,
boolean need_result) |
InstructionList |
ABCGeneratingReducer.reduce_preDecMemberExpr(IASNode iNode,
InstructionList stem,
Binding field,
boolean need_result) |
InstructionList |
ABCGeneratingReducer.reduce_preDecNameExpr(IASNode iNode,
Binding unary,
boolean need_result) |
InstructionList |
ABCGeneratingReducer.reduce_preIncMemberExpr(IASNode iNode,
InstructionList stem,
Binding field,
boolean need_result) |
InstructionList |
ABCGeneratingReducer.reduce_preIncNameExpr(IASNode iNode,
Binding unary,
boolean need_result) |
InstructionList |
ABCGeneratingReducer.reduce_qualifiedAttributeExpr(IASNode iNode,
InstructionList stem,
Binding qualifier,
Binding member,
int opcode) |
InstructionList |
ABCGeneratingReducer.reduce_qualifiedAttributeRuntimeMemberExpr(IASNode iNode,
InstructionList stem,
Binding qualifier,
InstructionList runtime_member_selector,
int opcode) |
InstructionList |
ABCGeneratingReducer.reduce_qualifiedMemberAccessExpr_to_mxmlDataBindingSetter(IASNode qualifiedMemberAccessExpr,
InstructionList stem,
Binding qualifier,
Binding member)
Reduce a qualified member access expression ( a.ns::b ) in an MXML data binding
destination to: a.ns::b = firstParam
|
InstructionList |
ABCGeneratingReducer.reduce_qualifiedMemberAccessExpr(IASNode iNode,
InstructionList stem,
Binding qualifier,
Binding member,
int opcode) |
InstructionList |
ABCGeneratingReducer.reduce_qualifiedMemberRuntimeNameExpr_to_mxmlDataBindingSetter(IASNode qualifiedMemberRuntimeExpr,
InstructionList stem,
Binding qualifier,
InstructionList runtime_member)
Reduce a qualified member access expression ( a.ns::["b"] ) in an MXML data binding
destination to: a.ns::["b"] = firstParam
|
InstructionList |
ABCGeneratingReducer.reduce_qualifiedMemberRuntimeNameExpr(IASNode iNode,
InstructionList stem,
Binding qualifier,
InstructionList runtime_member_selector) |
InstructionList |
ABCGeneratingReducer.reduce_requiredParameter(IASNode iNode,
Name param_name,
Binding param_type) |
InstructionList |
ABCGeneratingReducer.reduce_restParameter(IASNode iNode,
Name param_name,
Binding param_type) |
Binding |
ABCGeneratingReducer.reduce_superAccess(IASNode iNode,
Binding qualified_name) |
InstructionList |
ABCGeneratingReducer.reduce_typedBindableVariableDecl(IASNode iNode,
Name name,
Binding var_type,
Vector<InstructionList> chained_decls) |
InstructionList |
ABCGeneratingReducer.reduce_typedBindableVariableDeclWithInitializer(IASNode iNode,
Name var_name,
Binding var_type,
InstructionList var_initializer,
Vector<InstructionList> chained_decls) |
InstructionList |
ABCGeneratingReducer.reduce_typedFunction_to_statement(IASNode iNode,
InstructionList plist,
Binding return_type,
InstructionList block) |
InstructionList |
ABCGeneratingReducer.reduce_typedVariableDecl(IASNode iNode,
Name var_name,
Binding var_type,
Vector<InstructionList> chained_decls) |
InstructionList |
ABCGeneratingReducer.reduce_typedVariableDeclWithConstantInitializer(IASNode iNode,
Name var_name,
Binding var_type,
Object constant_var_initializer,
Vector<InstructionList> chained_decls) |
InstructionList |
ABCGeneratingReducer.reduce_typedVariableDeclWithInitializer(IASNode iNode,
Name var_name,
Binding var_type,
InstructionList var_initializer,
Vector<InstructionList> chained_decls) |
Binding |
ABCGeneratingReducer.reduce_typedVariableExpression(IASNode iNode,
Name var_name,
Binding var_type) |
InstructionList |
ABCGeneratingReducer.reduce_typeNameParameter(IASNode iNode,
Binding param_name)
Reduce a name to an instruction list that can be used in a parameterized type expression.
|
InstructionList |
ABCGeneratingReducer.reduce_typeof_name(IASNode iNode,
Binding binding) |
InstructionList |
ABCGeneratingReducer.reduce_useNamespaceDirective(IASNode iNode,
Binding ns_name) |
InstructionList |
ABCGeneratingReducer.reduce_vectorLiteral(IASNode iNode,
Binding type_param,
Vector<InstructionList> elements) |
InstructionList |
ABCGeneratingReducer.reduceName_to_mxmlDataBindingSetter(IASNode nameNode,
Binding name)
Reduce a compile time constant name ( x ) in an MXML data binding
destination to: x = firstParam.
|
void |
LexicalScope.releaseTemp(Binding temp)
Release a temporary register.
|
protected void |
LexicalScope.TempManager.releaseTemp(Binding temp) |
InstructionList |
ABCGeneratingReducer.transform_name_to_expression(IASNode iNode,
Binding name) |
Modifier and Type | Method and Description |
---|---|
protected void |
LexicalScope.TempManager.addAllocatedTemps(com.google.common.collect.ImmutableList<Binding> temps) |
protected void |
LexicalScope.addInlinedBindings(Collection<Binding> bindings)
Add a collection of bindings to the collection of inlined bindings
in this lexical scope.
|
Constructor and Description |
---|
Binding(IASNode node,
Binding other)
Construct a Binding with the given node, but that otherwise has the same
properties as the other binding passed in.
|
Modifier and Type | Method and Description |
---|---|
void |
MethodBodySemanticChecker.checkAssignment(IASNode iNode,
Binding binding)
Perform semantic checks on an assignment.
|
void |
MethodBodySemanticChecker.checkCompoundAssignment(IASNode iNode,
Binding lvalue,
int opcode)
Check a compound assignment.
|
void |
MethodBodySemanticChecker.checkDeleteExpr(IASNode iNode,
Binding binding)
Perform semantic checks on a delete expression.
|
void |
MethodBodySemanticChecker.checkFunctionCall(IASNode iNode,
Binding method_binding,
Vector<? extends Object> actuals)
Check a function call.
|
void |
MethodBodySemanticChecker.checkGetProperty(Binding binding)
Check a getproperty operation.
|
void |
MethodBodySemanticChecker.checkIncDec(IASNode iNode,
boolean is_incr,
Binding binding)
Check foo++ and foo-- expressions.
|
void |
MethodBodySemanticChecker.checkInitialization(IASNode iNode,
Binding binding)
Perform semantic checks on an initialization
|
PooledValue |
MethodBodySemanticChecker.checkInitialValue(IVariableNode iNode,
Binding type,
PooledValue initial_value)
Check the initial value of an
IVariableNode . |
void |
MethodBodySemanticChecker.checkLValue(IASNode iNode,
Binding binding)
Perform semantic checks on an lvalue,
i.e., the target of an assignment
or other storage-mutating operation.
|
void |
MethodBodySemanticChecker.checkMemberAccess(IASNode iNode,
Binding member,
int opcode)
Check a member access expression.
|
void |
MethodBodySemanticChecker.checkNamespaceDeclaration(IASNode iNode,
Binding ns_name)
Check a namespace declaration.
|
void |
MethodBodySemanticChecker.checkNewExpr(IASNode iNode,
Binding class_binding,
Vector<? extends Object> args)
Check a new expression.
|
void |
MethodBodySemanticChecker.checkReference(Binding b)
Check for possible problems with a reference for an r-value.
|
void |
MethodBodySemanticChecker.checkReference(Binding b,
boolean forLValue)
Check for possible problems with a reference.
|
void |
MethodBodySemanticChecker.checkRestParameter(IASNode iNode,
Binding param_type)
Check a rest parameter declaration (...rest)
|
void |
MethodBodySemanticChecker.checkSimpleName(IASNode iNode,
Binding binding)
Check a simple name reference.
|
void |
MethodBodySemanticChecker.checkTypeName(Binding typename)
Verify that a named type exists.
|
void |
MethodBodySemanticChecker.checkUseNamespaceDirective(IASNode iNode,
Binding ns_name)
Check a use namespace directive.
|
void |
MethodBodySemanticChecker.checkVectorLiteral(IASNode iNode,
Binding type_param)
Check a Vector literal.
|
boolean |
SemanticUtils.definitionCanBeAnalyzed(Binding binding)
Is this Binding's definition statically analyzable?
|
static boolean |
SemanticUtils.definitionCanBeAnalyzed(Binding binding,
ICompilerProject project)
Is this Binding's definition statically analyzable?
|
static ExpressionNodeBase |
SemanticUtils.getBaseNode(Binding binding)
Get an ExpressionNodeBase's base node.
|
static boolean |
SemanticUtils.hasBaseNode(Binding binding)
Does this binding have a base node?
|
boolean |
SemanticUtils.hasDynamicBase(Binding binding)
Check an ExpressionNodeBase's base expression (if any)
to determine if it's a dynamic expression, which
means we don't know much about its definition.
|
static boolean |
SemanticUtils.hasDynamicBase(Binding binding,
ICompilerProject project)
Check an ExpressionNodeBase's base expression (if any)
to determine if it's a dynamic expression, which
means we don't know much about its definition.
|
static boolean |
SemanticUtils.isAmbiguousReference(Binding b)
Determine if a given binding is ambiguous
|
static boolean |
SemanticUtils.isArgumentsReference(Binding b)
Is the binding a potential reference to
the 'arguments' object
|
boolean |
SemanticUtils.isInaccessible(ASScope containingScope,
Binding b)
Is the given Binding inaccessible, i.e., known to
an underlying type scope but not defined here
due to access restrictions?
|
boolean |
SemanticUtils.isInaccessible(IASNode iNode,
Binding member)
Is the given binding an inaccessible reference?
|
static boolean |
SemanticUtils.isInaccessible(IASNode iNode,
Binding member,
ICompilerProject project)
Is the given binding an inaccessible reference?
|
Copyright © 2016 The Apache Software Foundation. All rights reserved.