Package soot.JastAddJ

Class ParClassDecl

    • Field Detail

      • involvesTypeParameters_visited

        protected int involvesTypeParameters_visited
      • involvesTypeParameters_computed

        protected boolean involvesTypeParameters_computed
      • involvesTypeParameters_initialized

        protected boolean involvesTypeParameters_initialized
      • involvesTypeParameters_value

        protected boolean involvesTypeParameters_value
      • erasure_computed

        protected boolean erasure_computed
      • erasure_value

        protected TypeDecl erasure_value
      • getSuperClassAccessOpt_computed

        protected boolean getSuperClassAccessOpt_computed
      • getSuperClassAccessOpt_value

        protected Opt getSuperClassAccessOpt_value
      • getImplementsList_computed

        protected boolean getImplementsList_computed
      • getImplementsList_value

        protected List getImplementsList_value
      • getBodyDeclList_computed

        protected boolean getBodyDeclList_computed
      • getBodyDeclList_value

        protected List getBodyDeclList_value
      • subtype_TypeDecl_values

        protected Map subtype_TypeDecl_values
      • sameStructure_TypeDecl_values

        protected Map sameStructure_TypeDecl_values
      • instanceOf_TypeDecl_values

        protected Map instanceOf_TypeDecl_values
      • sameSignature_ArrayList_values

        protected Map sameSignature_ArrayList_values
      • usesTypeVariable_visited

        protected int usesTypeVariable_visited
      • usesTypeVariable_computed

        protected boolean usesTypeVariable_computed
      • usesTypeVariable_initialized

        protected boolean usesTypeVariable_initialized
      • usesTypeVariable_value

        protected boolean usesTypeVariable_value
      • sourceTypeDecl_computed

        protected boolean sourceTypeDecl_computed
      • sourceTypeDecl_value

        protected TypeDecl sourceTypeDecl_value
      • fullName_computed

        protected boolean fullName_computed
      • fullName_value

        protected String fullName_value
      • typeName_computed

        protected boolean typeName_computed
      • typeName_value

        protected String typeName_value
      • unimplementedMethods_computed

        protected boolean unimplementedMethods_computed
      • unimplementedMethods_value

        protected Collection unimplementedMethods_value
      • localMethodsSignatureMap_computed

        protected boolean localMethodsSignatureMap_computed
      • localMethodsSignatureMap_value

        protected HashMap localMethodsSignatureMap_value
      • localFields_String_values

        protected Map localFields_String_values
      • localTypeDecls_String_values

        protected Map localTypeDecls_String_values
      • constructors_computed

        protected boolean constructors_computed
      • constructors_value

        protected Collection constructors_value
      • genericDecl_computed

        protected boolean genericDecl_computed
      • genericDecl_value

        protected TypeDecl genericDecl_value
    • Method Detail

      • fullCopy

        public ParClassDecl 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 ClassDecl
        Returns:
        dangling copy of the subtree at this node
      • collectErrors

        public void collectErrors()
        Description copied from class: ASTNode
        The collectErrors method is refined so that it calls the checkWarnings method on each ASTNode to report unchecked warnings.
        Overrides:
        collectErrors 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 ClassDecl
      • setModifiers

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

        public Modifiers getModifiers()
        Retrieves the Modifiers child.
        Overrides:
        getModifiers in class ClassDecl
        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 ClassDecl
        Returns:
        The current node used as the Modifiers child.
      • setID

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

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

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

        public int getNumArgument()
        Retrieves the number of children in the Argument list.
        Specified by:
        getNumArgument in interface ParTypeDecl
        Returns:
        Number of children in the Argument list.
      • getNumArgumentNoTransform

        public int getNumArgumentNoTransform()
        Retrieves the number of children in the Argument list. Calling this method will not trigger rewrites..
        Returns:
        Number of children in the Argument list.
      • getArgument

        public Access getArgument​(int i)
        Retrieves the element at index i in the Argument list..
        Specified by:
        getArgument in interface ParTypeDecl
        Parameters:
        i - Index of the element to return.
        Returns:
        The element at position i in the Argument list.
      • addArgument

        public void addArgument​(Access node)
        Append an element to the Argument list.
        Parameters:
        node - The element to append to the Argument list.
      • addArgumentNoTransform

        public void addArgumentNoTransform​(Access node)
      • setArgument

        public void setArgument​(Access node,
                                int i)
        Replaces the Argument 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.
      • getArguments

        public List<Access> getArguments()
        Retrieves the Argument list.
        Returns:
        The node representing the Argument list.
      • getArgumentsNoTransform

        public List<Access> getArgumentsNoTransform()
        Retrieves the Argument list.

        This method does not invoke AST transformations.

        Returns:
        The node representing the Argument list.
      • getArgumentList

        public List<Access> getArgumentList()
        Retrieves the Argument list.
        Returns:
        The node representing the Argument list.
      • getArgumentListNoTransform

        public List<Access> getArgumentListNoTransform()
        Retrieves the Argument list.

        This method does not invoke AST transformations.

        Returns:
        The node representing the Argument list.
      • setSuperClassAccessOpt

        public void setSuperClassAccessOpt​(Opt<Access> opt)
        Replaces the optional node for the SuperClassAccess child. This is the Opt node containing the child SuperClassAccess, not the actual child!
        Overrides:
        setSuperClassAccessOpt in class ClassDecl
        Parameters:
        opt - The new node to be used as the optional node for the SuperClassAccess child.
      • hasSuperClassAccess

        public boolean hasSuperClassAccess()
        Check whether the optional SuperClassAccess child exists.
        Overrides:
        hasSuperClassAccess in class ClassDecl
        Returns:
        true if the optional SuperClassAccess child exists, false if it does not.
      • getSuperClassAccess

        public Access getSuperClassAccess()
        Retrieves the (optional) SuperClassAccess child.
        Overrides:
        getSuperClassAccess in class ClassDecl
        Returns:
        The SuperClassAccess child, if it exists. Returns null otherwise.
      • setSuperClassAccess

        public void setSuperClassAccess​(Access node)
        Replaces the (optional) SuperClassAccess child.
        Overrides:
        setSuperClassAccess in class ClassDecl
        Parameters:
        node - The new node to be used as the SuperClassAccess child.
      • getSuperClassAccessOptNoTransform

        public Opt<Access> getSuperClassAccessOptNoTransform()
        Retrieves the optional node for child SuperClassAccess. This is the Opt node containing the child SuperClassAccess, not the actual child!

        This method does not invoke AST transformations.

        Overrides:
        getSuperClassAccessOptNoTransform in class ClassDecl
        Returns:
        The optional node for child SuperClassAccess.
      • getSuperClassAccessOptChildPosition

        protected int getSuperClassAccessOptChildPosition()
        Retrieves the child position of the optional child SuperClassAccess.
        Returns:
        The the child position of the optional child SuperClassAccess.
      • setImplementsList

        public void setImplementsList​(List<Access> list)
        Replaces the Implements list.
        Overrides:
        setImplementsList in class ClassDecl
        Parameters:
        list - The new list node to be used as the Implements list.
      • getNumImplements

        public int getNumImplements()
        Retrieves the number of children in the Implements list.
        Overrides:
        getNumImplements in class ClassDecl
        Returns:
        Number of children in the Implements list.
      • getNumImplementsNoTransform

        public int getNumImplementsNoTransform()
        Retrieves the number of children in the Implements list. Calling this method will not trigger rewrites..
        Overrides:
        getNumImplementsNoTransform in class ClassDecl
        Returns:
        Number of children in the Implements list.
      • getImplements

        public Access getImplements​(int i)
        Retrieves the element at index i in the Implements list..
        Overrides:
        getImplements in class ClassDecl
        Parameters:
        i - Index of the element to return.
        Returns:
        The element at position i in the Implements list.
      • addImplements

        public void addImplements​(Access node)
        Append an element to the Implements list.
        Overrides:
        addImplements in class ClassDecl
        Parameters:
        node - The element to append to the Implements list.
      • setImplements

        public void setImplements​(Access node,
                                  int i)
        Replaces the Implements list element at index i with the new node node.
        Overrides:
        setImplements in class ClassDecl
        Parameters:
        node - The new node to replace the old list element.
        i - The list index of the node to be replaced.
      • getImplementss

        public List<Access> getImplementss()
        Retrieves the Implements list.
        Overrides:
        getImplementss in class ClassDecl
        Returns:
        The node representing the Implements list.
      • getImplementssNoTransform

        public List<Access> getImplementssNoTransform()
        Retrieves the Implements list.

        This method does not invoke AST transformations.

        Overrides:
        getImplementssNoTransform in class ClassDecl
        Returns:
        The node representing the Implements list.
      • getImplementsListNoTransform

        public List<Access> getImplementsListNoTransform()
        Retrieves the Implements list.

        This method does not invoke AST transformations.

        Overrides:
        getImplementsListNoTransform in class ClassDecl
        Returns:
        The node representing the Implements list.
      • getImplementsListChildPosition

        protected int getImplementsListChildPosition()
        Retrieves the child position of the Implements list.
        Returns:
        The the child position of the Implements list.
      • setBodyDeclList

        public void setBodyDeclList​(List<BodyDecl> list)
        Replaces the BodyDecl list.
        Overrides:
        setBodyDeclList in class ClassDecl
        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 ClassDecl
        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 ClassDecl
        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 ClassDecl
        Parameters:
        i - Index of the element to return.
        Returns:
        The element at position i in 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 ClassDecl
        Parameters:
        node - The new node to replace the old list element.
        i - The list index of the node to be replaced.
      • getBodyDecls

        public List<BodyDecl> getBodyDecls()
        Retrieves the BodyDecl list.
        Overrides:
        getBodyDecls in class ClassDecl
        Returns:
        The node representing the BodyDecl list.
      • getBodyDeclsNoTransform

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

        This method does not invoke AST transformations.

        Overrides:
        getBodyDeclsNoTransform in class ClassDecl
        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 ClassDecl
        Returns:
        The node representing the BodyDecl list.
      • getBodyDeclListChildPosition

        protected int getBodyDeclListChildPosition()
        Retrieves the child position of the BodyDecl list.
        Returns:
        The the child position of the BodyDecl list.
      • getImplementsList

        public List getImplementsList()
        Description copied from class: ClassDecl
        Retrieves the Implements list.
        Overrides:
        getImplementsList in class ClassDecl
        Returns:
        The node representing the Implements list.
      • getBodyDeclList

        public List getBodyDeclList()
        Description copied from class: ClassDecl
        Retrieves the BodyDecl list.
        Overrides:
        getBodyDeclList in class ClassDecl
        Returns:
        The node representing the BodyDecl list.
      • isReifiable

        public boolean isReifiable()
        A type is reifiable if it either refers to a non-parameterized type, is a raw type, is a parameterized type with only unbound wildcard parameters or is an array type with a reifiable type parameter.
        Overrides:
        isReifiable in class TypeDecl
        See Also:
        "JLSv3 §4.7"