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 DefaultTypeLoaderprivate List<ITypeLoader>private Map<String,ITypeLoader> private IModuleprivate ITypeRefFactoryprivate WeakFqnCache<IType>private static final IType -
Constructor Summary
ConstructorsConstructorDescriptionModuleTypeLoader(IModule module, DefaultTypeLoader defaultTypeLoader) ModuleTypeLoader(IModule module, List<ITypeLoader> loaderStack) -
Method Summary
Modifier and TypeMethodDescriptionprivate ITypecacheNamespace(String name, IType type) private ITypecacheType(String name, Pair<IType, ITypeLoader> pair) Adds the type to the cache.private voidvoidvoidclearFromCaches(RefreshRequest request) private voidclearFromCaches(String fullyQualifiedTypeName) private voidclearNamespaces(RefreshRequest request) private ITypefindInCache(String fqnNoArrays) private ITypefindInCaseInsenstiveCache(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 voidinitMaps()private booleanisProxyType(String fullyQualifiedName, ITypeLoader loader) private booleanisValidNamespace(String strNamespace) private ITypeloadNamespaceAndCacheResult(String fullyQualifiedName) private ITypeloadNamespaceType(String namespace) private Pair<IType,ITypeLoader> private ITypeloadTypeAndCacheResult(String fullyQualifiedName, boolean skipJava) voidpushTypeLoader(ITypeLoader typeLoader) booleanrefresh(IResource file, String typeName, RefreshKind refreshKind) private booleanrefreshDirectory(IDirectory directory, RefreshKind kind) voidprivate booleanrefreshFile(IFile file, String typeName, RefreshKind kind) private voidrefreshNamespaceCaches(String namespace, ITypeLoader typeLoader, RefreshKind kind) private voidremoveMissesAndErrors(Collection<IType> types) private voidvoidremoveTypeLoader(Class<? extends ITypeLoader> loaderType) voidreset()voidshutdown()(package private) static StringstripArrayBrackets(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:
getModulein interfaceITypeLoaderStack
-
getTypeLoaders
- Specified by:
getTypeLoadersin interfaceITypeLoaderStackInternal
-
pushTypeLoader
-
clearErrorTypes
public void clearErrorTypes()- Specified by:
clearErrorTypesin interfaceITypeLoaderStackInternal
-
removeMissesAndErrorsFromMainCache
private void removeMissesAndErrorsFromMainCache() -
removeMissesAndErrors
-
clearCaches
private void clearCaches() -
removeTypeLoader
-
clearFromCaches
- Specified by:
clearFromCachesin interfaceITypeLoaderStackInternal
-
clearNamespaces
-
getTypeNames
- Specified by:
getTypeNamesin interfaceITypeLoaderStack
-
getTypeLoader
- Specified by:
getTypeLoaderin interfaceITypeLoaderStack
-
getNamespaceType
- Specified by:
getNamespaceTypein interfaceITypeLoaderStackInternal
-
isValidNamespace
-
getIntrinsicTypeFromObject
- Specified by:
getIntrinsicTypeFromObjectin interfaceITypeLoaderStackInternal
-
getTypeByFullNameIfValid
- Specified by:
getTypeByFullNameIfValidin 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:
refreshedin interfaceITypeLoaderStack
-
clearFromCaches
-
loadType
-
loadNamespaceType
-
isProxyType
-
getTypeLoaderStack
- Specified by:
getTypeLoaderStackin interfaceITypeLoaderStack
-
cacheType
Adds the type to the cache. -
cacheNamespace
-
getTypeRefFactory
- Specified by:
getTypeRefFactoryin interfaceITypeLoaderStack
-
uninitializeTypeLoaders
public void uninitializeTypeLoaders() -
getDefaultTypeLoader
- Specified by:
getDefaultTypeLoaderin interfaceITypeLoaderStack
-
toString
-
shutdown
public void shutdown()- Specified by:
shutdownin interfaceITypeLoaderStack
-
refresh
- Specified by:
refreshin interfaceITypeLoaderStackInternal
-
refreshDirectory
-
refreshNamespaceCaches
-
refreshFile
-
getCachedType
-