Package gw.internal.gosu.parser
Class JavaType
- java.lang.Object
-
- gw.lang.reflect.AbstractType
-
- gw.lang.reflect.InnerClassCapableType
-
- gw.internal.gosu.parser.JavaType
-
- All Implemented Interfaces:
IJavaTypeInternal,IParameterizableType,IFileRepositoryBasedType,IHasInnerClass,ICanBeAnnotation,IDefaultArrayType,IEnhanceableType,IHasJavaClass,IType,IJavaArrayType,IJavaBackedType,IJavaBackedTypeData,IJavaType,java.io.Serializable
- Direct Known Subclasses:
JavaEnumType
class JavaType extends InnerClassCapableType implements IJavaTypeInternal
-
-
Field Summary
-
Fields inherited from interface gw.internal.gosu.parser.IJavaTypeInternal
TYPES_BY_CLASS
-
Fields inherited from interface gw.lang.reflect.IType
EMPTY_ARRAY, EMPTY_TYPE_ARRAY, EMPTY_TYPE_LIST
-
-
Constructor Summary
Constructors Modifier Constructor Description JavaType(IJavaClassInfo cls, DefaultTypeLoader loader)JavaType(IJavaClassInfo classInfo, DefaultTypeLoader loader, IType[] typeParams)privateJavaType(IJavaClassInfo arrayClass, IJavaTypeInternal componentType, DefaultTypeLoader loader)privateJavaType(IJavaClassInfo cls, IType[] typeParams, DefaultTypeLoader loader)(package private)JavaType(java.lang.Class cls, DefaultTypeLoader loader)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidaddGenericTypes(IType type, java.util.Set<IType> includeGenericTypes)GenericTypeVariable[]assignGenericTypeVariables()private voidassignGenericTypeVarPlaceholders()private GenericTypeVariable[]assignTypeVarsFromTypeParams(IType[] typeParams)Note a gosu class can be BOTH parameterzied AND generic.byte[]compile()(package private) java.lang.StringcomputeQualifiedName()static IJavaType[]convertClassArray(java.lang.Class[] args)private ITypeInfoconvertToTypeInfo()static IJavaTypeInternalcreate(IJavaClassInfo cls, DefaultTypeLoader loader)IGosuClassInternalcreateAdapterClass()Creates the Gosu proxy type for this class.private static IJavaTypeInternaldefine(java.lang.Class cls, DefaultTypeLoader loader)booleanequals(java.lang.Object o)static IJavaTypeInternalget(java.lang.Class cls, DefaultTypeLoader loader)IGosuClassInternalgetAdapterClass()Returns the Gosu proxy for this class.IGosuClassInternalgetAdapterClassDirectly()java.util.Set<IType>getAllTypesInHierarchy()Returns a Set of all IIntrinsicTypes that this class is assignable from, including this class.java.lang.ObjectgetArrayComponent(java.lang.Object array, int iIndex)Returns the value of the indexed component in the specified array object.intgetArrayLength(java.lang.Object array)Returns the length of the specified array object.ITypegetArrayType()Make an array type from this type.java.lang.ClassgetBackingClass()IJavaClassInfogetBackingClassInfo()ClassTypegetClassType()IJavaTypeInternalgetComponentType()If this is an array type, a type representing the component type of the array.java.util.Set<IType>getCompoundTypeComponents()IJavaClassInfogetConcreteClass()java.lang.StringgetDisplayName()The display name of this intrinsic type.ITypegetEnclosingType()Returns the type immediately enclosing this type.ITypeInfogetExplicitTypeInfo()IFunctionTypegetFunctionalInterface()IJavaTypeInternalgetGenericType()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.ITypegetInnerClass(java.lang.CharSequence name)returns the appropriate inner classjava.util.List<IJavaType>getInnerClasses()private IJavaTypeInternalgetInnerClassSimple(java.lang.String simpleName)IType[]getInterfaces()private voidgetInterfaces(java.lang.Class clazz, java.util.Set<java.lang.Class> classes)java.lang.ClassgetIntrinsicClass()Returns the java class for this java typejava.util.List<? extends IType>getLoadedInnerClasses()IType[]getLoaderParameterizedTypes()intgetModifiers()Returns the modifiers for this type, encoded in an integer.java.lang.StringgetName()The fully qualified name of this intrinsic type.java.lang.StringgetNamespace()The namespace for this class.ITypegetParameterizedType(IType... paramTypes)Assuming this intrinsic type is a Generic type, return the parameterized type associated with the given list of type parameters.static IJavaTypegetPrimitiveType(java.lang.String strPrimitiveClassName)java.lang.StringgetRelativeName()The relative or unqualified name.ObjectSizegetRetainedMemory()java.lang.StringgetSimpleName()ISourceFileHandlegetSourceFileHandle()IFile[]getSourceFiles()ITypegetSupertype()Returns the type representing the supertype of this type.protected ITypegetTheRef()ITypegetTypeFromJavaBackedType()ITypeInfogetTypeInfo()Get the type information for this intrinsic type.intgetTypeInfoChecksum()DefaultTypeLoadergetTypeLoader()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.booleanhasAncestorBeenUpdated()static booleanhasBeenUpdated(IJavaTypeInternal type, int tiChecksum, java.util.Set<IType> visited)inthashCode()private static booleanhaveAncestorsBeenUpdated(IJavaTypeInternal type, int tiChecksum, java.util.Set<IType> visited)private voidinit(IJavaClassInfo cls, DefaultTypeLoader loader)booleanisAbstract()booleanisAnnotation()booleanisArray()True if this is an array.booleanisAssignableFrom(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.private booleanisAssignableFromJavaBackedType(IType type)booleanisCompilable()booleanisCompoundType()booleanisDefiningGenericTypes()booleanisDiscarded()True if this type has been replaced with a newer version of the same name in the type system.booleanisEnum()Returns true if this type is an enumeration.booleanisFinal()True if this type cannot be extended.booleanisGenericType()Returns true if this ia a Generic Type.booleanisInterface()Returns true if this type is an interface.booleanisMutable()Note eventhough some classes are indeed immutable (e.g.booleanisParameterizedType()Returns true if this ia a Parameterized Type.booleanisPrimitive()True if this type represents a primitive type e.g., Java int, char, etc.booleanisStrictGenerics()booleanisValid()Defines this type if it is not yet fully defined.private ITypeInfoloadTypeInfo()java.lang.ObjectmakeArrayInstance(int iLength)Construct an array instance of specified length.private ITypenotDeletedSupertype()java.lang.ObjectreadResolve()IType requires this method be implemented to ensure IType instances can be centrally defined and cached.voidsetAdapterClass(IGosuClassInternal adapterClass)voidsetArrayComponent(java.lang.Object array, int iIndex, java.lang.Object value)Sets the value of the indexed component in the specified array object.voidsetComponentType(IJavaTypeInternal componentType)voidsetDiscarded(boolean bDiscarded)private IJavaTypeInternalthisRef()java.lang.StringtoString()voidunloadTypeInfo()Unload or nullify any references to this IType's ITypeInfo.static voidunloadTypes()java.lang.ObjectwriteReplace()-
Methods inherited from class gw.lang.reflect.InnerClassCapableType
resolveRelativeInnerClass
-
Methods inherited from class gw.lang.reflect.AbstractType
getLiteralMetaType, getMetaType
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface gw.lang.parser.IFileRepositoryBasedType
getJavaName
-
Methods inherited from interface gw.lang.parser.IHasInnerClass
resolveRelativeInnerClass
-
Methods inherited from interface gw.lang.reflect.IType
getLiteralMetaType, getMetaType, isDynamic
-
-
-
-
Field Detail
-
_strName
private java.lang.String _strName
-
_typeParams
private IType[] _typeParams
-
_classInfo
protected transient IJavaClassInfo _classInfo
-
_typeInfo
private transient ITypeInfo _typeInfo
-
_strRelativeName
private transient java.lang.String _strRelativeName
-
_strSimpleName
private transient java.lang.String _strSimpleName
-
_allTypesInHierarchy
private transient volatile java.util.Set<IType> _allTypesInHierarchy
-
_bArray
private transient boolean _bArray
-
_bPrimitive
private transient boolean _bPrimitive
-
_bHasSuperType
private transient LockingLazyVar<java.lang.Boolean> _bHasSuperType
-
_superType
private transient volatile IType _superType
-
_tempInterfaces
private transient java.util.List<IType> _tempInterfaces
-
_interfaces
private transient volatile IType[] _interfaces
-
_functionalInterface
private transient LocklessLazyVar<IFunctionType> _functionalInterface
-
_adapterClass
private transient IGosuClassInternal _adapterClass
-
_tempGenericTypeVars
private transient GenericTypeVariable[] _tempGenericTypeVars
-
_lazyGenericTypeVars
private transient LockingLazyVar<GenericTypeVariable[]> _lazyGenericTypeVars
-
_bDefiningGenericTypes
private transient boolean _bDefiningGenericTypes
-
_parameterizationByParamsName
private transient java.util.concurrent.ConcurrentMap<java.lang.String,IJavaTypeInternal> _parameterizationByParamsName
-
_arrayType
private transient volatile IJavaTypeInternal _arrayType
-
_componentType
private IJavaTypeInternal _componentType
-
_typeLoader
private transient DefaultTypeLoader _typeLoader
-
_bDoesNotHaveExplicitTypeInfo
private transient boolean _bDoesNotHaveExplicitTypeInfo
-
_explicitTypeInfoClass
private java.lang.Class<?> _explicitTypeInfoClass
-
_bDiscarded
private transient boolean _bDiscarded
-
_typeRef
private IJavaTypeInternal _typeRef
-
_tiChecksum
private transient int _tiChecksum
-
_innerClasses
private transient volatile java.util.List<IJavaType> _innerClasses
-
_bStrictGenerics
private transient java.lang.Boolean _bStrictGenerics
-
SPECIAL_TYPE_INFO
private static java.util.Set<java.lang.String> SPECIAL_TYPE_INFO
-
-
Constructor Detail
-
JavaType
public JavaType(IJavaClassInfo cls, DefaultTypeLoader loader)
-
JavaType
JavaType(java.lang.Class cls, DefaultTypeLoader loader)
-
JavaType
private JavaType(IJavaClassInfo cls, IType[] typeParams, DefaultTypeLoader loader)
-
JavaType
private JavaType(IJavaClassInfo arrayClass, IJavaTypeInternal componentType, DefaultTypeLoader loader)
-
JavaType
public JavaType(IJavaClassInfo classInfo, DefaultTypeLoader loader, IType[] typeParams)
-
-
Method Detail
-
get
public static IJavaTypeInternal get(java.lang.Class cls, DefaultTypeLoader loader)
-
getPrimitiveType
public static IJavaType getPrimitiveType(java.lang.String strPrimitiveClassName)
-
define
private static IJavaTypeInternal define(java.lang.Class cls, DefaultTypeLoader loader)
-
create
public static IJavaTypeInternal create(IJavaClassInfo cls, DefaultTypeLoader loader)
-
isDefiningGenericTypes
public boolean isDefiningGenericTypes()
- Specified by:
isDefiningGenericTypesin interfaceIJavaTypeInternal
-
assignGenericTypeVariables
public GenericTypeVariable[] assignGenericTypeVariables()
- Specified by:
assignGenericTypeVariablesin interfaceIJavaTypeInternal
-
assignGenericTypeVarPlaceholders
private void assignGenericTypeVarPlaceholders()
-
init
private void init(IJavaClassInfo cls, DefaultTypeLoader loader)
-
assignTypeVarsFromTypeParams
private GenericTypeVariable[] 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. - Parameters:
typeParams- type parameters- Returns:
- generic type variables
-
getTypeLoader
public DefaultTypeLoader getTypeLoader()
Description copied from interface:ITypeReturns the type loader responsible for loading this intrinsic type.- Specified by:
getTypeLoaderin interfaceIType
-
getName
public java.lang.String getName()
Description copied from interface:ITypeThe fully qualified name of this intrinsic type.
-
computeQualifiedName
java.lang.String computeQualifiedName()
-
getDisplayName
public java.lang.String getDisplayName()
Description copied from interface:ITypeThe 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:
getDisplayNamein interfaceIType
-
getRelativeName
public java.lang.String getRelativeName()
Description copied from interface:ITypeThe relative or unqualified name. For a class this should be just the class name without the package name.- Specified by:
getRelativeNamein interfaceIType
-
getSimpleName
public java.lang.String getSimpleName()
- Specified by:
getSimpleNamein interfaceIJavaTypeInternal
-
getNamespace
public java.lang.String getNamespace()
Description copied from interface:ITypeThe 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:
getNamespacein interfaceIType
-
isArray
public boolean isArray()
Description copied from interface:ITypeTrue if this is an array.
-
isPrimitive
public boolean isPrimitive()
Description copied from interface:ITypeTrue if this type represents a primitive type e.g., Java int, char, etc.- Specified by:
isPrimitivein interfaceIType
-
makeArrayInstance
public java.lang.Object makeArrayInstance(int iLength)
Description copied from interface:ITypeConstruct an array instance of specified length.- Specified by:
makeArrayInstancein interfaceIType
-
isAssignableFrom
public boolean isAssignableFrom(IType type)
Description copied from interface:ITypeDetermines 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:
isAssignableFromin interfaceIType
-
isAssignableFromJavaBackedType
private boolean isAssignableFromJavaBackedType(IType type)
-
isMutable
public boolean isMutable()
Note eventhough some classes are indeed immutable (e.g. java.lang.String) there's no such info in a java class, so we default to mutable.
-
getIntrinsicClass
public java.lang.Class getIntrinsicClass()
Description copied from interface:IJavaTypeReturns the java class for this java type- Specified by:
getIntrinsicClassin interfaceIJavaType- Returns:
- the java class for this java type
-
getBackingClassInfo
public IJavaClassInfo getBackingClassInfo()
- Specified by:
getBackingClassInfoin interfaceIJavaBackedTypeData- Specified by:
getBackingClassInfoin interfaceIJavaType
-
getBackingClass
public java.lang.Class getBackingClass()
- Specified by:
getBackingClassin interfaceIHasJavaClass
-
getTypeInfo
public ITypeInfo getTypeInfo()
Description copied from interface:ITypeGet the type information for this intrinsic type.- Specified by:
getTypeInfoin interfaceIType- See Also:
ITypeInfo
-
getAdapterClass
public IGosuClassInternal getAdapterClass()
Description copied from interface:IJavaTypeReturns the Gosu proxy for this class.- Specified by:
getAdapterClassin interfaceIJavaType- Specified by:
getAdapterClassin interfaceIJavaTypeInternal
-
getAdapterClassDirectly
public IGosuClassInternal getAdapterClassDirectly()
- Specified by:
getAdapterClassDirectlyin interfaceIJavaTypeInternal
-
loadTypeInfo
private ITypeInfo loadTypeInfo()
-
unloadTypeInfo
public void unloadTypeInfo()
Description copied from interface:ITypeUnload or nullify any references to this IType's ITypeInfo.- Specified by:
unloadTypeInfoin interfaceIType
-
isInterface
public boolean isInterface()
Description copied from interface:ITypeReturns true if this type is an interface.- Specified by:
isInterfacein interfaceIType
-
isEnum
public boolean isEnum()
Description copied from interface:ITypeReturns true if this type is an enumeration.
-
getInterfaces
public IType[] getInterfaces()
- Specified by:
getInterfacesin 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.
-
getSupertype
public IType getSupertype()
Description copied from interface:ITypeReturns the type representing the supertype of this type. Returns null if this type has no supertype.- Specified by:
getSupertypein interfaceIType
-
notDeletedSupertype
private IType notDeletedSupertype()
-
getInnerClasses
public java.util.List<IJavaType> getInnerClasses()
- Specified by:
getInnerClassesin interfaceIHasInnerClass- Specified by:
getInnerClassesin interfaceIJavaType- Returns:
- An array of Java types reflecting all the classes and interfaces declared as members of the class represented by this Class object. These include public, protected, internal, and private classes and interfaces declared by the class, but excludes inherited classes and interfaces.
-
getInnerClass
public IType getInnerClass(java.lang.CharSequence name)
Description copied from interface:IHasInnerClassreturns the appropriate inner class- Specified by:
getInnerClassin interfaceIHasInnerClass- Returns:
-
getInnerClassSimple
private IJavaTypeInternal getInnerClassSimple(java.lang.String simpleName)
-
getSourceFileHandle
public ISourceFileHandle getSourceFileHandle()
- Specified by:
getSourceFileHandlein interfaceIFileRepositoryBasedType
-
getLoadedInnerClasses
public java.util.List<? extends IType> getLoadedInnerClasses()
- Specified by:
getLoadedInnerClassesin interfaceIHasInnerClass
-
getClassType
public ClassType getClassType()
- Specified by:
getClassTypein interfaceIFileRepositoryBasedType
-
getEnclosingType
public IType getEnclosingType()
Description copied from interface:ITypeReturns the type immediately enclosing this type. If this type is not enclosed, returns null.- Specified by:
getEnclosingTypein interfaceIType
-
getGenericType
public IJavaTypeInternal getGenericType()
Description copied from interface:ITypeIf this is a parameterized type, returns the generic type this type parameterizes. Otherwise, returns null.- Specified by:
getGenericTypein interfaceIJavaType- Specified by:
getGenericTypein interfaceIType
-
isFinal
public boolean isFinal()
Description copied from interface:ITypeTrue if this type cannot be extended.
-
isParameterizedType
public boolean isParameterizedType()
Description copied from interface:ITypeReturns 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:
isParameterizedTypein interfaceIType
-
isGenericType
public boolean isGenericType()
Description copied from interface:ITypeReturns true if this ia a Generic Type.- Specified by:
isGenericTypein interfaceIType- See Also:
IType.isParameterizedType()
-
getGenericTypeVariables
public GenericTypeVariable[] getGenericTypeVariables()
Description copied from interface:ITypeReturns an array of GenericTypeVariables declared with this Generic Type. Otherwise, returns null if this is not a Generic Type.- Specified by:
getGenericTypeVariablesin interfaceIType
-
getTypeParameters
public IType[] getTypeParameters()
Description copied from interface:ITypeIf this is a parameterized type, returns the specific types used to create this type, null otherwies.- Specified by:
getTypeParametersin interfaceIType
-
getParameterizedType
public IType getParameterizedType(IType... paramTypes)
Description copied from interface:ITypeAssuming 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:
getParameterizedTypein interfaceIType- Parameters:
paramTypes- The type parameters.- Returns:
- The concrete type associated with the type parameters.
-
getAllTypesInHierarchy
public java.util.Set<IType> getAllTypesInHierarchy()
Description copied from interface:ITypeReturns 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:
getAllTypesInHierarchyin interfaceIType
-
thisRef
private IJavaTypeInternal thisRef()
-
getArrayType
public IType getArrayType()
Description copied from interface:ITypeMake an array type from this type. E.g., String -> String[]- Specified by:
getArrayTypein interfaceIType
-
getArrayComponent
public java.lang.Object getArrayComponent(java.lang.Object array, int iIndex) throws java.lang.IllegalArgumentException, java.lang.ArrayIndexOutOfBoundsExceptionDescription copied from interface:ITypeReturns the value of the indexed component in the specified array object.- Specified by:
getArrayComponentin 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:
java.lang.IllegalArgumentException- If the specified object is not an array.java.lang.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(java.lang.Object array, int iIndex, java.lang.Object value) throws java.lang.IllegalArgumentException, java.lang.ArrayIndexOutOfBoundsExceptionDescription copied from interface:ITypeSets the value of the indexed component in the specified array object.- Specified by:
setArrayComponentin 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:
java.lang.IllegalArgumentException- If the specified object is not an array.java.lang.ArrayIndexOutOfBoundsException- If the specified index argument is negative, or if it is greater than or equal to the length of the specified array
-
getInterfaces
private void getInterfaces(java.lang.Class clazz, java.util.Set<java.lang.Class> classes)
-
getArrayLength
public int getArrayLength(java.lang.Object array) throws java.lang.IllegalArgumentExceptionDescription copied from interface:ITypeReturns the length of the specified array object.- Specified by:
getArrayLengthin interfaceIType- Parameters:
array- An array instance of this intrinsic type.- Returns:
- The length of the array.
- Throws:
java.lang.IllegalArgumentException- If the object argument is not an array.
-
getComponentType
public IJavaTypeInternal getComponentType()
Description copied from interface:ITypeIf this is an array type, a type representing the component type of the array. Otherwise null.- Specified by:
getComponentTypein interfaceIType
-
setComponentType
public void setComponentType(IJavaTypeInternal componentType)
- Specified by:
setComponentTypein interfaceIJavaTypeInternal
-
getTypeInfoChecksum
public int getTypeInfoChecksum()
- Specified by:
getTypeInfoChecksumin interfaceIJavaTypeInternal
-
hasAncestorBeenUpdated
public boolean hasAncestorBeenUpdated()
- Specified by:
hasAncestorBeenUpdatedin interfaceIJavaTypeInternal
-
haveAncestorsBeenUpdated
private static boolean haveAncestorsBeenUpdated(IJavaTypeInternal type, int tiChecksum, java.util.Set<IType> visited)
-
hasBeenUpdated
public static boolean hasBeenUpdated(IJavaTypeInternal type, int tiChecksum, java.util.Set<IType> visited)
-
writeReplace
public java.lang.Object writeReplace()
- Specified by:
writeReplacein interfaceIJavaTypeInternal
-
readResolve
public java.lang.Object readResolve() throws java.io.ObjectStreamExceptionDescription copied from interface:ITypeIType requires this method be implemented to ensure IType instances can be centrally defined and cached.- Specified by:
readResolvein interfaceIType- Throws:
java.io.ObjectStreamException
-
isValid
public boolean isValid()
Description copied from interface:ITypeDefines 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.
-
getModifiers
public int getModifiers()
Description copied from interface:ITypeReturns the modifiers for this type, encoded in an integer. The modifiers consist of the constants forpublic,protected,private,final,static,abstractthey should be decoded using the methods of classModifier.- Specified by:
getModifiersin interfaceIType- See Also:
Modifier
-
isAbstract
public boolean isAbstract()
- Specified by:
isAbstractin interfaceIType
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
getExplicitTypeInfo
public ITypeInfo getExplicitTypeInfo()
- Specified by:
getExplicitTypeInfoin interfaceIJavaTypeInternal
-
convertToTypeInfo
private ITypeInfo convertToTypeInfo()
-
setAdapterClass
public void setAdapterClass(IGosuClassInternal adapterClass)
- Specified by:
setAdapterClassin interfaceIJavaTypeInternal
-
createAdapterClass
public IGosuClassInternal createAdapterClass()
Description copied from interface:IJavaTypeCreates the Gosu proxy type for this class.- Specified by:
createAdapterClassin interfaceIJavaType- Returns:
- The newly created proxy type.
-
convertClassArray
public static IJavaType[] convertClassArray(java.lang.Class[] args)
-
unloadTypes
public static void unloadTypes()
-
isDiscarded
public boolean isDiscarded()
Description copied from interface:ITypeTrue if this type has been replaced with a newer version of the same name in the type system.- Specified by:
isDiscardedin interfaceIType
-
setDiscarded
public void setDiscarded(boolean bDiscarded)
- Specified by:
setDiscardedin interfaceIType
-
isCompoundType
public boolean isCompoundType()
- Specified by:
isCompoundTypein interfaceIType
-
getCompoundTypeComponents
public java.util.Set<IType> getCompoundTypeComponents()
- Specified by:
getCompoundTypeComponentsin interfaceIType
-
getConcreteClass
public IJavaClassInfo getConcreteClass()
- Specified by:
getConcreteClassin interfaceIDefaultArrayType
-
getTypeFromJavaBackedType
public IType getTypeFromJavaBackedType()
- Specified by:
getTypeFromJavaBackedTypein interfaceIJavaBackedType
-
getRetainedMemory
public ObjectSize getRetainedMemory()
- Specified by:
getRetainedMemoryin interfaceIJavaType
-
getLoaderParameterizedTypes
public IType[] getLoaderParameterizedTypes()
- Specified by:
getLoaderParameterizedTypesin interfaceIParameterizableType
-
isStrictGenerics
public boolean isStrictGenerics()
- Specified by:
isStrictGenericsin interfaceIParameterizableType
-
getSourceFiles
public IFile[] getSourceFiles()
- Specified by:
getSourceFilesin interfaceIType
-
isAnnotation
public boolean isAnnotation()
- Specified by:
isAnnotationin interfaceICanBeAnnotation
-
getFunctionalInterface
public IFunctionType getFunctionalInterface()
- Specified by:
getFunctionalInterfacein interfaceIType
-
getTheRef
protected IType getTheRef()
- Overrides:
getTheRefin classAbstractType
-
isCompilable
public boolean isCompilable()
- Specified by:
isCompilablein interfaceIType
-
-