Package soot.JastAddJ

Class CatchParameterDeclaration

    • Field Detail

      • tokenString_ID

        protected String tokenString_ID
      • IDstart

        public int IDstart
      • IDend

        public int IDend
      • sourceVariableDecl_computed

        protected boolean sourceVariableDecl_computed
      • sourceVariableDecl_value

        protected Variable sourceVariableDecl_value
      • throwTypes_computed

        protected boolean throwTypes_computed
    • Constructor Detail

      • CatchParameterDeclaration

        public CatchParameterDeclaration()
    • Method Detail

      • fullCopy

        public CatchParameterDeclaration fullCopy()
        Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.
        Overrides:
        fullCopy in class ASTNode<ASTNode>
        Returns:
        dangling copy of the subtree at this node
      • hasNext

        public boolean hasNext()
        Specified by:
        hasNext in interface Iterator
      • remove

        public void remove()
        Specified by:
        remove in interface Iterator
      • typeCheck

        public void typeCheck()
        Type checking. The types given in a disjunction type may not be subtypes of each other.
        Overrides:
        typeCheck in class ASTNode<ASTNode>
      • nameCheck

        public void nameCheck()
        Duplicate declaration checking for catch parameters.
        Overrides:
        nameCheck in class ASTNode<ASTNode>
      • init$Children

        public void init$Children()
        Initializes the child array to the correct size. Initializes List and Opt nta children.
        Overrides:
        init$Children in class ASTNode<ASTNode>
      • setModifiers

        public void setModifiers​(Modifiers node)
        Replaces the Modifiers child.
        Parameters:
        node - The new node to replace the Modifiers child.
      • getModifiers

        public Modifiers getModifiers()
        Retrieves the Modifiers child.
        Specified by:
        getModifiers in interface Variable
        Returns:
        The current node used as the Modifiers child.
      • getModifiersNoTransform

        public Modifiers getModifiersNoTransform()
        Retrieves the Modifiers child.

        This method does not invoke AST transformations.

        Returns:
        The current node used as the Modifiers child.
      • setTypeAccessList

        public void setTypeAccessList​(List<Access> list)
        Replaces the TypeAccess list.
        Parameters:
        list - The new list node to be used as the TypeAccess list.
      • getNumTypeAccess

        public int getNumTypeAccess()
        Retrieves the number of children in the TypeAccess list.
        Returns:
        Number of children in the TypeAccess list.
      • getNumTypeAccessNoTransform

        public int getNumTypeAccessNoTransform()
        Retrieves the number of children in the TypeAccess list. Calling this method will not trigger rewrites..
        Returns:
        Number of children in the TypeAccess list.
      • getTypeAccess

        public Access getTypeAccess​(int i)
        Retrieves the element at index i in the TypeAccess list..
        Parameters:
        i - Index of the element to return.
        Returns:
        The element at position i in the TypeAccess list.
      • addTypeAccess

        public void addTypeAccess​(Access node)
        Append an element to the TypeAccess list.
        Parameters:
        node - The element to append to the TypeAccess list.
      • addTypeAccessNoTransform

        public void addTypeAccessNoTransform​(Access node)
      • setTypeAccess

        public void setTypeAccess​(Access node,
                                  int i)
        Replaces the TypeAccess list element at index i with the new node node.
        Parameters:
        node - The new node to replace the old list element.
        i - The list index of the node to be replaced.
      • getTypeAccesss

        public List<Access> getTypeAccesss()
        Retrieves the TypeAccess list.
        Returns:
        The node representing the TypeAccess list.
      • getTypeAccesssNoTransform

        public List<Access> getTypeAccesssNoTransform()
        Retrieves the TypeAccess list.

        This method does not invoke AST transformations.

        Returns:
        The node representing the TypeAccess list.
      • getTypeAccessList

        public List<Access> getTypeAccessList()
        Retrieves the TypeAccess list.
        Returns:
        The node representing the TypeAccess list.
      • getTypeAccessListNoTransform

        public List<Access> getTypeAccessListNoTransform()
        Retrieves the TypeAccess list.

        This method does not invoke AST transformations.

        Returns:
        The node representing the TypeAccess list.
      • setID

        public void setID​(String value)
        Replaces the lexeme ID.
        Parameters:
        value - The new value for the lexeme ID.
      • setID

        public void setID​(Symbol symbol)
        JastAdd-internal setter for lexeme ID using the Beaver parser.
      • getID

        public String getID()
        Retrieves the value for the lexeme ID.
        Returns:
        The value for the lexeme ID.
      • isFinal

        public boolean isFinal()
        The catch parameter of a multi-catch clause is implicitly final.
        Specified by:
        isFinal in interface Variable
      • isVolatile

        public boolean isVolatile()
        Specified by:
        isVolatile in interface Variable
      • isBlank

        public boolean isBlank()
        Specified by:
        isBlank in interface Variable
      • isStatic

        public boolean isStatic()
        Specified by:
        isStatic in interface Variable
      • hasInit

        public boolean hasInit()
        Specified by:
        hasInit in interface Variable
      • size

        public int size()
        Specified by:
        size in interface SimpleSet
      • isEmpty

        public boolean isEmpty()
        Specified by:
        isEmpty in interface SimpleSet
      • type

        public TypeDecl type()
        A catch parameter declared with a disjunction type has the effective type lub(t1, t2, ...)
        Specified by:
        type in interface Variable
        See Also:
        "JLSv3 §15.12.2.7"
      • lookupVariable

        public SimpleSet lookupVariable​(String name)
        Inherit the lookupVariable attribute.
      • enclosingBodyDecl

        public BodyDecl enclosingBodyDecl()