/* This file was generated by SableCC (http://www.sablecc.org/). */ package net.sf.jame.contextfree.cfdg.node; import java.util.*; import net.sf.jame.contextfree.cfdg.analysis.*; @SuppressWarnings("nls") public final class ABackgroundDeclaration extends PBackgroundDeclaration { private TBackground _background_; private TLCbkt _lCbkt_; private final LinkedList<PBackgroundAdjustment> _backgroundAdjustment_ = new LinkedList<PBackgroundAdjustment>(); private TRCbkt _rCbkt_; public ABackgroundDeclaration() { // Constructor } public ABackgroundDeclaration( @SuppressWarnings("hiding") TBackground _background_, @SuppressWarnings("hiding") TLCbkt _lCbkt_, @SuppressWarnings("hiding") List<PBackgroundAdjustment> _backgroundAdjustment_, @SuppressWarnings("hiding") TRCbkt _rCbkt_) { // Constructor setBackground(_background_); setLCbkt(_lCbkt_); setBackgroundAdjustment(_backgroundAdjustment_); setRCbkt(_rCbkt_); } @Override public Object clone() { return new ABackgroundDeclaration( cloneNode(this._background_), cloneNode(this._lCbkt_), cloneList(this._backgroundAdjustment_), cloneNode(this._rCbkt_)); } public void apply(Switch sw) { ((Analysis) sw).caseABackgroundDeclaration(this); } public TBackground getBackground() { return this._background_; } public void setBackground(TBackground node) { if(this._background_ != null) { this._background_.parent(null); } if(node != null) { if(node.parent() != null) { node.parent().removeChild(node); } node.parent(this); } this._background_ = node; } public TLCbkt getLCbkt() { return this._lCbkt_; } public void setLCbkt(TLCbkt node) { if(this._lCbkt_ != null) { this._lCbkt_.parent(null); } if(node != null) { if(node.parent() != null) { node.parent().removeChild(node); } node.parent(this); } this._lCbkt_ = node; } public LinkedList<PBackgroundAdjustment> getBackgroundAdjustment() { return this._backgroundAdjustment_; } public void setBackgroundAdjustment(List<PBackgroundAdjustment> list) { this._backgroundAdjustment_.clear(); this._backgroundAdjustment_.addAll(list); for(PBackgroundAdjustment e : list) { if(e.parent() != null) { e.parent().removeChild(e); } e.parent(this); } } public TRCbkt getRCbkt() { return this._rCbkt_; } public void setRCbkt(TRCbkt node) { if(this._rCbkt_ != null) { this._rCbkt_.parent(null); } if(node != null) { if(node.parent() != null) { node.parent().removeChild(node); } node.parent(this); } this._rCbkt_ = node; } @Override public String toString() { return "" + toString(this._background_) + toString(this._lCbkt_) + toString(this._backgroundAdjustment_) + toString(this._rCbkt_); } @Override void removeChild(@SuppressWarnings("unused") Node child) { // Remove child if(this._background_ == child) { this._background_ = null; return; } if(this._lCbkt_ == child) { this._lCbkt_ = null; return; } if(this._backgroundAdjustment_.remove(child)) { return; } if(this._rCbkt_ == child) { this._rCbkt_ = null; return; } throw new RuntimeException("Not a child."); } @Override void replaceChild(@SuppressWarnings("unused") Node oldChild, @SuppressWarnings("unused") Node newChild) { // Replace child if(this._background_ == oldChild) { setBackground((TBackground) newChild); return; } if(this._lCbkt_ == oldChild) { setLCbkt((TLCbkt) newChild); return; } for(ListIterator<PBackgroundAdjustment> i = this._backgroundAdjustment_.listIterator(); i.hasNext();) { if(i.next() == oldChild) { if(newChild != null) { i.set((PBackgroundAdjustment) newChild); newChild.parent(this); oldChild.parent(null); return; } i.remove(); oldChild.parent(null); return; } } if(this._rCbkt_ == oldChild) { setRCbkt((TRCbkt) newChild); return; } throw new RuntimeException("Not a child."); } }