/* This file was generated by SableCC (http://www.sablecc.org/). */ package soot.jimple.parser.node; import java.util.*; import soot.jimple.parser.analysis.*; public final class ABinopExpr extends PBinopExpr { private PImmediate _left_; private PBinop _binop_; private PImmediate _right_; public ABinopExpr() { } public ABinopExpr( PImmediate _left_, PBinop _binop_, PImmediate _right_) { setLeft(_left_); setBinop(_binop_); setRight(_right_); } public Object clone() { return new ABinopExpr( (PImmediate) cloneNode(_left_), (PBinop) cloneNode(_binop_), (PImmediate) cloneNode(_right_)); } public void apply(Switch sw) { ((Analysis) sw).caseABinopExpr(this); } public PImmediate getLeft() { return _left_; } public void setLeft(PImmediate node) { if(_left_ != null) { _left_.parent(null); } if(node != null) { if(node.parent() != null) { node.parent().removeChild(node); } node.parent(this); } _left_ = node; } public PBinop getBinop() { return _binop_; } public void setBinop(PBinop node) { if(_binop_ != null) { _binop_.parent(null); } if(node != null) { if(node.parent() != null) { node.parent().removeChild(node); } node.parent(this); } _binop_ = node; } public PImmediate getRight() { return _right_; } public void setRight(PImmediate node) { if(_right_ != null) { _right_.parent(null); } if(node != null) { if(node.parent() != null) { node.parent().removeChild(node); } node.parent(this); } _right_ = node; } public String toString() { return "" + toString(_left_) + toString(_binop_) + toString(_right_); } void removeChild(Node child) { if(_left_ == child) { _left_ = null; return; } if(_binop_ == child) { _binop_ = null; return; } if(_right_ == child) { _right_ = null; return; } } void replaceChild(Node oldChild, Node newChild) { if(_left_ == oldChild) { setLeft((PImmediate) newChild); return; } if(_binop_ == oldChild) { setBinop((PBinop) newChild); return; } if(_right_ == oldChild) { setRight((PImmediate) newChild); return; } } }