Package gw.internal.gosu.parser
Class GosuClass
- java.lang.Object
-
- gw.lang.reflect.AbstractType
-
- gw.lang.reflect.InnerClassCapableType
-
- gw.internal.gosu.parser.GosuClass
-
- All Implemented Interfaces:
ICompilableTypeInternal
,IGosuClassInternal
,IParameterizableType
,IFileRepositoryBasedType
,IHasInnerClass
,ICompilableType
,IGosuClass
,ICanBeAnnotation
,IEnhanceableType
,IEnumData
,IEnumType
,IHasJavaClass
,IType
,Serializable
,Comparable
- Direct Known Subclasses:
GosuClassFragment
,GosuEnhancement
,GosuProgram
,SyntheticClass
public class GosuClass extends InnerClassCapableType implements IGosuClassInternal
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface gw.lang.reflect.gs.IGosuClass
IGosuClass.ProxyUtil
-
Nested classes/interfaces inherited from interface gw.internal.gosu.parser.IGosuClassInternal
IGosuClassInternal.Util
-
-
Field Summary
Fields Modifier and Type Field Description protected GosuClassParseInfo
_parseInfo
-
Fields inherited from interface gw.lang.reflect.gs.IGosuClass
ANONYMOUS_PREFIX, PROXY_PREFIX, SUPER_PROXY_CLASS_PREFIX
-
Fields inherited from interface gw.lang.reflect.IType
EMPTY_ARRAY, EMPTY_TYPE_ARRAY, EMPTY_TYPE_LIST
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
GosuClass(IGosuClass genericClass, IType[] typeParams)
protected
GosuClass(IGosuClass genericClass, IType[] typeParams, boolean bCopyState)
GosuClass(String strNamespace, String strRelativeName, GosuClassTypeLoader classTypeLoader, ISourceFileHandle sourceFile, ITypeUsesMap typeUsesMap)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addBlock(IBlockClass block)
void
addCapturedSymbol(ICapturedSymbol sym)
void
addDelegateImpls(ISymbolTable symTable, GosuClassParser parser)
void
addInnerClass(IGosuClassInternal innerGsClass)
void
addInterface(IType type)
void
assignTypeUsesMap(GosuParser parser)
void
assignTypeVarsFromTypeParams(IType[] typeParams)
Note a gosu class can be BOTH parameterzied AND generic.int
compareTo(Object o)
byte[]
compile()
void
compileDeclarationsIfNeeded()
void
compileDefinitionsIfNeeded()
void
compileDefinitionsIfNeeded(boolean bForce)
void
compileHeaderIfNeeded()
void
copyGenericState(boolean bCopyHierarchy)
void
copyHierarchyInfo()
GosuClassParseInfo
createNewParseInfo()
When changing the places from which this method is called run pc's gw.smoketest.pc.job.common.effectivetime.VisibleEffectiveTimeTest cause it will break!Object
dontEverCallThis()
boolean
ensureDefaultConstructor(ISymbolTable symbolTable, GosuParser parser)
IType
findProxiedClassInHierarchy()
void
forceTypeInfoInitialization()
Set<IType>
getAllTypesInHierarchy()
Returns a Set of all IIntrinsicTypes that this class is assignable from, including this class.int
getAnonymousInnerClassCount()
Object
getArrayComponent(Object array, int iIndex)
Returns the value of the indexed component in the specified array object.int
getArrayLength(Object array)
Returns the length of the specified array object.IType
getArrayType()
Make an array type from this type.Class<?>
getBackingClass()
IGosuClass
getBlock(int i)
int
getBlockCount()
List<IGosuClass>
getBlocks()
ICapturedSymbol
getCapturedSymbol(String strName)
Map<String,ICapturedSymbol>
getCapturedSymbols()
ClassStatement
getClassStatement()
ClassStatement
getClassStatementWithoutCompile()
ClassType
getClassType()
gw.internal.gosu.parser.CompilationState
getCompilationState()
IType
getComponentType()
If this is an array type, a type representing the component type of the array.Set<IType>
getCompoundTypeComponents()
DynamicFunctionSymbol
getConstructorFunction(String name)
List<DynamicFunctionSymbol>
getConstructorFunctions()
IConstructorStatement
getConstructorStatement(IConstructorInfo ctor)
DynamicFunctionSymbol
getDefaultConstructor()
int
getDepth()
String
getDisplayName()
The display name of this intrinsic type.IType
getEnclosingNonBlockType()
ICompilableTypeInternal
getEnclosingType()
Returns the type immediately enclosing this type.IType
getEnclosingTypeReference()
List<String>
getEnumConstants()
IEnumValue
getEnumValue(String strName)
List<IEnumValue>
getEnumValues()
ISymbol
getExternalSymbol(String strName)
String
getFullDescription()
IFunctionType
getFunctionalInterface()
IFunctionStatement
getFunctionStatement(IMethodInfo method)
IGosuClassInternal
getGenericType()
If this is a parameterized type, returns the generic type this type parameterizes.GenericTypeVariable[]
getGenericTypeVariables()
Returns an array of GenericTypeVariables declared with this Generic Type.List<? extends IGosuAnnotation>
getGosuAnnotations()
String
getId()
IGosuClassInternal
getInnerClass(CharSequence relativeName)
returns the appropriate inner classList<IGosuClassInternal>
getInnerClasses()
Map<CharSequence,IGosuClassInternal>
getInnerClassesMap()
IType[]
getInterfaces()
IJavaType
getJavaType()
Map<CharSequence,? extends IGosuClass>
getKnownInnerClassesWithoutCompiling()
List<IType>
getLoadedInnerClasses()
IType[]
getLoaderParameterizedTypes()
VarStatement
getMemberField(String charSequence)
Map<CharSequence,ISymbol>
getMemberFieldIndexByName()
List<IVarStatement>
getMemberFields()
Map<String,VarStatement>
getMemberFieldsMap()
DynamicFunctionSymbol
getMemberFunction(IFunctionType funcType, boolean bContravariant)
DynamicFunctionSymbol
getMemberFunction(IFunctionType funcType, String signature, boolean bContravariant)
List<DynamicFunctionSymbol>
getMemberFunctions()
List<DynamicFunctionSymbol>
getMemberFunctions(String names)
List<DynamicPropertySymbol>
getMemberProperties()
DynamicPropertySymbol
getMemberProperty(String name)
ModifierInfo
getModifierInfo()
int
getModifiers()
Returns the modifiers for this type, encoded in an integer.String
getName()
The fully qualified name of this intrinsic type.String
getNamespace()
The namespace for this class.protected GosuParser
getOrCreateParser(CompiledGosuClassSymbolTable symbolTable)
protected ITypeRef
getOrCreateTypeReference()
protected ITypeRef
getOrCreateTypeReference(IType type)
IGosuClassInternal
getParameterizedType(IType... paramTypes)
Assuming this intrinsic type is a Generic type, return the parameterized type associated with the given list of type parameters.Collection<IGosuClassInternal>
getParameterizedTypes()
GosuClassParseInfo
getParseInfo()
GosuParser
getParser()
!! The parser is only set when this class is parsed in an editor in an IDE !!ParseResultsException
getParseResultsException()
INameInDeclaration
getPropertyDeclaration(String name)
String
getRelativeName()
The relative or unqualified name.String
getSource()
ISourceFileHandle
getSourceFileHandle()
IFile[]
getSourceFiles()
VarStatement
getStaticField(String name)
List<IVarStatement>
getStaticFields()
List<DynamicFunctionSymbol>
getStaticFunctions()
List<DynamicPropertySymbol>
getStaticProperties()
DynamicPropertySymbol
getStaticProperty(String name)
Symbol
getStaticThisSymbol()
List<? extends IType>
getSubtypes()
WARNING: This method is slow the first time it is called.IGosuClassInternal
getSuperClass()
IType
getSupertype()
Returns the type representing the supertype of this type.GosuClassTypeInfo
getTypeInfo()
Get the type information for this intrinsic type.int
getTypeInfoChecksum()
GosuClassTypeLoader
getTypeLoader()
Returns the type loader responsible for loading this intrinsic type.IType[]
getTypeParameters()
If this is a parameterized type, returns the specific types used to create this type, null otherwies.ITypeUsesMap
getTypeUsesMap()
List<ITypeVariableDefinition>
getTypeVarDefs()
List<IFunctionType>
getUnimplementedMethods()
static List<IFunctionType>
getUnimplementedMethods(IGosuClass gsIface, IGosuClass implClass, List<IFunctionType> unimpled, boolean ensurePublic, boolean bAcceptAbstract)
List<IFunctionType>
getUnimplementedMethods(List<IFunctionType> unimpled, IGosuClassInternal implClass, boolean bAcceptAbstract)
boolean
hasAncestorBeenUpdated()
boolean
hasAssertions()
boolean
hasBackingClass()
boolean
hasError()
boolean
hasWarnings()
boolean
isAbstract()
boolean
isAccessible(IGosuClassInternal compilingClass, AbstractDynamicSymbol ads)
boolean
isAnnotation()
boolean
isAnonymous()
boolean
isArray()
True if this is an array.boolean
isAssignableFrom(IType type)
Determines if the type represented by this intrinsic type is either the same as, or is a super-type of the type represented by the specified type parameter.boolean
isCannotCaptureSymbols()
boolean
isCompilable()
boolean
isCompiled()
boolean
isCompilingDeclarations()
boolean
isCompilingDefinitions()
boolean
isCompilingHeader()
boolean
isCompoundType()
boolean
isCreateEditorParser()
boolean
isDeclarationsBypassed()
boolean
isDeclarationsCompiled()
boolean
isDefinitionsCompiled()
boolean
isDiscarded()
True if this type has been replaced with a newer version of the same name in the type system.boolean
isEnum()
Returns true if this type is an enumeration.boolean
isFinal()
True if this type cannot be extended.boolean
isGenericType()
Returns true if this ia a Generic Type.boolean
isHeaderCompiled()
boolean
isInnerDeclarationsCompiled()
boolean
isInterface()
Returns true if this type is an interface.boolean
isMutable()
Are intances of this type mutable? Note sometimes it's difficult to determine.boolean
isParameterizedType()
Returns true if this ia a Parameterized Type.boolean
isPrimitive()
True if this type represents a primitive type e.g., Java int, char, etc.boolean
isProxy()
boolean
isStale()
boolean
isStatic()
boolean
isStrictGenerics()
boolean
isStructure()
boolean
isSubClass(IType gsSubType)
boolean
isTestClass()
boolean
isValid()
Defines this type if it is not yet fully defined.Object
makeArrayInstance(int iLength)
Construct an array instance of specified length.protected IGosuClassInternal
makeCopy(IType... paramTypes)
void
markStatic()
void
putClassMembers(GosuParser owner, ISymbolTable table, IGosuClassInternal gsContextClass, boolean bStatic)
void
putClassMembers(GosuClassTypeLoader loader, GosuParser owner, ISymbolTable table, IGosuClassInternal gsContextClass, boolean bStatic)
void
putClassMembers(GosuClassTypeLoader loader, GosuParser owner, ISymbolTable table, IGosuClassInternal gsContextClass, boolean bStatic, boolean bStaticImport)
Object
readResolve()
IType requires this method be implemented to ensure IType instances can be centrally defined and cached.void
removeBlock(IBlockClass block)
void
removeInnerClass(IGosuClassInternal innerGsClass)
IType
resolveRelativeInnerClass(String strRelativeInnerClassName, boolean bForce)
void
setAnnotations(List<IGosuAnnotation> annotations)
void
setArrayComponent(Object array, int iIndex, Object value)
Sets the value of the indexed component in the specified array object.void
setCannotCaptureSymbols(boolean bCannotCaptureSymbols)
void
setCompilingDeclarations(boolean bCompilingDeclarations)
void
setCompilingDefinitions(boolean bCompilingDefinitions)
void
setCompilingHeader(boolean bCompilingHeader)
void
setCreateEditorParser(boolean bEditorParser)
void
setDeclarationsBypassed()
void
setDeclarationsCompiled()
void
setDefinitionsCompiled()
void
setDiscarded(boolean bDiscarded)
void
setEditorParser(GosuParser parser)
!! Used only when compiling from an edtior !!void
setEnclosingType(IType enclosingType)
Only for use during type loading e.g., from GosuClassTypeLoadervoid
setEnum()
void
setFullDescription(String description)
void
setGenericTypeVariables(List<ITypeVariableDefinition> typeVarExprList)
void
setHasAssertions(boolean bHasAssertions)
void
setHeaderCompiled()
void
setInnerDeclarationsCompiled()
void
setInterface(boolean bInterface)
void
setJavaType(IJavaType javaType)
void
setModifierInfo(ModifierInfo modifierInfo)
void
setNamespace(String namespace)
void
setParseResultsException(ParseResultsException pe)
void
setStructure(boolean bStructure)
void
setSuperType(IType superType)
void
setTypeUsesMap(ITypeUsesMap usesMap)
boolean
shouldFullyCompileAnnotations()
boolean
shouldKeepDebugInfo()
boolean
shouldResolve()
void
syncGenericAndParameterizedClasses()
String
toString()
void
unloadBackingClass()
void
unloadTypeInfo()
Unload or nullify any references to this IType's ITypeInfo.-
Methods inherited from class gw.lang.reflect.AbstractType
getLiteralMetaType, getMetaType, getTheRef
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface gw.lang.parser.IFileRepositoryBasedType
getJavaName
-
Methods inherited from interface gw.lang.reflect.IType
getLiteralMetaType, getMetaType, isDynamic
-
-
-
-
Field Detail
-
_parseInfo
protected transient GosuClassParseInfo _parseInfo
-
-
Constructor Detail
-
GosuClass
public GosuClass(String strNamespace, String strRelativeName, GosuClassTypeLoader classTypeLoader, ISourceFileHandle sourceFile, ITypeUsesMap typeUsesMap)
-
GosuClass
protected GosuClass(IGosuClass genericClass, IType[] typeParams)
-
GosuClass
protected GosuClass(IGosuClass genericClass, IType[] typeParams, boolean bCopyState)
-
-
Method Detail
-
getParseInfo
public GosuClassParseInfo getParseInfo()
- Specified by:
getParseInfo
in interfaceICompilableTypeInternal
- Specified by:
getParseInfo
in interfaceIGosuClassInternal
-
hasAssertions
public boolean hasAssertions()
- Specified by:
hasAssertions
in interfaceICompilableTypeInternal
-
setHasAssertions
public void setHasAssertions(boolean bHasAssertions)
- Specified by:
setHasAssertions
in interfaceIGosuClassInternal
-
dontEverCallThis
public Object dontEverCallThis()
- Specified by:
dontEverCallThis
in interfaceIGosuClassInternal
-
copyGenericState
public void copyGenericState(boolean bCopyHierarchy)
- Specified by:
copyGenericState
in interfaceIGosuClassInternal
-
copyHierarchyInfo
public void copyHierarchyInfo()
- Specified by:
copyHierarchyInfo
in interfaceIGosuClassInternal
-
getName
public String getName()
Description copied from interface:IType
The fully qualified name of this intrinsic type.
-
getDisplayName
public String getDisplayName()
Description copied from interface:IType
The display name of this intrinsic type. Often this is simply the same asIType.getName()
, but in some cases a type may want to modify it's name for presentation to the user.- Specified by:
getDisplayName
in interfaceIType
-
getRelativeName
public String getRelativeName()
Description copied from interface:IType
The relative or unqualified name. For a class this should be just the class name without the package name.- Specified by:
getRelativeName
in interfaceIType
-
getNamespace
public String getNamespace()
Description copied from interface:IType
The namespace for this class. For a java class this will be the package, while for other types of intrinsic types it could be another logical name.- Specified by:
getNamespace
in interfaceIType
-
setNamespace
public void setNamespace(String namespace)
- Specified by:
setNamespace
in interfaceIGosuClass
-
getTypeLoader
public GosuClassTypeLoader getTypeLoader()
Description copied from interface:IType
Returns the type loader responsible for loading this intrinsic type.- Specified by:
getTypeLoader
in interfaceICompilableType
- Specified by:
getTypeLoader
in interfaceIGosuClassInternal
- Specified by:
getTypeLoader
in interfaceIType
-
getSupertype
public IType getSupertype()
Description copied from interface:IType
Returns the type representing the supertype of this type. Returns null if this type has no supertype.- Specified by:
getSupertype
in interfaceIType
-
getGenericType
public IGosuClassInternal getGenericType()
Description copied from interface:IType
If this is a parameterized type, returns the generic type this type parameterizes. Otherwise, returns null.- Specified by:
getGenericType
in interfaceIType
-
isFinal
public boolean isFinal()
Description copied from interface:IType
True if this type cannot be extended.
-
isInterface
public boolean isInterface()
Description copied from interface:IType
Returns true if this type is an interface.- Specified by:
isInterface
in interfaceIType
-
setInterface
public void setInterface(boolean bInterface)
- Specified by:
setInterface
in interfaceIGosuClassInternal
-
isStructure
public boolean isStructure()
- Specified by:
isStructure
in interfaceIGosuClass
-
setStructure
public void setStructure(boolean bStructure)
- Specified by:
setStructure
in interfaceIGosuClassInternal
-
isEnum
public boolean isEnum()
Description copied from interface:IType
Returns true if this type is an enumeration.
-
setEnum
public void setEnum()
- Specified by:
setEnum
in interfaceIGosuClassInternal
-
getEnumConstants
public List<String> getEnumConstants()
- Specified by:
getEnumConstants
in interfaceIEnumData
-
getEnumValues
public List<IEnumValue> getEnumValues()
- Specified by:
getEnumValues
in interfaceIEnumData
-
getEnumValue
public IEnumValue getEnumValue(String strName)
- Specified by:
getEnumValue
in interfaceIEnumData
-
getInterfaces
public IType[] getInterfaces()
- Specified by:
getInterfaces
in interfaceIType
- Returns:
- If this is a class, returns a list of all the interfaces this type implements. Similarly, if this is an interface, returns a list of all the interfaces this type extends. In any case, returns an empty list if this type neither implements nor extends interfaces.
-
addInterface
public void addInterface(IType type)
- Specified by:
addInterface
in interfaceIGosuClassInternal
-
getJavaType
public IJavaType getJavaType()
- Specified by:
getJavaType
in interfaceIGosuClass
-
setJavaType
public void setJavaType(IJavaType javaType)
- Specified by:
setJavaType
in interfaceIGosuClassInternal
-
findProxiedClassInHierarchy
public IType findProxiedClassInHierarchy()
- Specified by:
findProxiedClassInHierarchy
in interfaceIGosuClass
-
isParameterizedType
public boolean isParameterizedType()
Description copied from interface:IType
Returns true if this ia a Parameterized Type. Note a Parameterzied Type is not the same as a Generic Type. The difference is that a Parameterized Type is a concrete version of a Generic Type. For instance, the class ArrayListis a Generic Type, while the class ArrayList is a Parameterized Type of the the Generic Type ArrayList . - Specified by:
isParameterizedType
in interfaceIType
-
isGenericType
public boolean isGenericType()
Description copied from interface:IType
Returns true if this ia a Generic Type.- Specified by:
isGenericType
in interfaceIType
- See Also:
IType.isParameterizedType()
-
getGenericTypeVariables
public GenericTypeVariable[] getGenericTypeVariables()
Description copied from interface:IType
Returns an array of GenericTypeVariables declared with this Generic Type. Otherwise, returns null if this is not a Generic Type.- Specified by:
getGenericTypeVariables
in interfaceIType
-
getParameterizedType
public IGosuClassInternal getParameterizedType(IType... paramTypes)
Description copied from interface:IType
Assuming this intrinsic type is a Generic type, return the parameterized type associated with the given list of type parameters. If the type has not been created yet, creates the parameterized type. Successive calls to this method having identical parameter types must return the identical parameterized type.- Specified by:
getParameterizedType
in interfaceIType
- Parameters:
paramTypes
- The type parameters.- Returns:
- The concrete type associated with the type parameters.
-
makeCopy
protected IGosuClassInternal makeCopy(IType... paramTypes)
-
getTypeParameters
public IType[] getTypeParameters()
Description copied from interface:IType
If this is a parameterized type, returns the specific types used to create this type, null otherwies.- Specified by:
getTypeParameters
in interfaceIType
-
getAllTypesInHierarchy
public Set<IType> getAllTypesInHierarchy()
Description copied from interface:IType
Returns a Set of all IIntrinsicTypes that this class is assignable from, including this class. This includes implemented interfaces and superclasses, recursively up the hieararchy. For array types, this will be a Set of all types that its component type is assignable from.- Specified by:
getAllTypesInHierarchy
in interfaceIType
-
isArray
public boolean isArray()
Description copied from interface:IType
True if this is an array.
-
isPrimitive
public boolean isPrimitive()
Description copied from interface:IType
True if this type represents a primitive type e.g., Java int, char, etc.- Specified by:
isPrimitive
in interfaceIType
-
getArrayType
public IType getArrayType()
Description copied from interface:IType
Make an array type from this type. E.g., String -> String[]- Specified by:
getArrayType
in interfaceIType
-
makeArrayInstance
public Object makeArrayInstance(int iLength)
Description copied from interface:IType
Construct an array instance of specified length.- Specified by:
makeArrayInstance
in interfaceIType
-
getArrayComponent
public Object getArrayComponent(Object array, int iIndex) throws IllegalArgumentException, ArrayIndexOutOfBoundsException
Description copied from interface:IType
Returns the value of the indexed component in the specified array object.- Specified by:
getArrayComponent
in interfaceIType
- Parameters:
array
- An array instance of this intrinsic type.iIndex
- The index of the component to get.- Returns:
- The value of the indexed component in the specified array.
- Throws:
IllegalArgumentException
- If the specified object is not an array.ArrayIndexOutOfBoundsException
- If the specified index argument is negative, or if it is greater than or equal to the length of the specified array
-
setArrayComponent
public void setArrayComponent(Object array, int iIndex, Object value) throws IllegalArgumentException, ArrayIndexOutOfBoundsException
Description copied from interface:IType
Sets the value of the indexed component in the specified array object.- Specified by:
setArrayComponent
in interfaceIType
- Parameters:
array
- An array instance of this intrinsic type.iIndex
- The index of the component to set.value
- The new value of the indexed component.- Throws:
IllegalArgumentException
- If the specified object is not an array.ArrayIndexOutOfBoundsException
- If the specified index argument is negative, or if it is greater than or equal to the length of the specified array
-
getArrayLength
public int getArrayLength(Object array) throws IllegalArgumentException
Description copied from interface:IType
Returns the length of the specified array object.- Specified by:
getArrayLength
in interfaceIType
- Parameters:
array
- An array instance of this intrinsic type.- Returns:
- The length of the array.
- Throws:
IllegalArgumentException
- If the object argument is not an array.
-
getComponentType
public IType getComponentType()
Description copied from interface:IType
If this is an array type, a type representing the component type of the array. Otherwise null.- Specified by:
getComponentType
in interfaceIType
-
isAssignableFrom
public boolean isAssignableFrom(IType type)
Description copied from interface:IType
Determines if the type represented by this intrinsic type is either the same as, or is a super-type of the type represented by the specified type parameter.- Specified by:
isAssignableFrom
in interfaceIType
-
isStrictGenerics
public boolean isStrictGenerics()
- Specified by:
isStrictGenerics
in interfaceIParameterizableType
-
isMutable
public boolean isMutable()
Description copied from interface:IType
Are intances of this type mutable? Note sometimes it's difficult to determine. For instance, java classes don't contain any information about mutability. In which case we always assume mutable, even when the underlying type may in fact be immutable. E.g., even though java.lang.String is not mutable, its corresponding JavaIntrinsicType will say it is.
-
isValid
public boolean isValid()
Description copied from interface:IType
Defines this type if it is not yet fully defined. For instance, if this type has source code associated with it, it must fully compile the source for it to be fully defined.
-
isStatic
public boolean isStatic()
- Specified by:
isStatic
in interfaceICompilableType
-
getModifierInfo
public ModifierInfo getModifierInfo()
- Specified by:
getModifierInfo
in interfaceIGosuClass
-
setModifierInfo
public void setModifierInfo(ModifierInfo modifierInfo)
- Specified by:
setModifierInfo
in interfaceIGosuClassInternal
-
getModifiers
public int getModifiers()
Description copied from interface:IType
Returns the modifiers for this type, encoded in an integer. The modifiers consist of the constants forpublic
,protected
,private
,final
,static
,abstract
they should be decoded using the methods of classModifier
.- Specified by:
getModifiers
in interfaceIType
- See Also:
Modifier
-
markStatic
public void markStatic()
- Specified by:
markStatic
in interfaceIGosuClassInternal
-
isAbstract
public boolean isAbstract()
- Specified by:
isAbstract
in interfaceIType
-
getTypeInfo
public GosuClassTypeInfo getTypeInfo()
Description copied from interface:IType
Get the type information for this intrinsic type.- Specified by:
getTypeInfo
in interfaceICompilableType
- Specified by:
getTypeInfo
in interfaceIGosuClass
- Specified by:
getTypeInfo
in interfaceIType
- See Also:
ITypeInfo
-
hasAncestorBeenUpdated
public boolean hasAncestorBeenUpdated()
-
unloadTypeInfo
public void unloadTypeInfo()
Description copied from interface:IType
Unload or nullify any references to this IType's ITypeInfo.- Specified by:
unloadTypeInfo
in interfaceIType
-
readResolve
public Object readResolve() throws ObjectStreamException
Description copied from interface:IType
IType requires this method be implemented to ensure IType instances can be centrally defined and cached.- Specified by:
readResolve
in interfaceIType
- Throws:
ObjectStreamException
-
getId
public String getId()
-
getSource
public String getSource()
- Specified by:
getSource
in interfaceICompilableTypeInternal
- Specified by:
getSource
in interfaceIGosuClass
-
isStale
public boolean isStale()
- Specified by:
isStale
in interfaceIGosuClassInternal
- Returns:
- True if this type is no longer current or has been unloaded.
-
getTypeInfoChecksum
public int getTypeInfoChecksum()
- Specified by:
getTypeInfoChecksum
in interfaceIGosuClassInternal
-
isProxy
public boolean isProxy()
- Specified by:
isProxy
in interfaceIGosuClassInternal
-
getFunctionalInterface
public IFunctionType getFunctionalInterface()
- Specified by:
getFunctionalInterface
in interfaceIType
-
getOrCreateTypeReference
protected ITypeRef getOrCreateTypeReference()
-
isSubClass
public boolean isSubClass(IType gsSubType)
- Specified by:
isSubClass
in interfaceIGosuClass
-
isCompiled
public boolean isCompiled()
- Specified by:
isCompiled
in interfaceIGosuClass
-
getConstructorFunctions
public List<DynamicFunctionSymbol> getConstructorFunctions()
- Specified by:
getConstructorFunctions
in interfaceIGosuClassInternal
-
getConstructorFunction
public DynamicFunctionSymbol getConstructorFunction(String name)
- Specified by:
getConstructorFunction
in interfaceIGosuClassInternal
-
getDefaultConstructor
public DynamicFunctionSymbol getDefaultConstructor()
- Specified by:
getDefaultConstructor
in interfaceIGosuClassInternal
-
getStaticFunctions
public List<DynamicFunctionSymbol> getStaticFunctions()
- Specified by:
getStaticFunctions
in interfaceIGosuClassInternal
-
getInnerClassesMap
public Map<CharSequence,IGosuClassInternal> getInnerClassesMap()
- Specified by:
getInnerClassesMap
in interfaceIGosuClass
-
getInnerClasses
public List<IGosuClassInternal> getInnerClasses()
- Specified by:
getInnerClasses
in interfaceIGosuClass
- Specified by:
getInnerClasses
in interfaceIHasInnerClass
-
getKnownInnerClassesWithoutCompiling
public Map<CharSequence,? extends IGosuClass> getKnownInnerClassesWithoutCompiling()
- Specified by:
getKnownInnerClassesWithoutCompiling
in interfaceIGosuClass
-
getBlock
public IGosuClass getBlock(int i)
- Specified by:
getBlock
in interfaceICompilableType
-
addInnerClass
public void addInnerClass(IGosuClassInternal innerGsClass)
- Specified by:
addInnerClass
in interfaceIGosuClassInternal
-
removeInnerClass
public void removeInnerClass(IGosuClassInternal innerGsClass)
- Specified by:
removeInnerClass
in interfaceIGosuClassInternal
-
resolveRelativeInnerClass
public IType resolveRelativeInnerClass(String strRelativeInnerClassName, boolean bForce)
- Specified by:
resolveRelativeInnerClass
in interfaceIHasInnerClass
- Overrides:
resolveRelativeInnerClass
in classInnerClassCapableType
-
getMemberFunctions
public List<DynamicFunctionSymbol> getMemberFunctions()
- Specified by:
getMemberFunctions
in interfaceIGosuClass
-
getMemberFunction
public DynamicFunctionSymbol getMemberFunction(IFunctionType funcType, String signature, boolean bContravariant)
- Specified by:
getMemberFunction
in interfaceIGosuClassInternal
-
getMemberFunctions
public List<DynamicFunctionSymbol> getMemberFunctions(String names)
- Specified by:
getMemberFunctions
in interfaceICompilableTypeInternal
- Specified by:
getMemberFunctions
in interfaceIGosuClassInternal
-
getMemberFunction
public DynamicFunctionSymbol getMemberFunction(IFunctionType funcType, boolean bContravariant)
- Specified by:
getMemberFunction
in interfaceIGosuClassInternal
-
getStaticProperty
public DynamicPropertySymbol getStaticProperty(String name)
- Specified by:
getStaticProperty
in interfaceICompilableTypeInternal
- Specified by:
getStaticProperty
in interfaceIGosuClassInternal
-
getStaticProperties
public List<DynamicPropertySymbol> getStaticProperties()
- Specified by:
getStaticProperties
in interfaceIGosuClassInternal
-
getMemberProperties
public List<DynamicPropertySymbol> getMemberProperties()
- Specified by:
getMemberProperties
in interfaceIGosuClassInternal
-
getMemberProperty
public DynamicPropertySymbol getMemberProperty(String name)
- Specified by:
getMemberProperty
in interfaceICompilableTypeInternal
- Specified by:
getMemberProperty
in interfaceIGosuClass
- Specified by:
getMemberProperty
in interfaceIGosuClassInternal
-
getStaticFields
public List<IVarStatement> getStaticFields()
- Specified by:
getStaticFields
in interfaceICompilableTypeInternal
- Specified by:
getStaticFields
in interfaceIGosuClassInternal
-
getStaticField
public VarStatement getStaticField(String name)
- Specified by:
getStaticField
in interfaceIGosuClassInternal
-
getMemberFieldIndexByName
public Map<CharSequence,ISymbol> getMemberFieldIndexByName()
- Specified by:
getMemberFieldIndexByName
in interfaceIGosuClassInternal
-
getMemberFields
public List<IVarStatement> getMemberFields()
- Specified by:
getMemberFields
in interfaceICompilableTypeInternal
- Specified by:
getMemberFields
in interfaceIGosuClass
-
getMemberFieldsMap
public Map<String,VarStatement> getMemberFieldsMap()
- Specified by:
getMemberFieldsMap
in interfaceIGosuClass
-
getStaticThisSymbol
public Symbol getStaticThisSymbol()
- Specified by:
getStaticThisSymbol
in interfaceIGosuClassInternal
-
getCapturedSymbols
public Map<String,ICapturedSymbol> getCapturedSymbols()
- Specified by:
getCapturedSymbols
in interfaceICompilableTypeInternal
- Specified by:
getCapturedSymbols
in interfaceIGosuClassInternal
-
getCapturedSymbol
public ICapturedSymbol getCapturedSymbol(String strName)
- Specified by:
getCapturedSymbol
in interfaceICompilableTypeInternal
- Specified by:
getCapturedSymbol
in interfaceIGosuClassInternal
-
addCapturedSymbol
public void addCapturedSymbol(ICapturedSymbol sym)
- Specified by:
addCapturedSymbol
in interfaceICompilableTypeInternal
- Specified by:
addCapturedSymbol
in interfaceIGosuClassInternal
-
ensureDefaultConstructor
public boolean ensureDefaultConstructor(ISymbolTable symbolTable, GosuParser parser)
- Specified by:
ensureDefaultConstructor
in interfaceIGosuClassInternal
-
getClassStatement
public ClassStatement getClassStatement()
- Specified by:
getClassStatement
in interfaceICompilableType
- Returns:
- The ClassStatement (root ParsedElement) for this GosuClass
NOTE: Because GosuClass is lazily compiled, the ClassStatement returned is NOT guaranteed to be fully compiled by this method, and may return only the declarations of the class. If you wish to access the fully compiled ClassStatement you must call
compileDefinitionsIfNeeded()
.
-
getClassStatementWithoutCompile
public ClassStatement getClassStatementWithoutCompile()
- Specified by:
getClassStatementWithoutCompile
in interfaceIGosuClass
-
setSuperType
public void setSuperType(IType superType)
- Specified by:
setSuperType
in interfaceIGosuClassInternal
-
setEnclosingType
public void setEnclosingType(IType enclosingType)
Description copied from interface:IGosuClass
Only for use during type loading e.g., from GosuClassTypeLoader- Specified by:
setEnclosingType
in interfaceIGosuClass
- Parameters:
enclosingType
- the enclosing type
-
getEnclosingTypeReference
public IType getEnclosingTypeReference()
- Specified by:
getEnclosingTypeReference
in interfaceIGosuClass
-
isAnonymous
public boolean isAnonymous()
- Specified by:
isAnonymous
in interfaceICompilableType
-
getDepth
public int getDepth()
- Specified by:
getDepth
in interfaceICompilableTypeInternal
- Specified by:
getDepth
in interfaceIGosuClassInternal
-
compileDefinitionsIfNeeded
public void compileDefinitionsIfNeeded()
- Specified by:
compileDefinitionsIfNeeded
in interfaceIGosuClassInternal
-
compileDefinitionsIfNeeded
public void compileDefinitionsIfNeeded(boolean bForce)
- Specified by:
compileDefinitionsIfNeeded
in interfaceICompilableTypeInternal
- Specified by:
compileDefinitionsIfNeeded
in interfaceIGosuClassInternal
-
compileDeclarationsIfNeeded
public void compileDeclarationsIfNeeded()
- Specified by:
compileDeclarationsIfNeeded
in interfaceICompilableTypeInternal
- Specified by:
compileDeclarationsIfNeeded
in interfaceIGosuClassInternal
-
forceTypeInfoInitialization
public void forceTypeInfoInitialization()
- Specified by:
forceTypeInfoInitialization
in interfaceIGosuClassInternal
-
syncGenericAndParameterizedClasses
public void syncGenericAndParameterizedClasses()
- Specified by:
syncGenericAndParameterizedClasses
in interfaceIGosuClassInternal
-
getParameterizedTypes
public Collection<IGosuClassInternal> getParameterizedTypes()
- Specified by:
getParameterizedTypes
in interfaceIGosuClassInternal
-
setAnnotations
public void setAnnotations(List<IGosuAnnotation> annotations)
- Specified by:
setAnnotations
in interfaceIGosuClassInternal
-
getEnclosingNonBlockType
public IType getEnclosingNonBlockType()
- Specified by:
getEnclosingNonBlockType
in interfaceICompilableTypeInternal
- Specified by:
getEnclosingNonBlockType
in interfaceIGosuClassInternal
-
compileHeaderIfNeeded
public void compileHeaderIfNeeded()
- Specified by:
compileHeaderIfNeeded
in interfaceICompilableTypeInternal
- Specified by:
compileHeaderIfNeeded
in interfaceIGosuClassInternal
-
getCompilationState
public gw.internal.gosu.parser.CompilationState getCompilationState()
- Specified by:
getCompilationState
in interfaceIGosuClass
-
isCompilingHeader
public boolean isCompilingHeader()
- Specified by:
isCompilingHeader
in interfaceIGosuClass
-
setCompilingHeader
public void setCompilingHeader(boolean bCompilingHeader)
- Specified by:
setCompilingHeader
in interfaceIGosuClassInternal
-
isHeaderCompiled
public boolean isHeaderCompiled()
- Specified by:
isHeaderCompiled
in interfaceIGosuClass
-
setHeaderCompiled
public void setHeaderCompiled()
- Specified by:
setHeaderCompiled
in interfaceIGosuClassInternal
-
isCompilingDeclarations
public boolean isCompilingDeclarations()
- Specified by:
isCompilingDeclarations
in interfaceIGosuClass
-
setCompilingDeclarations
public void setCompilingDeclarations(boolean bCompilingDeclarations)
- Specified by:
setCompilingDeclarations
in interfaceIGosuClassInternal
-
isDeclarationsCompiled
public boolean isDeclarationsCompiled()
- Specified by:
isDeclarationsCompiled
in interfaceIGosuClass
-
isDeclarationsBypassed
public boolean isDeclarationsBypassed()
- Specified by:
isDeclarationsBypassed
in interfaceIGosuClass
-
setDeclarationsBypassed
public void setDeclarationsBypassed()
- Specified by:
setDeclarationsBypassed
in interfaceIGosuClassInternal
-
isInnerDeclarationsCompiled
public boolean isInnerDeclarationsCompiled()
- Specified by:
isInnerDeclarationsCompiled
in interfaceIGosuClass
-
setDeclarationsCompiled
public void setDeclarationsCompiled()
- Specified by:
setDeclarationsCompiled
in interfaceIGosuClassInternal
-
setInnerDeclarationsCompiled
public void setInnerDeclarationsCompiled()
- Specified by:
setInnerDeclarationsCompiled
in interfaceIGosuClassInternal
-
isCompilingDefinitions
public boolean isCompilingDefinitions()
- Specified by:
isCompilingDefinitions
in interfaceIGosuClass
-
shouldFullyCompileAnnotations
public boolean shouldFullyCompileAnnotations()
- Specified by:
shouldFullyCompileAnnotations
in interfaceICompilableTypeInternal
-
setCompilingDefinitions
public void setCompilingDefinitions(boolean bCompilingDefinitions)
- Specified by:
setCompilingDefinitions
in interfaceIGosuClassInternal
-
isDefinitionsCompiled
public boolean isDefinitionsCompiled()
- Specified by:
isDefinitionsCompiled
in interfaceIGosuClass
-
setDefinitionsCompiled
public void setDefinitionsCompiled()
- Specified by:
setDefinitionsCompiled
in interfaceIGosuClassInternal
-
getSourceFileHandle
public ISourceFileHandle getSourceFileHandle()
- Specified by:
getSourceFileHandle
in interfaceIFileRepositoryBasedType
-
getLoadedInnerClasses
public List<IType> getLoadedInnerClasses()
- Specified by:
getLoadedInnerClasses
in interfaceIHasInnerClass
-
getClassType
public ClassType getClassType()
- Specified by:
getClassType
in interfaceIFileRepositoryBasedType
-
getGosuAnnotations
public List<? extends IGosuAnnotation> getGosuAnnotations()
- Specified by:
getGosuAnnotations
in interfaceICompilableTypeInternal
- Specified by:
getGosuAnnotations
in interfaceIGosuClassInternal
-
createNewParseInfo
public GosuClassParseInfo createNewParseInfo()
When changing the places from which this method is called run pc's gw.smoketest.pc.job.common.effectivetime.VisibleEffectiveTimeTest cause it will break!- Specified by:
createNewParseInfo
in interfaceIGosuClassInternal
-
isTestClass
public boolean isTestClass()
- Specified by:
isTestClass
in interfaceIGosuClass
-
getInnerClass
public IGosuClassInternal getInnerClass(CharSequence relativeName)
Description copied from interface:IHasInnerClass
returns the appropriate inner class- Specified by:
getInnerClass
in interfaceIGosuClass
- Specified by:
getInnerClass
in interfaceIHasInnerClass
- Returns:
-
getMemberField
public VarStatement getMemberField(String charSequence)
- Specified by:
getMemberField
in interfaceICompilableTypeInternal
- Specified by:
getMemberField
in interfaceIGosuClassInternal
-
shouldKeepDebugInfo
public boolean shouldKeepDebugInfo()
- Specified by:
shouldKeepDebugInfo
in interfaceIGosuClass
-
getSuperClass
public IGosuClassInternal getSuperClass()
- Specified by:
getSuperClass
in interfaceIGosuClassInternal
-
getEnclosingType
public ICompilableTypeInternal getEnclosingType()
Description copied from interface:IType
Returns the type immediately enclosing this type. If this type is not enclosed, returns null.- Specified by:
getEnclosingType
in interfaceICompilableType
- Specified by:
getEnclosingType
in interfaceICompilableTypeInternal
- Specified by:
getEnclosingType
in interfaceIType
-
hasBackingClass
public boolean hasBackingClass()
- Specified by:
hasBackingClass
in interfaceIGosuClass
-
unloadBackingClass
public void unloadBackingClass()
- Specified by:
unloadBackingClass
in interfaceIGosuClass
-
getBackingClass
public Class<?> getBackingClass()
- Specified by:
getBackingClass
in interfaceIHasJavaClass
-
isCompilable
public boolean isCompilable()
- Specified by:
isCompilable
in interfaceIType
-
getExternalSymbol
public ISymbol getExternalSymbol(String strName)
- Specified by:
getExternalSymbol
in interfaceICompilableType
-
putClassMembers
public void putClassMembers(GosuParser owner, ISymbolTable table, IGosuClassInternal gsContextClass, boolean bStatic)
- Specified by:
putClassMembers
in interfaceICompilableTypeInternal
- Specified by:
putClassMembers
in interfaceIGosuClassInternal
-
putClassMembers
public void putClassMembers(GosuClassTypeLoader loader, GosuParser owner, ISymbolTable table, IGosuClassInternal gsContextClass, boolean bStatic)
- Specified by:
putClassMembers
in interfaceICompilableTypeInternal
- Specified by:
putClassMembers
in interfaceIGosuClassInternal
-
putClassMembers
public void putClassMembers(GosuClassTypeLoader loader, GosuParser owner, ISymbolTable table, IGosuClassInternal gsContextClass, boolean bStatic, boolean bStaticImport)
- Specified by:
putClassMembers
in interfaceIGosuClassInternal
-
isAccessible
public boolean isAccessible(IGosuClassInternal compilingClass, AbstractDynamicSymbol ads)
- Specified by:
isAccessible
in interfaceIGosuClassInternal
-
setParseResultsException
public void setParseResultsException(ParseResultsException pe)
- Specified by:
setParseResultsException
in interfaceIGosuClassInternal
-
hasError
public boolean hasError()
- Specified by:
hasError
in interfaceIGosuClass
-
hasWarnings
public boolean hasWarnings()
- Specified by:
hasWarnings
in interfaceIGosuClass
-
getParseResultsException
public ParseResultsException getParseResultsException()
- Specified by:
getParseResultsException
in interfaceIGosuClass
-
compareTo
public int compareTo(Object o)
- Specified by:
compareTo
in interfaceComparable
-
shouldResolve
public boolean shouldResolve()
- Specified by:
shouldResolve
in interfaceIGosuClassInternal
-
getTypeUsesMap
public ITypeUsesMap getTypeUsesMap()
- Specified by:
getTypeUsesMap
in interfaceICompilableType
-
setTypeUsesMap
public void setTypeUsesMap(ITypeUsesMap usesMap)
- Specified by:
setTypeUsesMap
in interfaceIGosuClassInternal
-
assignTypeUsesMap
public void assignTypeUsesMap(GosuParser parser)
- Specified by:
assignTypeUsesMap
in interfaceICompilableTypeInternal
- Specified by:
assignTypeUsesMap
in interfaceIGosuClassInternal
-
setEditorParser
public void setEditorParser(GosuParser parser)
!! Used only when compiling from an edtior !!- Specified by:
setEditorParser
in interfaceIGosuClassInternal
-
setCreateEditorParser
public void setCreateEditorParser(boolean bEditorParser)
- Specified by:
setCreateEditorParser
in interfaceIGosuClass
-
isCreateEditorParser
public boolean isCreateEditorParser()
- Specified by:
isCreateEditorParser
in interfaceICompilableTypeInternal
- Specified by:
isCreateEditorParser
in interfaceIGosuClassInternal
-
getAnonymousInnerClassCount
public int getAnonymousInnerClassCount()
- Specified by:
getAnonymousInnerClassCount
in interfaceICompilableTypeInternal
-
getParser
public GosuParser getParser()
!! The parser is only set when this class is parsed in an editor in an IDE !!- Specified by:
getParser
in interfaceICompilableType
-
getOrCreateParser
protected GosuParser getOrCreateParser(CompiledGosuClassSymbolTable symbolTable)
-
addDelegateImpls
public void addDelegateImpls(ISymbolTable symTable, GosuClassParser parser)
- Specified by:
addDelegateImpls
in interfaceIGosuClassInternal
-
getUnimplementedMethods
public List<IFunctionType> getUnimplementedMethods()
- Specified by:
getUnimplementedMethods
in interfaceIGosuClassInternal
-
getUnimplementedMethods
public List<IFunctionType> getUnimplementedMethods(List<IFunctionType> unimpled, IGosuClassInternal implClass, boolean bAcceptAbstract)
- Specified by:
getUnimplementedMethods
in interfaceIGosuClassInternal
-
getUnimplementedMethods
public static List<IFunctionType> getUnimplementedMethods(IGosuClass gsIface, IGosuClass implClass, List<IFunctionType> unimpled, boolean ensurePublic, boolean bAcceptAbstract)
-
setFullDescription
public void setFullDescription(String description)
- Specified by:
setFullDescription
in interfaceIGosuClassInternal
-
getFullDescription
public String getFullDescription()
- Specified by:
getFullDescription
in interfaceIGosuClassInternal
-
getSubtypes
public List<? extends IType> getSubtypes()
Description copied from interface:IGosuClass
WARNING: This method is slow the first time it is called. It will iterate over all types in the system and find all matching subtypes- Specified by:
getSubtypes
in interfaceIGosuClass
- Returns:
- all subtypes of this type
-
isDiscarded
public boolean isDiscarded()
Description copied from interface:IType
True if this type has been replaced with a newer version of the same name in the type system.- Specified by:
isDiscarded
in interfaceIType
-
setDiscarded
public void setDiscarded(boolean bDiscarded)
- Specified by:
setDiscarded
in interfaceIType
-
isCompoundType
public boolean isCompoundType()
- Specified by:
isCompoundType
in interfaceIType
-
getCompoundTypeComponents
public Set<IType> getCompoundTypeComponents()
- Specified by:
getCompoundTypeComponents
in interfaceIType
-
isCannotCaptureSymbols
public boolean isCannotCaptureSymbols()
- Specified by:
isCannotCaptureSymbols
in interfaceIGosuClassInternal
-
setCannotCaptureSymbols
public void setCannotCaptureSymbols(boolean bCannotCaptureSymbols)
- Specified by:
setCannotCaptureSymbols
in interfaceIGosuClassInternal
-
getBlocks
public List<IGosuClass> getBlocks()
- Specified by:
getBlocks
in interfaceIGosuClass
- Specified by:
getBlocks
in interfaceIGosuClassInternal
-
getBlockCount
public int getBlockCount()
- Specified by:
getBlockCount
in interfaceICompilableTypeInternal
- Specified by:
getBlockCount
in interfaceIGosuClassInternal
-
addBlock
public void addBlock(IBlockClass block)
- Specified by:
addBlock
in interfaceICompilableTypeInternal
- Specified by:
addBlock
in interfaceIGosuClassInternal
-
removeBlock
public void removeBlock(IBlockClass block)
- Specified by:
removeBlock
in interfaceICompilableTypeInternal
- Specified by:
removeBlock
in interfaceIGosuClassInternal
-
assignTypeVarsFromTypeParams
public void assignTypeVarsFromTypeParams(IType[] typeParams)
Note a gosu class can be BOTH parameterzied AND generic. For example, class Bar{ function blah() : T {...} } class Foo extends Bar {} The class Bar here is parameterized by the type var from Foo, yet it is still a generic class. The blah() method in Foo's typeinfo must have a return type consistent with Foo's type var upper bound, CharSequence. //## todo: maybe we don't need this concept any longer? i.e., parameterization should work correctly regardless.
-
getTypeVarDefs
public List<ITypeVariableDefinition> getTypeVarDefs()
-
setGenericTypeVariables
public void setGenericTypeVariables(List<ITypeVariableDefinition> typeVarExprList)
- Specified by:
setGenericTypeVariables
in interfaceIGosuClassInternal
-
getFunctionStatement
public IFunctionStatement getFunctionStatement(IMethodInfo method)
- Specified by:
getFunctionStatement
in interfaceIGosuClass
-
getPropertyDeclaration
public INameInDeclaration getPropertyDeclaration(String name)
- Specified by:
getPropertyDeclaration
in interfaceIGosuClass
-
getConstructorStatement
public IConstructorStatement getConstructorStatement(IConstructorInfo ctor)
- Specified by:
getConstructorStatement
in interfaceIGosuClass
-
getLoaderParameterizedTypes
public IType[] getLoaderParameterizedTypes()
- Specified by:
getLoaderParameterizedTypes
in interfaceIParameterizableType
-
getSourceFiles
public IFile[] getSourceFiles()
- Specified by:
getSourceFiles
in interfaceIType
-
isAnnotation
public boolean isAnnotation()
- Specified by:
isAnnotation
in interfaceICanBeAnnotation
-
-