Package soot.JastAddJ

Class ConditionalExpr

    • Field Detail

      • constant_computed

        protected boolean constant_computed
      • constant_value

        protected Constant constant_value
      • isConstant_computed

        protected boolean isConstant_computed
      • isConstant_value

        protected boolean isConstant_value
      • booleanOperator_computed

        protected boolean booleanOperator_computed
      • booleanOperator_value

        protected boolean booleanOperator_value
      • type_computed

        protected boolean type_computed
      • type_value

        protected TypeDecl type_value
      • else_branch_label_computed

        protected boolean else_branch_label_computed
      • else_branch_label_value

        protected Stmt else_branch_label_value
      • then_branch_label_computed

        protected boolean then_branch_label_computed
      • then_branch_label_value

        protected Stmt then_branch_label_value
    • Constructor Detail

      • ConditionalExpr

        public ConditionalExpr()
      • ConditionalExpr

        public ConditionalExpr​(Expr p0,
                               Expr p1,
                               Expr p2)
    • Method Detail

      • flushCache

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

        public ConditionalExpr 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 Expr
      • numChildren

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

        public boolean mayHaveRewrite()
        Overrides:
        mayHaveRewrite in class Expr
      • setCondition

        public void setCondition​(Expr node)
        Replaces the Condition child.
        Parameters:
        node - The new node to replace the Condition child.
      • getCondition

        public Expr getCondition()
        Retrieves the Condition child.
        Returns:
        The current node used as the Condition child.
      • getConditionNoTransform

        public Expr getConditionNoTransform()
        Retrieves the Condition child.

        This method does not invoke AST transformations.

        Returns:
        The current node used as the Condition child.
      • setTrueExpr

        public void setTrueExpr​(Expr node)
        Replaces the TrueExpr child.
        Parameters:
        node - The new node to replace the TrueExpr child.
      • getTrueExpr

        public Expr getTrueExpr()
        Retrieves the TrueExpr child.
        Returns:
        The current node used as the TrueExpr child.
      • getTrueExprNoTransform

        public Expr getTrueExprNoTransform()
        Retrieves the TrueExpr child.

        This method does not invoke AST transformations.

        Returns:
        The current node used as the TrueExpr child.
      • setFalseExpr

        public void setFalseExpr​(Expr node)
        Replaces the FalseExpr child.
        Parameters:
        node - The new node to replace the FalseExpr child.
      • getFalseExpr

        public Expr getFalseExpr()
        Retrieves the FalseExpr child.
        Returns:
        The current node used as the FalseExpr child.
      • getFalseExprNoTransform

        public Expr getFalseExprNoTransform()
        Retrieves the FalseExpr child.

        This method does not invoke AST transformations.

        Returns:
        The current node used as the FalseExpr child.
      • isConstant

        public boolean isConstant()
        Overrides:
        isConstant in class Expr
      • booleanOperator

        public boolean booleanOperator()
      • canBeTrue

        public boolean canBeTrue()
        Overrides:
        canBeTrue in class Expr
      • canBeFalse

        public boolean canBeFalse()
        Overrides:
        canBeFalse in class Expr
      • else_branch_label

        public Stmt else_branch_label()
      • then_branch_label

        public Stmt then_branch_label()