Class TypeUsesMap

    • Constructor Detail

      • TypeUsesMap

        public TypeUsesMap​(List<String> specialTypeUses)
      • TypeUsesMap

        public TypeUsesMap()
    • Method Detail

      • copyLocalScope

        public ITypeUsesMap copyLocalScope()
        Description copied from interface: ITypeUsesMap
        Copies the type uses map but alias the global map from this.
        Specified by:
        copyLocalScope in interface ITypeUsesMap
        Returns:
        a copy of this type uses map.
      • lock

        public ITypeUsesMap lock()
        Description copied from interface: ITypeUsesMap
        Locks this ITypeUsesMap so that it cannot be mutated in the future
        Specified by:
        lock in interface ITypeUsesMap
        Returns:
        this ITypeUsesMap, so that this method can be used in a builder-like manner.
      • containsType

        public boolean containsType​(String typeName)
        Specified by:
        containsType in interface ITypeUsesMap
        Returns:
        if a type wit the given name can be resolved via this type uses map.
      • getTypeUses

        public Set<String> getTypeUses()
        Description copied from interface: ITypeUsesMap
        Returns the set of strings representing the types that are currently used by this parser. The set of types includes both those declared in #uses statements and those set via setDefaultTypeUses.
        Specified by:
        getTypeUses in interface ITypeUsesMap
      • getNamespaces

        public Set<String> getNamespaces()
        Description copied from interface: ITypeUsesMap
        Returns the set of strings representing the namespaces that are currently used by this parser.
        Specified by:
        getNamespaces in interface ITypeUsesMap
      • addToTypeUses

        public void addToTypeUses​(String strType)
        Description copied from interface: ITypeUsesMap
        Adds a type to the current set of types. Can be a complete type or a wildcard namespace e.g., java.util.HashMap and java.util.* are both legal.
        Specified by:
        addToTypeUses in interface ITypeUsesMap
      • addToTypeUses

        public void addToTypeUses​(IUsesStatement usesSmt)
        Description copied from interface: ITypeUsesMap
        Adds a type to the current set of types. Can be a complete type or a wildcard namespace e.g., java.util.HashMap and java.util.* are both legal.
        Specified by:
        addToTypeUses in interface ITypeUsesMap
      • getUsesStatements

        public Set<IUsesStatement> getUsesStatements()
        Description copied from interface: ITypeUsesMap
        Return the set of uses-statements that participate in this map. Note these are the uses-statements compiled from source.
        Specified by:
        getUsesStatements in interface ITypeUsesMap
      • addToDefaultTypeUses

        public void addToDefaultTypeUses​(String strType)
        Description copied from interface: ITypeUsesMap
        Add the specified type to the set of default types. NOTE: The type is always treated as a package. If it ends in .* then it will be stripped
        Specified by:
        addToDefaultTypeUses in interface ITypeUsesMap
      • resolveType

        public IType resolveType​(String strRelativeName)
        Description copied from interface: ITypeUsesMap
        Resolve the type of a relative name via the type uses. if the relative type matches uses-type, resolves the type as such. If the type matches, but does not resove, throws an exception, otherwise returns null if there is no match.
        Specified by:
        resolveType in interface ITypeUsesMap
      • resolveRelativeNamespaceInAllNamespaces

        public INamespaceType resolveRelativeNamespaceInAllNamespaces​(String strRelativeName)
        Specified by:
        resolveRelativeNamespaceInAllNamespaces in interface ITypeUsesMap
        Parameters:
        strRelativeName - A relative path name. E.g., "lang" is a relative package name of "java.lang"
        Returns:
        The absolute namespace type for the relative name or null if not found.