Package gw.internal.gosu.parser
Class ModuleTypeLoader
java.lang.Object
gw.internal.gosu.parser.ModuleTypeLoader
- All Implemented Interfaces:
ITypeLoaderStackInternal
,ITypeLoaderStack
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate DefaultTypeLoader
private List<ITypeLoader>
private Map<String,
ITypeLoader> private IModule
private ITypeRefFactory
private WeakFqnCache<IType>
private static final IType
-
Constructor Summary
ConstructorsConstructorDescriptionModuleTypeLoader
(IModule module, DefaultTypeLoader defaultTypeLoader) ModuleTypeLoader
(IModule module, List<ITypeLoader> loaderStack) -
Method Summary
Modifier and TypeMethodDescriptionprivate IType
cacheNamespace
(String name, IType type) private IType
cacheType
(String name, Pair<IType, ITypeLoader> pair) Adds the type to the cache.private void
void
void
clearFromCaches
(RefreshRequest request) private void
clearFromCaches
(String fullyQualifiedTypeName) private void
clearNamespaces
(RefreshRequest request) private IType
findInCache
(String fqnNoArrays) private IType
findInCaseInsenstiveCache
(String fqnNoArrays) getCachedType
(String fqn) getIntrinsicTypeFromObject
(Object object) getNamespaceType
(String strNamespace) getTypeByFullNameIfValid
(String fullyQualifiedName, boolean skipJava) <T extends ITypeLoader>
TgetTypeLoader
(Class<? extends T> loaderType) getTypeNames
(String namespace) private void
initMaps()
private boolean
isProxyType
(String fullyQualifiedName, ITypeLoader loader) private boolean
isValidNamespace
(String strNamespace) private IType
loadNamespaceAndCacheResult
(String fullyQualifiedName) private IType
loadNamespaceType
(String namespace) private Pair<IType,
ITypeLoader> private IType
loadTypeAndCacheResult
(String fullyQualifiedName, boolean skipJava) void
pushTypeLoader
(ITypeLoader typeLoader) boolean
refresh
(IResource file, String typeName, RefreshKind refreshKind) private boolean
refreshDirectory
(IDirectory directory, RefreshKind kind) void
private boolean
refreshFile
(IFile file, String typeName, RefreshKind kind) private void
refreshNamespaceCaches
(String namespace, ITypeLoader typeLoader, RefreshKind kind) private void
removeMissesAndErrors
(Collection<IType> types) private void
void
removeTypeLoader
(Class<? extends ITypeLoader> loaderType) void
reset()
void
shutdown()
(package private) static String
stripArrayBrackets
(String name) \toString()
void
-
Field Details
-
CACHE_MISS
-
_module
-
_globalStack
-
_defaultTypeLoader
-
_loadersByPrefix
-
_typesByName
-
_namespaceTypesByName
-
_typesByCaseInsensitiveName
-
_typeRefFactory
-
-
Constructor Details
-
ModuleTypeLoader
-
ModuleTypeLoader
-
-
Method Details
-
initMaps
private void initMaps() -
reset
public void reset() -
getModule
- Specified by:
getModule
in interfaceITypeLoaderStack
-
getTypeLoaders
- Specified by:
getTypeLoaders
in interfaceITypeLoaderStackInternal
-
pushTypeLoader
-
clearErrorTypes
public void clearErrorTypes()- Specified by:
clearErrorTypes
in interfaceITypeLoaderStackInternal
-
removeMissesAndErrorsFromMainCache
private void removeMissesAndErrorsFromMainCache() -
removeMissesAndErrors
-
clearCaches
private void clearCaches() -
removeTypeLoader
-
clearFromCaches
- Specified by:
clearFromCaches
in interfaceITypeLoaderStackInternal
-
clearNamespaces
-
getTypeNames
- Specified by:
getTypeNames
in interfaceITypeLoaderStack
-
getTypeLoader
- Specified by:
getTypeLoader
in interfaceITypeLoaderStack
-
getNamespaceType
- Specified by:
getNamespaceType
in interfaceITypeLoaderStackInternal
-
isValidNamespace
-
getIntrinsicTypeFromObject
- Specified by:
getIntrinsicTypeFromObject
in interfaceITypeLoaderStackInternal
-
getTypeByFullNameIfValid
- Specified by:
getTypeByFullNameIfValid
in interfaceITypeLoaderStackInternal
-
findInCache
-
findInCaseInsenstiveCache
-
stripArrayBrackets
\- Parameters:
name
- The name- Returns:
- The result of stripping all trailing occurrences of array brackets ("[]")
from
name
. Examples:entity.Coverage => entity.Coverage entity.Coverage[] => entity.Coverage entity.Coverage[][][] => entity.Coverage
-
loadTypeAndCacheResult
-
loadNamespaceAndCacheResult
-
refreshed
public void refreshed()- Specified by:
refreshed
in interfaceITypeLoaderStack
-
clearFromCaches
-
loadType
-
loadNamespaceType
-
isProxyType
-
getTypeLoaderStack
- Specified by:
getTypeLoaderStack
in interfaceITypeLoaderStack
-
cacheType
Adds the type to the cache. -
cacheNamespace
-
getTypeRefFactory
- Specified by:
getTypeRefFactory
in interfaceITypeLoaderStack
-
uninitializeTypeLoaders
public void uninitializeTypeLoaders() -
getDefaultTypeLoader
- Specified by:
getDefaultTypeLoader
in interfaceITypeLoaderStack
-
toString
-
shutdown
public void shutdown()- Specified by:
shutdown
in interfaceITypeLoaderStack
-
refresh
- Specified by:
refresh
in interfaceITypeLoaderStackInternal
-
refreshDirectory
-
refreshNamespaceCaches
-
refreshFile
-
getCachedType
-