Package soot.JastAddJ

Class LUBType

    • Field Detail

      • lub_computed

        protected boolean lub_computed
      • lub_value

        protected TypeDecl lub_value
      • subtype_TypeDecl_values

        protected Map subtype_TypeDecl_values
      • getSootClassDecl_computed

        protected boolean getSootClassDecl_computed
      • getSootClassDecl_value

        protected SootClass getSootClassDecl_value
    • Method Detail

      • fullCopy

        public LUBType 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
      • MEC

        public static HashSet MEC​(ArrayList list)
        The minimal erased candidate set for Tj is MEC = {V | V in EC, forall W != V in EC, not W <: V}
        Returns:
        minimal erased candidate set for Tj
      • Inv

        public static HashSet Inv​(TypeDecl G,
                                  ArrayList Us)
        relevant invocations of G, Inv(G) Inv(G) = {V | 1 <= i <= k, V in ST(Ui), V = G<...>}
        Returns:
        set of relevant invocations of G, Inv(G)
      • ST

        public static HashSet ST​(TypeDecl t)
        Returns:
        supertype set of T
      • addSupertypes

        public static void addSupertypes​(HashSet set,
                                         TypeDecl t)
      • 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 ReferenceType
      • setModifiers

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

        public Modifiers getModifiers()
        Retrieves the Modifiers child.
        Overrides:
        getModifiers in class ReferenceType
        Returns:
        The current node used as the Modifiers child.
      • getModifiersNoTransform

        public Modifiers getModifiersNoTransform()
        Retrieves the Modifiers child.

        This method does not invoke AST transformations.

        Overrides:
        getModifiersNoTransform in class ReferenceType
        Returns:
        The current node used as the Modifiers child.
      • setID

        public void setID​(String value)
        Replaces the lexeme ID.
        Overrides:
        setID in class ReferenceType
        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.
        Overrides:
        setID in class ReferenceType
      • getID

        public String getID()
        Retrieves the value for the lexeme ID.
        Overrides:
        getID in class ReferenceType
        Returns:
        The value for the lexeme ID.
      • setBodyDeclList

        public void setBodyDeclList​(List<BodyDecl> list)
        Replaces the BodyDecl list.
        Overrides:
        setBodyDeclList in class ReferenceType
        Parameters:
        list - The new list node to be used as the BodyDecl list.
      • getNumBodyDecl

        public int getNumBodyDecl()
        Retrieves the number of children in the BodyDecl list.
        Overrides:
        getNumBodyDecl in class ReferenceType
        Returns:
        Number of children in the BodyDecl list.
      • getNumBodyDeclNoTransform

        public int getNumBodyDeclNoTransform()
        Retrieves the number of children in the BodyDecl list. Calling this method will not trigger rewrites..
        Overrides:
        getNumBodyDeclNoTransform in class ReferenceType
        Returns:
        Number of children in the BodyDecl list.
      • getBodyDecl

        public BodyDecl getBodyDecl​(int i)
        Retrieves the element at index i in the BodyDecl list..
        Overrides:
        getBodyDecl in class ReferenceType
        Parameters:
        i - Index of the element to return.
        Returns:
        The element at position i in the BodyDecl list.
      • addBodyDecl

        public void addBodyDecl​(BodyDecl node)
        Append an element to the BodyDecl list.
        Overrides:
        addBodyDecl in class ReferenceType
        Parameters:
        node - The element to append to the BodyDecl list.
      • setBodyDecl

        public void setBodyDecl​(BodyDecl node,
                                int i)
        Replaces the BodyDecl list element at index i with the new node node.
        Overrides:
        setBodyDecl in class ReferenceType
        Parameters:
        node - The new node to replace the old list element.
        i - The list index of the node to be replaced.
      • getBodyDeclsNoTransform

        public List<BodyDecl> getBodyDeclsNoTransform()
        Retrieves the BodyDecl list.

        This method does not invoke AST transformations.

        Overrides:
        getBodyDeclsNoTransform in class ReferenceType
        Returns:
        The node representing the BodyDecl list.
      • getBodyDeclListNoTransform

        public List<BodyDecl> getBodyDeclListNoTransform()
        Retrieves the BodyDecl list.

        This method does not invoke AST transformations.

        Overrides:
        getBodyDeclListNoTransform in class ReferenceType
        Returns:
        The node representing the BodyDecl list.
      • setTypeBoundList

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

        public int getNumTypeBound()
        Retrieves the number of children in the TypeBound list.
        Returns:
        Number of children in the TypeBound list.
      • getNumTypeBoundNoTransform

        public int getNumTypeBoundNoTransform()
        Retrieves the number of children in the TypeBound list. Calling this method will not trigger rewrites..
        Returns:
        Number of children in the TypeBound list.
      • getTypeBound

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

        public void addTypeBound​(Access node)
        Append an element to the TypeBound list.
        Parameters:
        node - The element to append to the TypeBound list.
      • addTypeBoundNoTransform

        public void addTypeBoundNoTransform​(Access node)
      • setTypeBound

        public void setTypeBound​(Access node,
                                 int i)
        Replaces the TypeBound 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.
      • getTypeBounds

        public List<Access> getTypeBounds()
        Retrieves the TypeBound list.
        Returns:
        The node representing the TypeBound list.
      • getTypeBoundsNoTransform

        public List<Access> getTypeBoundsNoTransform()
        Retrieves the TypeBound list.

        This method does not invoke AST transformations.

        Returns:
        The node representing the TypeBound list.
      • getTypeBoundList

        public List<Access> getTypeBoundList()
        Retrieves the TypeBound list.
        Returns:
        The node representing the TypeBound list.
      • getTypeBoundListNoTransform

        public List<Access> getTypeBoundListNoTransform()
        Retrieves the TypeBound list.

        This method does not invoke AST transformations.

        Returns:
        The node representing the TypeBound list.