Package | Description |
---|---|
org.apache.flex.compiler.common |
This package contains miscellaneous classes and interfaces
used by other compiler packages.
|
org.apache.flex.compiler.definitions.references |
This package contains interfaces related to inter-definition references.
|
org.apache.flex.compiler.internal.codegen.databinding | |
org.apache.flex.compiler.internal.definitions |
This package is the internal counterpart of the external
org.apache.flex.compiler.definitions package. |
org.apache.flex.compiler.internal.definitions.mxml | |
org.apache.flex.compiler.internal.definitions.references | |
org.apache.flex.compiler.internal.projects |
This package is the internal counterpart of the external
org.apache.flex.compiler.projects package. |
org.apache.flex.compiler.internal.scopes |
This package is the internal counterpart of the external
org.apache.flex.compiler.scopes package. |
org.apache.flex.compiler.internal.semantics | |
org.apache.flex.compiler.internal.tree.as |
This package is the internal counterpart of the external
org.apache.flex.compiler.tree.as package. |
org.apache.flex.compiler.internal.tree.as.metadata | |
org.apache.flex.compiler.internal.tree.mxml |
This package is the internal counterpart of the external
org.apache.flex.compiler.tree.mxml package. |
org.apache.flex.compiler.projects |
This package contains interfaces representing projects.
|
Modifier and Type | Method and Description |
---|---|
IASNode |
NodeReference.getNode(IWorkspace workspace,
ASScope scope)
Get a strong reference to the Node.
|
Modifier and Type | Method and Description |
---|---|
Name |
IReference.getMName(ICompilerProject project,
ASScope scope)
Gets the AET {link Name} that this reference represents in the given
project and scope.
|
IDefinition |
IReference.resolve(ICompilerProject project,
ASScope scope,
DependencyType dependencyType,
boolean canEscapeWith)
Resolves the reference to its
IDefinition in the given project
and scope. |
Modifier and Type | Method and Description |
---|---|
ASScope |
BindingDatabase.getScope()
returns the containing scope of one of the databinding nodes that have been analyzed
|
Modifier and Type | Method and Description |
---|---|
static MethodInfo |
BindingCodeGenUtils.generatePropertyGetterFunction(IABCVisitor emitter,
ICompilerProject project,
ASScope scope)
generate this function: function(propertyName:String):* { return
target[propertyName]; } where target == "this"
|
void |
BindingDatabase.setScope(ASScope scope) |
Modifier and Type | Method and Description |
---|---|
ASScope |
ScopedDefinitionBase.getContainedScope() |
ASScope |
ClassTraitsDefinition.getContainedScope()
Get the scope for this traits - will return the static scope so lookups
in the returned scope will only find statics.
|
protected ASScope |
DefinitionBase.getContainingASScope() |
Modifier and Type | Method and Description |
---|---|
static INamespaceReference |
NamespaceDefinition.createNamespaceReference(ASScope scope,
String baseName,
INamespaceReference qualifier)
Create a new UserDefinedNamespaceReference with the given scope, baseName, and qualifier
|
static INamespaceReference |
NamespaceDefinition.createNamespaceReference(ASScope scope,
String baseName,
INamespaceReference qualifier,
IReference base)
Create a new UserDefinedNamespaceReference with the given scope, baseName, qualifier, and base reference
|
static Collection<INamespaceReference> |
NamespaceDefinition.createNamespaceReferencesForQualifier(ASScope scope,
INamespaceDecorationNode node)
Generate a collection of INamespaceReferences that are all the namespace references that the given
INamespaceDecorationNode refers to, when that node is used as the qualifier in an expression, such as:
qualifer::expr
This returns a collection because some qualifiers (public, protected) may actually refer to multiple
namespaces depending on the context where they are used
|
static boolean |
AppliedVectorDefinition.isVectorScope(ASScope scope) |
static boolean |
NamespaceDefinition.qualifierCouldBeManyNamespaces(ASScope scope,
INamespaceDecorationNode node)
Determine if the INamespaceDecorationNode passed in could refer to more than one namespace when
used as a qualifier.
|
Modifier and Type | Class and Description |
---|---|
class |
MXMLEventHandlerScope
Sub-class of
FunctionScope for MXML event handlers. |
Modifier and Type | Method and Description |
---|---|
Name |
ResolvedReference.getMName(ICompilerProject project,
ASScope scope) |
Name |
ResolvedQualifiersReference.getMName(ICompilerProject project,
ASScope scope) |
Name |
ParameterizedReference.getMName(ICompilerProject project,
ASScope scope) |
Name |
NotATypeReference.getMName(ICompilerProject project,
ASScope scope) |
Name |
LexicalReference.getMName(ICompilerProject project,
ASScope scope) |
Name |
BuiltinReference.getMName(ICompilerProject project,
ASScope scope) |
Set<INamespaceDefinition> |
LexicalReference.getNamespaceSet(ICompilerProject project,
ASScope scope) |
IDefinition |
ResolvedReference.resolve(ICompilerProject project,
ASScope scope,
DependencyType dependencyType,
boolean canEscapeWith) |
IDefinition |
ResolvedQualifiersReference.resolve(ICompilerProject project,
ASScope scope,
DependencyType dependencyType,
boolean canEscapeWith) |
IDefinition |
ParameterizedReference.resolve(ICompilerProject project,
ASScope scope,
DependencyType dependencyType,
boolean canEscapeWith) |
IDefinition |
NotATypeReference.resolve(ICompilerProject project,
ASScope scope,
DependencyType dependencyType,
boolean canEscapeWith) |
IDefinition |
LexicalReference.resolve(ICompilerProject project,
ASScope scope,
DependencyType depencencyType,
boolean canEscapeWith) |
IDefinition |
BuiltinReference.resolve(ICompilerProject project,
ASScope scope,
DependencyType dependencyType,
boolean canEscapeWith) |
Modifier and Type | Method and Description |
---|---|
IDefinition |
FlexProject.doubleCheckAmbiguousDefinition(ASScope scope,
String name,
IDefinition def1,
IDefinition def2) |
IDefinition |
CompilerProject.doubleCheckAmbiguousDefinition(ASScope scope,
String name,
IDefinition def1,
IDefinition def2)
Override this to disambiguate between two ambiguous definitinos
|
ASScopeCache |
CompilerProject.getCacheForScope(ASScope scope)
Get the cache for a particular scope
|
Modifier and Type | Class and Description |
---|---|
class |
ASFileScope
IASScope implementation for FileNodes.
|
class |
CatchScope
ASScope subclass for Catch block scopes. |
class |
ClosureScope
Sub-class of ASScope used for function scopes. all definition in scope of
this type are local to a function.
|
class |
FunctionScope
Sub-class of ASScope used for function scopes. all definition in scope of
this type are local to a function.
|
class |
FXGFileScope
Sub-class of
ASFileScope for FXG file scope's. |
class |
MXMLFileScope
Subclass of
ASFileScope for MXML file scopes. |
class |
NoDefinitionScope
Base class for catch and with scopes.
|
class |
PackageScope
An
ASScope subclass for package scope's. |
class |
ScopeView
Base class for instance and class scopes.
|
static class |
SWCFileScopeProvider.SWCFileScope
This class is able to resolve the source file path of a given QName
defined in a SWC library, if the source directory is set for that SWC
library.
|
class |
TypeScope
IASScope implementation for class & interface Necessary to implement AS3 name
resolution semantics correctly because we are using 1 scope to represent
instance and static scopes.
|
class |
WithScope
Scope for a with block.
|
Modifier and Type | Method and Description |
---|---|
ASScope |
ASScope.getContainingScope() |
ASScope |
TypeScope.getInstanceScope()
Get the ASScope representing the itraits - this scope will only appear to
contain instance properties
|
ASScope |
TypeScope.getStaticScope()
Get the ASScope representing the ctraits - this scope will only appear to
contain static properties
|
ASScope |
ScopeView.resolveSuperScope(ICompilerProject project)
Get the scope of the super class - this method will do the right thing depending on
if this scope is the instance of static scope.
|
ASScope |
TypeScope.resolveSuperScope(ICompilerProject project,
org.apache.flex.compiler.internal.scopes.TypeScope.ScopeKind kind)
Get the scope of the super class - this method will do the right thing depending on
if this scope is the instance of static scope.
|
Modifier and Type | Method and Description |
---|---|
void |
ASProjectScope.addScopeToCompilationUnitScopeList(ASScope scope)
Adds the specified
ASScope to the list of IASScope s
associated with the ICompilationUnit that contains the specified
ASScope . |
void |
ASProjectScope.getPropertyForScopeChain(ASScope referencingScope,
Collection<IDefinition> defs,
String baseName,
Set<INamespaceDefinition> namespaceSet,
DependencyType dt) |
void |
TypeScope.setContainingScope(ASScope containingScope) |
void |
ASScope.setContainingScope(ASScope containingScope)
Sets the scope which lexically contains this scope.
|
Constructor and Description |
---|
ASScope(ASScope containingScope) |
ASScope(ASScope containingScope,
ScopedBlockNode block)
Constructor
|
ASScopeCache(CompilerProject project,
ASScope scope) |
CatchScope(ASScope containingScope) |
ClosureScope(ASScope containingScope) |
FunctionScope(ASScope containingScope) |
FunctionScope(ASScope containingScope,
ScopedBlockNode block) |
NoDefinitionScope(ASScope containingScope) |
PackageScope(ASScope containingScope,
String packageName)
Constructor
|
PackageScope(ASScope containingScope,
String packageName,
ScopedBlockNode contentsNode)
Constructor
|
TypeScope(ASScope containingScope,
ScopedBlockNode block,
TypeDefinitionBase owningType) |
TypeScope(ASScope containingScope,
TypeDefinitionBase owningType) |
WithScope(ASScope containingScope) |
Modifier and Type | Method and Description |
---|---|
static ASScope |
SemanticUtils.getASScope(IASNode iNode)
Get the given node's containing scope.
|
ASScope |
SemanticUtils.getClassScope(IASNode iNode)
Get the ASScope of the class that contains an inode.
|
static ASScope |
SemanticUtils.getClassScope(IASNode iNode,
ICompilerProject project)
Get the ASScope of the class that contains an inode.
|
static ASScope |
SemanticUtils.getSuperClassScope(ICompilerProject project,
IDefinition member_def)
Get the super class scope for the definition passed in.
|
Modifier and Type | Method and Description |
---|---|
static IDefinition |
SemanticUtils.findProperty(ASScope scope,
String member_name,
ICompilerProject project,
boolean lookForStatics)
Find a qualified property by name in a scope.
|
static IDefinition |
SemanticUtils.findPropertyQualified(ASScope scope,
IDefinition member_def,
ICompilerProject project)
Find a qualified property in a scope.
|
static IDefinition |
SemanticUtils.getPropertyQualified(ASScope scope,
IDefinition member_def,
ICompilerProject project)
Get a qualified property in a scope - this will look for properties with the same qualified name as member_def
in the scope passed in.
|
static IDefinition |
SemanticUtils.getPropertyQualified(ASScope scope,
INamespaceDefinition namespace,
String baseName,
ICompilerProject project)
Get a qualified property in a scope, given the namespace and base name to search for.
|
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?
|
Modifier and Type | Field and Description |
---|---|
protected ASScope |
ScopedBlockNode.scope
The scope associated with this block
|
Modifier and Type | Method and Description |
---|---|
ASScope |
ScopedBlockNode.getASScope() |
ASScope |
NodeBase.getASScope()
Get the scope this Node uses for name resolution as an ASScope.
|
ASScope |
ExpressionNodeBase.getASScope() |
Modifier and Type | Method and Description |
---|---|
protected void |
WithNode.analyze(EnumSet<PostProcessStep> set,
ASScope scope,
Collection<ICompilerProblem> problems) |
protected void |
UseNamespaceNode.analyze(EnumSet<PostProcessStep> set,
ASScope scope,
Collection<ICompilerProblem> problems) |
protected void |
SetterNode.analyze(EnumSet<PostProcessStep> set,
ASScope scope,
Collection<ICompilerProblem> problems) |
protected void |
ScopedBlockNode.analyze(EnumSet<PostProcessStep> set,
ASScope scope,
Collection<ICompilerProblem> problems) |
protected void |
ParameterNode.analyze(EnumSet<PostProcessStep> set,
ASScope scope,
Collection<ICompilerProblem> problems) |
protected void |
PackageNode.analyze(EnumSet<PostProcessStep> set,
ASScope scope,
Collection<ICompilerProblem> problems) |
protected void |
NodeBase.analyze(EnumSet<PostProcessStep> set,
ASScope scope,
Collection<ICompilerProblem> problems) |
protected void |
NamespaceNode.analyze(EnumSet<PostProcessStep> set,
ASScope scope,
Collection<ICompilerProblem> problems) |
protected void |
InterfaceNode.analyze(EnumSet<PostProcessStep> set,
ASScope scope,
Collection<ICompilerProblem> problems) |
protected void |
ImportNode.analyze(EnumSet<PostProcessStep> set,
ASScope scope,
Collection<ICompilerProblem> problems) |
protected void |
IdentifierNode.analyze(EnumSet<PostProcessStep> set,
ASScope scope,
Collection<ICompilerProblem> problems) |
protected void |
FunctionObjectNode.analyze(EnumSet<PostProcessStep> set,
ASScope scope,
Collection<ICompilerProblem> problems) |
protected void |
FunctionNode.analyze(EnumSet<PostProcessStep> set,
ASScope scope,
Collection<ICompilerProblem> problems) |
protected void |
ForLoopNode.analyze(EnumSet<PostProcessStep> set,
ASScope scope,
Collection<ICompilerProblem> problems) |
protected void |
FileNode.analyze(EnumSet<PostProcessStep> set,
ASScope scope,
Collection<ICompilerProblem> problems) |
protected void |
ClassNode.analyze(EnumSet<PostProcessStep> set,
ASScope scope,
Collection<ICompilerProblem> problems) |
protected void |
CatchNode.analyze(EnumSet<PostProcessStep> set,
ASScope scope,
Collection<ICompilerProblem> problems) |
protected void |
BaseVariableNode.analyze(EnumSet<PostProcessStep> set,
ASScope scope,
Collection<ICompilerProblem> problems) |
protected void |
BaseDefinitionNode.analyze(EnumSet<PostProcessStep> set,
ASScope scope,
Collection<ICompilerProblem> problems) |
DefinitionBase |
BaseTypedDefinitionNode.buildBindableSetter(String definitionName,
ASScope containingScope,
IReference typeRef) |
protected void |
FileNode.initializeScope(ASScope containingScope) |
Collection<ICompilerProblem> |
ScopedBlockNode.runPostProcess(EnumSet<PostProcessStep> set,
ASScope containingScope) |
Collection<ICompilerProblem> |
NodeBase.runPostProcess(EnumSet<PostProcessStep> set,
ASScope containingScope) |
void |
ScopedBlockNode.setScope(ASScope scope)
Attaches this node to the scope that has been created for it.
|
Modifier and Type | Method and Description |
---|---|
void |
MetaTagsNode.analyze(EnumSet<PostProcessStep> set,
ASScope scope,
Collection<ICompilerProblem> problems) |
protected void |
BaseDefinitionMetaTagNode.analyze(EnumSet<PostProcessStep> set,
ASScope scope,
Collection<ICompilerProblem> problems) |
Modifier and Type | Method and Description |
---|---|
static List<ScopedBlockNode> |
MXMLNodeBase.processUnitAsAS(MXMLTreeBuilder builder,
IMXMLTagData tag,
String sourcePath,
ASScope containingScope,
PostProcessStep buildOrReconnect,
IMXMLFileNode ancestorFileNode)
Processes all the children of the given
IMXMLTagData unit that are
IMXMLTextData nodes. |
Modifier and Type | Method and Description |
---|---|
IDefinition |
ICompilerProject.doubleCheckAmbiguousDefinition(ASScope scope,
String name,
IDefinition def1,
IDefinition def2)
Override this to do try harder to disambiguate between two ambiguous definitions
|
Copyright © 2016 The Apache Software Foundation. All rights reserved.