Class ScopeUtil


  • public final class ScopeUtil
    extends java.lang.Object
    Contains utility methods for working on scope.
    • Method Detail

      • getScopeFromMods

        public static Scope getScopeFromMods​(DetailAST aMods)
        Returns the Scope specified by the modifier set.
        Parameters:
        aMods - root node of a modifier set
        Returns:
        a Scope value
      • getSurroundingScope

        public static Scope getSurroundingScope​(DetailAST node)
        Returns the scope of the surrounding "block".
        Parameters:
        node - the node to return the scope for
        Returns:
        the Scope of the surrounding block
      • isInClassBlock

        public static boolean isInClassBlock​(DetailAST node)
        Returns whether a node is directly contained within a class block.
        Parameters:
        node - the node to check if directly contained within a class block.
        Returns:
        a boolean value
      • isInRecordBlock

        public static boolean isInRecordBlock​(DetailAST node)
        Returns whether a node is directly contained within a record block.
        Parameters:
        node - the node to check if directly contained within a record block.
        Returns:
        a boolean value
      • isInInterfaceBlock

        public static boolean isInInterfaceBlock​(DetailAST node)
        Returns whether a node is directly contained within an interface block.
        Parameters:
        node - the node to check if directly contained within an interface block.
        Returns:
        a boolean value
      • isInAnnotationBlock

        public static boolean isInAnnotationBlock​(DetailAST node)
        Returns whether a node is directly contained within an annotation block.
        Parameters:
        node - the node to check if directly contained within an annotation block.
        Returns:
        a boolean value
      • isInInterfaceOrAnnotationBlock

        public static boolean isInInterfaceOrAnnotationBlock​(DetailAST node)
        Returns whether a node is directly contained within an interface or annotation block.
        Parameters:
        node - the node to check if directly contained within an interface or annotation block.
        Returns:
        a boolean value
      • isInEnumBlock

        public static boolean isInEnumBlock​(DetailAST node)
        Returns whether a node is directly contained within an enum block.
        Parameters:
        node - the node to check if directly contained within an enum block.
        Returns:
        a boolean value
      • isInCodeBlock

        public static boolean isInCodeBlock​(DetailAST node)
        Returns whether the scope of a node is restricted to a code block. A code block is a method or constructor body, an initializer block, or lambda body.
        Parameters:
        node - the node to check
        Returns:
        a boolean value
      • isOuterMostType

        public static boolean isOuterMostType​(DetailAST node)
        Returns whether a node is contained in the outer most type block.
        Parameters:
        node - the node to check
        Returns:
        a boolean value
      • isLocalVariableDef

        public static boolean isLocalVariableDef​(DetailAST node)
        Determines whether a node is a local variable definition. I.e. if it is declared in a code block, a for initializer, or a catch parameter.
        Parameters:
        node - the node to check.
        Returns:
        whether aAST is a local variable definition.
      • isClassFieldDef

        public static boolean isClassFieldDef​(DetailAST node)
        Determines whether a node is a class field definition. I.e. if a variable is not declared in a code block, a for initializer, or a catch parameter.
        Parameters:
        node - the node to check.
        Returns:
        whether a node is a class field definition.
      • isInScope

        public static boolean isInScope​(DetailAST ast,
                                        Scope scope)
        Checks whether ast node is in a specific scope.
        Parameters:
        ast - the node to check.
        scope - a Scope value.
        Returns:
        true if the ast node is in the scope.