soot.dava.internal.AST
Class ASTIfElseNode

java.lang.Object
  extended by soot.tagkit.AbstractHost
      extended by soot.AbstractUnit
          extended by soot.dava.internal.AST.ASTNode
              extended by soot.dava.internal.AST.ASTLabeledNode
                  extended by soot.dava.internal.AST.ASTControlFlowNode
                      extended by soot.dava.internal.AST.ASTIfElseNode
All Implemented Interfaces:
Serializable, Context, Host, Unit, Switchable

public class ASTIfElseNode
extends ASTControlFlowNode

See Also:
Serialized Form

Field Summary
 
Fields inherited from class soot.dava.internal.AST.ASTNode
NEWLINE, subBodies, TAB
 
Fields inherited from class soot.AbstractUnit
emptyList
 
Constructor Summary
ASTIfElseNode(SETNodeLabel label, ASTCondition condition, List<Object> ifBody, List<Object> elseBody)
           
ASTIfElseNode(SETNodeLabel label, ConditionExpr condition, List<Object> ifBody, List<Object> elseBody)
           
 
Method Summary
 void apply(Analysis a)
           
 Object clone()
          Returns a deep clone of this object.
 List<Object> getElseBody()
           
 List<Object> getIfBody()
           
 void replace(SETNodeLabel newLabel, ASTCondition newCond, List<Object> newBody, List<Object> bodyTwo)
           
 void replaceBody(List<Object> ifBody, List<Object> elseBody)
           
 void replaceElseBody(List<Object> elseBody)
           
 String toString()
           
 void toString(UnitPrinter up)
           
 
Methods inherited from class soot.dava.internal.AST.ASTControlFlowNode
get_Condition, perform_Analysis, set_Condition
 
Methods inherited from class soot.dava.internal.AST.ASTLabeledNode
get_Label, label_toString, label_toString, set_Label
 
Methods inherited from class soot.dava.internal.AST.ASTNode
body_toString, body_toString, branches, fallsThrough, get_SubBodies, perform_AnalysisOnSubBodies
 
Methods inherited from class soot.AbstractUnit
addBoxPointingToThis, apply, clearUnitBoxes, getBoxesPointingToThis, getDefBoxes, getUnitBoxes, getUseAndDefBoxes, getUseBoxes, redirectJumpsToThisTo, removeBoxPointingToThis
 
Methods inherited from class soot.tagkit.AbstractHost
addAllTagsOf, addTag, getTag, getTags, hasTag, removeAllTags, removeTag
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface soot.tagkit.Host
addAllTagsOf, addTag, getTag, getTags, hasTag, removeAllTags, removeTag
 

Constructor Detail

ASTIfElseNode

public ASTIfElseNode(SETNodeLabel label,
                     ConditionExpr condition,
                     List<Object> ifBody,
                     List<Object> elseBody)

ASTIfElseNode

public ASTIfElseNode(SETNodeLabel label,
                     ASTCondition condition,
                     List<Object> ifBody,
                     List<Object> elseBody)
Method Detail

replace

public void replace(SETNodeLabel newLabel,
                    ASTCondition newCond,
                    List<Object> newBody,
                    List<Object> bodyTwo)

replaceBody

public void replaceBody(List<Object> ifBody,
                        List<Object> elseBody)

replaceElseBody

public void replaceElseBody(List<Object> elseBody)

getIfBody

public List<Object> getIfBody()

getElseBody

public List<Object> getElseBody()

clone

public Object clone()
Description copied from class: AbstractUnit
Returns a deep clone of this object.

Specified by:
clone in interface Unit
Specified by:
clone in class AbstractUnit

toString

public void toString(UnitPrinter up)
Specified by:
toString in interface Unit
Specified by:
toString in class ASTNode

toString

public String toString()
Overrides:
toString in class Object

apply

public void apply(Analysis a)
Overrides:
apply in class ASTNode