Package soot.JastAddJ

Class ReturnStmt

    • Field Detail

      • finallyList_computed

        protected boolean finallyList_computed
      • finallyList_value

        protected ArrayList finallyList_value
      • isDAafter_Variable_values

        protected Map isDAafter_Variable_values
      • isDUafterReachedFinallyBlocks_Variable_values

        protected Map isDUafterReachedFinallyBlocks_Variable_values
      • isDAafterReachedFinallyBlocks_Variable_values

        protected Map isDAafterReachedFinallyBlocks_Variable_values
      • isDUafter_Variable_values

        protected Map isDUafter_Variable_values
      • canCompleteNormally_computed

        protected boolean canCompleteNormally_computed
      • canCompleteNormally_value

        protected boolean canCompleteNormally_value
      • inSynchronizedBlock_computed

        protected boolean inSynchronizedBlock_computed
      • inSynchronizedBlock_value

        protected boolean inSynchronizedBlock_value
    • Constructor Detail

      • ReturnStmt

        public ReturnStmt​(Expr expr)
      • ReturnStmt

        public ReturnStmt()
      • ReturnStmt

        public ReturnStmt​(Opt<Expr> p0)
    • Method Detail

      • flushCache

        public void flushCache()
        Overrides:
        flushCache in class Stmt
      • fullCopy

        public ReturnStmt 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
      • 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 Stmt
      • numChildren

        protected int numChildren()
        Overrides:
        numChildren in class Stmt
      • mayHaveRewrite

        public boolean mayHaveRewrite()
        Overrides:
        mayHaveRewrite in class Stmt
      • setResultOpt

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

        public boolean hasResult()
        Check whether the optional Result child exists.
        Returns:
        true if the optional Result child exists, false if it does not.
      • getResult

        public Expr getResult()
        Retrieves the (optional) Result child.
        Returns:
        The Result child, if it exists. Returns null otherwise.
      • setResult

        public void setResult​(Expr node)
        Replaces the (optional) Result child.
        Parameters:
        node - The new node to be used as the Result child.
      • getResultOpt

        public Opt<Expr> getResultOpt()
      • getResultOptNoTransform

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

        This method does not invoke AST transformations.

        Returns:
        The optional node for child Result.
      • finallyList

        public ArrayList finallyList()
      • isDUafterReachedFinallyBlocks

        public boolean isDUafterReachedFinallyBlocks​(Variable v)
      • isDAafterReachedFinallyBlocks

        public boolean isDAafterReachedFinallyBlocks​(Variable v)
      • inSynchronizedBlock

        public boolean inSynchronizedBlock()
      • returnType

        public TypeDecl returnType()
      • exceptionRanges

        public ArrayList exceptionRanges()