Package gw.internal.gosu.parser
Class AbstractTypeRef
java.lang.Object
gw.lang.reflect.ITypeRef
gw.internal.gosu.parser.AbstractTypeRef
- All Implemented Interfaces:
IType
,Serializable
This is what the proxy methods look like.
public ITypeLoader getTypeLoader() { _reload(); IType itype; try { itype = (IType) _getType(); } catch (ClassCastException classcastexception) { throw new RuntimeException((new StringBuilder("Type interface changed. Expected gw.internal.gosu.parser.IGosuClassInternal for ")).append(_getTypeNameInternal()).toString(), classcastexception); } return (ITypeLoader) itype.getTypeLoader(); }
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
private boolean
private boolean
private boolean
private IType
private boolean
private int
private ITypeLoader
private int
private IModule
private String
protected IType
private String
private IType[]
Fields inherited from interface gw.lang.reflect.IType
EMPTY_ARRAY, EMPTY_TYPE_ARRAY, EMPTY_TYPE_LIST
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionint
protected final IType
_getType()
This method is called reflectively.protected final void
_reload()
private void
void
_setStale
(RefreshKind refreshKind) (package private) void
boolean
private void
boolean
int
hashCode()
boolean
boolean
True if this type has been replaced with a newer version of the same name in the type system.boolean
final boolean
isStale()
boolean
private void
IType requires this method be implemented to ensure IType instances can be centrally defined and cached.void
setDiscarded
(boolean bDiscarded) void
setReloadable
(boolean bReloadable) toString()
void
Unload or nullify any references to this IType's ITypeInfo.private void
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface gw.lang.reflect.IType
compile, getAllTypesInHierarchy, getArrayComponent, getArrayLength, getArrayType, getComponentType, getCompoundTypeComponents, getDisplayName, getEnclosingType, getFunctionalInterface, getGenericType, getGenericTypeVariables, getInterfaces, getLiteralMetaType, getMetaType, getModifiers, getName, getNamespace, getParameterizedType, getRelativeName, getSourceFiles, getSupertype, getTypeInfo, getTypeLoader, getTypeParameters, isAbstract, isArray, isAssignableFrom, isCompilable, isCompoundType, isDynamic, isEnum, isFinal, isGenericType, isInterface, isMutable, isParameterizedType, isPrimitive, isValid, makeArrayInstance, setArrayComponent
-
Field Details
-
_typeName
-
_type
-
_module
-
_loader
-
_pureGenericTypeName
-
_componentType
-
_typeParameters
-
_bParameterized
private transient boolean _bParameterized -
_mdChecksum
private transient int _mdChecksum -
_hashCode
private transient volatile int _hashCode -
_bStale
private transient volatile boolean _bStale -
_bReloading
private transient volatile boolean _bReloading -
_deleted
private transient boolean _deleted -
_bReloadable
private transient boolean _bReloadable
-
-
Constructor Details
-
AbstractTypeRef
public AbstractTypeRef()
-
-
Method Details
-
writeObject
- Throws:
IOException
-
readObject
- Throws:
ClassNotFoundException
IOException
-
readResolve
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
-
_setType
-
isStale
public final boolean isStale() -
isReloadable
public boolean isReloadable()- Specified by:
isReloadable
in classITypeRef
-
setReloadable
public void setReloadable(boolean bReloadable) - Specified by:
setReloadable
in classITypeRef
-
getModule
-
getTypeLoaderDirectly
- Specified by:
getTypeLoaderDirectly
in classITypeRef
-
_setStale
-
unloadTypeInfo
public void unloadTypeInfo()Description copied from interface:IType
Unload or nullify any references to this IType's ITypeInfo.- Specified by:
unloadTypeInfo
in interfaceIType
-
equals
-
hashCode
public int hashCode() -
_shouldReload
public boolean _shouldReload()- Specified by:
_shouldReload
in classITypeRef
-
_getType
-
isDeleted
public boolean isDeleted() -
checkNotDeleted
private void checkNotDeleted() -
_getClassOfRef
- Specified by:
_getClassOfRef
in classITypeRef
-
_reload
protected final void _reload() -
_resolveType
private void _resolveType() -
_getTypeName
-
_getTypeNameLong
-
_getIndexForSortingFast
-
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
-
_getTypeNameInternal
This method is called reflectively. -
isTypeRefreshedOutsideOfLock
- Specified by:
isTypeRefreshedOutsideOfLock
in classITypeRef
-
toString
-