Class ModuleTypeLoader

    • Field Detail

      • CACHE_MISS

        private static final IType CACHE_MISS
      • _globalStack

        private java.util.List<ITypeLoader> _globalStack
      • _loadersByPrefix

        private java.util.Map<java.lang.String,​ITypeLoader> _loadersByPrefix
      • _namespaceTypesByName

        private java.util.Map<java.lang.String,​IType> _namespaceTypesByName
      • _typesByCaseInsensitiveName

        private java.util.Map<java.lang.String,​IType> _typesByCaseInsensitiveName
    • Method Detail

      • initMaps

        private void initMaps()
      • reset

        public void reset()
      • pushTypeLoader

        public void pushTypeLoader​(ITypeLoader typeLoader)
      • removeMissesAndErrorsFromMainCache

        private void removeMissesAndErrorsFromMainCache()
      • removeMissesAndErrors

        private void removeMissesAndErrors​(java.util.Collection<IType> types)
      • clearCaches

        private void clearCaches()
      • removeTypeLoader

        public void removeTypeLoader​(java.lang.Class<? extends ITypeLoader> loaderType)
      • clearNamespaces

        private void clearNamespaces​(RefreshRequest request)
      • isValidNamespace

        private boolean isValidNamespace​(java.lang.String strNamespace)
      • findInCache

        private IType findInCache​(java.lang.String fqnNoArrays)
      • findInCaseInsenstiveCache

        private IType findInCaseInsenstiveCache​(java.lang.String fqnNoArrays)
      • stripArrayBrackets

        static java.lang.String stripArrayBrackets​(java.lang.String name)
        \
        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

        private IType loadTypeAndCacheResult​(java.lang.String fullyQualifiedName,
                                             boolean skipJava)
      • loadNamespaceAndCacheResult

        private IType loadNamespaceAndCacheResult​(java.lang.String fullyQualifiedName)
      • clearFromCaches

        private void clearFromCaches​(java.lang.String fullyQualifiedTypeName)
      • loadType

        private Pair<IType,​ITypeLoader> loadType​(java.lang.String fullyQualifiedName,
                                                       boolean skipJava)
      • loadNamespaceType

        private IType loadNamespaceType​(java.lang.String namespace)
      • isProxyType

        private boolean isProxyType​(java.lang.String fullyQualifiedName,
                                    ITypeLoader loader)
      • cacheType

        private IType cacheType​(java.lang.String name,
                                Pair<IType,​ITypeLoader> pair)
        Adds the type to the cache.
      • cacheNamespace

        private IType cacheNamespace​(java.lang.String name,
                                     IType type)
      • uninitializeTypeLoaders

        public void uninitializeTypeLoaders()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • refreshNamespaceCaches

        private void refreshNamespaceCaches​(java.lang.String namespace,
                                            ITypeLoader typeLoader,
                                            RefreshKind kind)
      • refreshFile

        private boolean refreshFile​(IFile file,
                                    java.lang.String typeName,
                                    RefreshKind kind)
      • getCachedType

        public IType getCachedType​(java.lang.String fqn)