Package soot.JastAddJ

Class ClassInstanceExpr

    • Field Detail

      • addEnclosingVariables

        protected boolean addEnclosingVariables
      • isDAafterInstance_Variable_values

        protected Map isDAafterInstance_Variable_values
      • computeDAbefore_int_Variable_values

        protected Map computeDAbefore_int_Variable_values
      • computeDUbefore_int_Variable_values

        protected Map computeDUbefore_int_Variable_values
      • decls_computed

        protected boolean decls_computed
      • decls_value

        protected SimpleSet decls_value
      • decl_computed

        protected boolean decl_computed
      • localLookupType_String_values

        protected Map localLookupType_String_values
      • type_computed

        protected boolean type_computed
      • type_value

        protected TypeDecl type_value
    • Constructor Detail

      • ClassInstanceExpr

        public ClassInstanceExpr​(Access type,
                                 List args)
      • ClassInstanceExpr

        public ClassInstanceExpr()
    • Method Detail

      • fullCopy

        public ClassInstanceExpr 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
      • refined_NameCheck_ClassInstanceExpr_nameCheck

        public void refined_NameCheck_ClassInstanceExpr_nameCheck()
      • typeCheckEnclosingInstance

        public void typeCheckEnclosingInstance()
      • typeCheckAnonymousSuperclassEnclosingInstance

        public void typeCheckAnonymousSuperclassEnclosingInstance()
      • checkModifiers

        public void checkModifiers()
      • addEnclosingVariables

        public void addEnclosingVariables()
      • refined_Transformations_ClassInstanceExpr_transformation

        public void refined_Transformations_ClassInstanceExpr_transformation()
      • 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 Access
      • setAccess

        public void setAccess​(Access node)
        Replaces the Access child.
        Parameters:
        node - The new node to replace the Access child.
      • getAccess

        public Access getAccess()
        Retrieves the Access child.
        Returns:
        The current node used as the Access child.
      • getAccessNoTransform

        public Access getAccessNoTransform()
        Retrieves the Access child.

        This method does not invoke AST transformations.

        Returns:
        The current node used as the Access child.
      • setArgList

        public void setArgList​(List<Expr> list)
        Replaces the Arg list.
        Parameters:
        list - The new list node to be used as the Arg list.
      • getNumArg

        public int getNumArg()
        Retrieves the number of children in the Arg list.
        Returns:
        Number of children in the Arg list.
      • getNumArgNoTransform

        public int getNumArgNoTransform()
        Retrieves the number of children in the Arg list. Calling this method will not trigger rewrites..
        Returns:
        Number of children in the Arg list.
      • getArg

        public Expr getArg​(int i)
        Retrieves the element at index i in the Arg list..
        Parameters:
        i - Index of the element to return.
        Returns:
        The element at position i in the Arg list.
      • addArg

        public void addArg​(Expr node)
        Append an element to the Arg list.
        Parameters:
        node - The element to append to the Arg list.
      • addArgNoTransform

        public void addArgNoTransform​(Expr node)
      • setArg

        public void setArg​(Expr node,
                           int i)
        Replaces the Arg 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.
      • getArgs

        public List<Expr> getArgs()
        Retrieves the Arg list.
        Returns:
        The node representing the Arg list.
      • getArgsNoTransform

        public List<Expr> getArgsNoTransform()
        Retrieves the Arg list.

        This method does not invoke AST transformations.

        Returns:
        The node representing the Arg list.
      • getArgList

        public List<Expr> getArgList()
        Retrieves the Arg list.
        Returns:
        The node representing the Arg list.
      • getArgListNoTransform

        public List<Expr> getArgListNoTransform()
        Retrieves the Arg list.

        This method does not invoke AST transformations.

        Returns:
        The node representing the Arg list.
      • setTypeDeclOpt

        public void setTypeDeclOpt​(Opt<TypeDecl> opt)
        Replaces the optional node for the TypeDecl child. This is the Opt node containing the child TypeDecl, not the actual child!
        Parameters:
        opt - The new node to be used as the optional node for the TypeDecl child.
      • hasTypeDecl

        public boolean hasTypeDecl()
        Check whether the optional TypeDecl child exists.
        Returns:
        true if the optional TypeDecl child exists, false if it does not.
      • getTypeDecl

        public TypeDecl getTypeDecl()
        Retrieves the (optional) TypeDecl child.
        Returns:
        The TypeDecl child, if it exists. Returns null otherwise.
      • setTypeDecl

        public void setTypeDecl​(TypeDecl node)
        Replaces the (optional) TypeDecl child.
        Parameters:
        node - The new node to be used as the TypeDecl child.
      • getTypeDeclOpt

        public Opt<TypeDecl> getTypeDeclOpt()
      • getTypeDeclOptNoTransform

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

        This method does not invoke AST transformations.

        Returns:
        The optional node for child TypeDecl.
      • isDAafterInstance

        public boolean isDAafterInstance​(Variable v)
      • computeDAbefore

        public boolean computeDAbefore​(int i,
                                       Variable v)
      • isDUafterInstance

        public boolean isDUafterInstance​(Variable v)
      • computeDUbefore

        public boolean computeDUbefore​(int i,
                                       Variable v)
      • validArgs

        public boolean validArgs()
      • noEnclosingInstance

        public boolean noEnclosingInstance()
      • arity

        public int arity()
      • invokesVariableArityAsArray

        public boolean invokesVariableArityAsArray()
      • handlesException

        public boolean handlesException​(TypeDecl exceptionType)
      • typeObject

        public TypeDecl typeObject()
      • typeDeclIndent

        public String typeDeclIndent()
      • enclosingInstance

        public TypeDecl enclosingInstance()