public abstract class ClassDefinitionBase extends TypeDefinitionBase implements IClassDefinition
| Modifier and Type | Class and Description |
|---|---|
static class |
ClassDefinitionBase.ClassIterator |
TypeDefinitionBase.StaticTypeIterator, TypeDefinitionBase.TypeIteratorIClassDefinition.ClassClassification, IClassDefinition.IClassIteratorFLAG_CAST_FUNCTION, FLAG_CONSTRUCTOR, FLAG_CONTINGENT, FLAG_DECLARED_IN_CONTROL_FLOW, FLAG_DEFAULT, FLAG_DEPRECATED, FLAG_DYNAMIC, FLAG_FINAL, FLAG_GENERATED_EMBED_CLASS, FLAG_HAS_INIT, FLAG_IMPLICIT, FLAG_NATIVE, FLAG_OVERRIDE, FLAG_REST, FLAG_STATIC, flags, nodeRef, singletonEmptyMetaTagsANY_TYPE, NULL, UNDEFINED, VOID| Modifier | Constructor and Description |
|---|---|
protected |
ClassDefinitionBase(String name) |
| Modifier and Type | Method and Description |
|---|---|
Iterable<IClassDefinition> |
classIterable(ICompilerProject project,
boolean includeThis) |
IClassDefinition.IClassIterator |
classIterator(ICompilerProject project,
boolean includeThis)
Creates an iterator for enumerating the superclasses of this class.
|
boolean |
computeNeedsEventDispatcher(ICompilerProject project)
Determine if this class needs to add an implicit 'implements
flash.events.IEventDispatcher' due to the class, or some of its members
being marked bindable.
|
IMetaTag[] |
findMetaTagsByName(String name,
ICompilerProject project)
Finds all metadata with a specified tag name.
|
IClassDefinition[] |
getAlternativeClasses(ICompilerProject project,
Version version)
Returns the classes that are specified as replacing the given class.
|
String |
getIconFile()
For a Flex component class, gets the path to the icon file representing
the component, as specified by
[IconFile(...)] |
abstract IReference[] |
getImplementedInterfaceReferences()
Returns
IReference objects that will resolve to any interface this
class directly implements. |
Iterator<IInterfaceDefinition> |
interfaceIterator(ICompilerProject project)
Creates an iterator for enumerating all of the interfaces that this class
implements.
|
boolean |
isInstanceOf(ITypeDefinition type,
ICompilerProject project)
Determines whether an "is-a" relationship exists between two classes or
interfaces.
|
boolean |
needsEventDispatcher(ICompilerProject project)
Determine if this class needs to add an implicit 'implements
flash.events.IEventDispatcher' due to the class, or some of its members
being marked bindable.
|
boolean |
needsStaticEventDispatcher(ICompilerProject project)
Determine if this class needs a static event dispatcher added to it.
|
Set<IInterfaceDefinition> |
resolveAllInterfaces(ICompilerProject project) |
IClassDefinition[] |
resolveAncestry(ICompilerProject project)
Get the ancestral stack for this class, from this class all the way to
Object.
|
InterfaceDefinition |
resolveImplementedInterface(ICompilerProject project,
int i)
Resolve one of the implemented interfaces.
|
IInterfaceDefinition[] |
resolveImplementedInterfaces(ICompilerProject project)
Get the definitions of the implemented interfaces.
|
InterfaceDefinition[] |
resolveImplementedInterfaces(ICompilerProject project,
Collection<ICompilerProblem> problems)
Version of resolveImplementedInterfaces that will log Problems associated
with resolving the implemented interfaces This will not log any problems
if null is passed in for the problem collection.
|
InterfaceDefinition[] |
resolveImplementedInterfaces(ICompilerProject project,
Collection<ICompilerProblem> problems,
boolean includeImplicits)
Version of resolveImplementedInterfaces that will log Problems associated
with resolving the implemented interfaces This will not log any problems
if null is passed in for the problem collection.
|
IInterfaceDefinition[] |
resolveInterfacesImpl(ICompilerProject project)
Resolve the implemented interfaces of this Class
|
filterNullInterfaces, getNameStart, getNode, getPackageName, isInstanceOf, resolveType, staticTypeIterable, typeIteratablegetContainedScope, setContainedScope, verifyaddMetaTag, buildInnerString, buildString, getAbsoluteEnd, getAbsoluteStart, getAllMetaTags, getAncestorOfType, getArrayElementType, getBaseName, getBindableEventNames, getColumn, getContainingASScope, getContainingFilePath, getContainingScope, getContainingSourceFilePath, getDefinition, getDeprecationInfo, getEnd, getExplicitSourceComment, getFileScope, getFileSpecification, getInstanceType, getLine, getLocationString, getMaxSize, getMetaTagByName, getMetaTagsByName, getMName, getModifiers, getNameColumn, getNameEnd, getNameLine, getNamespaceReference, getNamespaceReferenceAsString, getParent, getPercentProxy, getQualifiedName, getSize, getSkinPart, getSourcePath, getStart, getStorageName, getTypeAsDisplayString, getTypeDependencyType, getTypeReference, hasCollapseWhiteSpace, hasExplicitComment, hasMetaTagByName, hasModifier, hasNamespace, hasRichTextContent, inPackageNamespace, isBindable, isBindableStyle, isColor, isContingent, isContingentNeeded, isDeprecated, isDynamic, isEmpty, isFinal, isGeneratedEmbedClass, isImplicit, isInProject, isInternal, isNative, isOverride, isPrivate, isProtected, isPublic, isRequiredSkinPart, isStatic, isTopLevelDefinition, matches, resolveNamespace, resolveType, resolveType, resolveType, resolveType, setBindable, setContainingScope, setContingent, setDynamic, setFinal, setGeneratedEmbedClass, setImplicit, setLocation, setMetaTags, setModifier, setNameLocation, setNamespaceReference, setNative, setNode, setOverride, setPublic, setStatic, setTypeReference, toStorageName, toString, unsetOverrideclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitfindEffectDefinitions, findEventDefinitions, findSkinParts, findSkinStates, findStateNames, findStyleDefinitions, getBaseClassAsDisplayString, getBaseClassReference, getClassClassification, getConstructor, getDefaultPropertyName, getEffectDefinition, getEffectDefinitions, getEventDefinition, getEventDefinitions, getImplementedInterfacesAsDisplayStrings, getSkinParts, getSkinStates, getStateNames, getStyleDefinition, getStyleDefinitions, resolveBaseClass, resolveHostComponentgetNode, getProtectedNamespaceReference, getStaticProtectedNamespaceReference, isInstanceOf, typeIteratablegetContainedScopegetExplicitSourceComment, hasExplicitCommentgetAbsoluteEnd, getAbsoluteStart, getAllMetaTags, getAncestorOfType, getBaseName, getBindableEventNames, getColumn, getContainingFilePath, getContainingScope, getContainingSourceFilePath, getDeprecationInfo, getEnd, getLine, getMetaTagByName, getMetaTagsByName, getModifiers, getNameColumn, getNameEnd, getNameLine, getNamespaceReference, getNameStart, getPackageName, getParent, getQualifiedName, getSourcePath, getStart, getTypeAsDisplayString, getTypeReference, hasMetaTagByName, hasModifier, hasNamespace, isBindable, isBindableStyle, isContingent, isContingentNeeded, isDeprecated, isDynamic, isFinal, isGeneratedEmbedClass, isImplicit, isInProject, isInternal, isNative, isOverride, isPrivate, isProtected, isPublic, isStatic, resolveNamespace, resolveTypeprotected ClassDefinitionBase(String name)
public IClassDefinition[] resolveAncestry(ICompilerProject project)
IClassDefinitionresolveAncestry in interface IClassDefinitionpublic InterfaceDefinition resolveImplementedInterface(ICompilerProject project, int i)
project - ICompilerProject whose symbol table should be used
to resolve references.i - Index indicating which implemented interface to resolve.IInterfaceDefinition for the implemented interface if the
reference can be resolved, null otherwise.public IInterfaceDefinition[] resolveImplementedInterfaces(ICompilerProject project)
IClassDefinitionresolveImplementedInterfaces in interface IClassDefinitionpublic IInterfaceDefinition[] resolveInterfacesImpl(ICompilerProject project)
resolveInterfacesImpl in class TypeDefinitionBaseproject - the active projectpublic InterfaceDefinition[] resolveImplementedInterfaces(ICompilerProject project, Collection<ICompilerProblem> problems)
project - project to resolve the interfaces inproblems - a Collection to add problems to if any are encountered,
or null if the caller is not interested in the problems.public InterfaceDefinition[] resolveImplementedInterfaces(ICompilerProject project, Collection<ICompilerProblem> problems, boolean includeImplicits)
project - project to resolve the interfaces inproblems - a Collection to add problems to if any are encountered,
or null if the caller is not interested in the problems.includeImplicits - true, if implicit interfaces should be found,
false, if they should not be found.public boolean needsEventDispatcher(ICompilerProject project)
The result of this method is cached in the ASScopeCache for the
TypeScope contained by this class.
needsEventDispatcher in interface IClassDefinitionproject - The project to use to resolve interfaces and base classespublic boolean computeNeedsEventDispatcher(ICompilerProject project)
This method is called by the ASScopeCache and should not be
called by other classes. All classes other than the ASScopeCache
should call needsEventDispatcher(ICompilerProject).
project - The project to use to resolve interfaces and base classespublic boolean needsStaticEventDispatcher(ICompilerProject project)
needsStaticEventDispatcher in interface IClassDefinitionproject - Project to use to resolve things.public Iterable<IClassDefinition> classIterable(ICompilerProject project, boolean includeThis)
public IClassDefinition.IClassIterator classIterator(ICompilerProject project, boolean includeThis)
IClassDefinitionclassIterator in interface IClassDefinitionproject - The ICompilerProject within which references
should be resolved.includeThis - A flag indicating whether the enumeration should start
with this class rather than with its superclass.IClassDefinition.IClassIterator that iterates over
IClassDefinition objects.public Iterator<IInterfaceDefinition> interfaceIterator(ICompilerProject project)
IClassDefinitioninterfaceIterator in interface IClassDefinitionproject - The ICompilerProject within which references
should be resolvedIInterfaceDefinition
objects.public boolean isInstanceOf(ITypeDefinition type, ICompilerProject project)
ITypeDefinition
If this is an IClassDefinition and type
is an IClassDefinition, this method determines whether
this is a subclass of type.
If this is an IClassDefinition and type
is an IInterfaceDefinition, this method determines whether
this is implements type.
If this is an IInterfaceDefinition and
type is an IInterfaceDefinition, this method
determines whether this is a subinterface of
type.
A class or interface is considered an instance of itself.
isInstanceOf in interface ITypeDefinitiontype - An ITypeDefinition representing a class or interface.project - The ICompilerProject within which references should
be resolvedpublic Set<IInterfaceDefinition> resolveAllInterfaces(ICompilerProject project)
resolveAllInterfaces in interface ITypeDefinitionpublic IClassDefinition[] getAlternativeClasses(ICompilerProject project, Version version)
IClassDefinitiongetAlternativeClasses in interface IClassDefinitionproject - the associated projectversion - the Version we are working against. If the
version is less than the "since" metaData, the replacement class will not
be returnedpublic IMetaTag[] findMetaTagsByName(String name, ICompilerProject project)
IClassDefinition
If the tag name is in the set
IMetaAttributeConstants.NON_INHERITING_METATAGS, then only this
class is searched; otherwise the superclass chain is searched as well.
findMetaTagsByName in interface IClassDefinitionname - The tag name of the desired metadata, such as
"Event".project - An ICompilerProject object, for resolving the
superclass chain.IMetaTag objects. If there is no metadata with
the specified tag name, the result is an empty array, not
null.public abstract IReference[] getImplementedInterfaceReferences()
IClassDefinitionIReference objects that will resolve to any interface this
class directly implements. This does not walk of the inheritance chain.getImplementedInterfaceReferences in interface IClassDefinitionIReference objects, or an empty array.public String getIconFile()
IClassDefinition[IconFile(...)] metadata.getIconFile in interface IClassDefinitionnull if there is no such metadata.Copyright © 2016 The Apache Software Foundation. All rights reserved.