| /* This file was generated by SableCC (http://www.sablecc.org/). */ |
| |
| package com.google.clearsilver.jsilver.syntax.node; |
| |
| import com.google.clearsilver.jsilver.syntax.analysis.*; |
| |
| @SuppressWarnings("nls") |
| public final class AExpandVariable extends PVariable |
| { |
| private PVariable _parent_; |
| private PExpression _child_; |
| |
| public AExpandVariable() |
| { |
| // Constructor |
| } |
| |
| public AExpandVariable( |
| @SuppressWarnings("hiding") PVariable _parent_, |
| @SuppressWarnings("hiding") PExpression _child_) |
| { |
| // Constructor |
| setParent(_parent_); |
| |
| setChild(_child_); |
| |
| } |
| |
| @Override |
| public Object clone() |
| { |
| return new AExpandVariable( |
| cloneNode(this._parent_), |
| cloneNode(this._child_)); |
| } |
| |
| public void apply(Switch sw) |
| { |
| ((Analysis) sw).caseAExpandVariable(this); |
| } |
| |
| public PVariable getParent() |
| { |
| return this._parent_; |
| } |
| |
| public void setParent(PVariable node) |
| { |
| if(this._parent_ != null) |
| { |
| this._parent_.parent(null); |
| } |
| |
| if(node != null) |
| { |
| if(node.parent() != null) |
| { |
| node.parent().removeChild(node); |
| } |
| |
| node.parent(this); |
| } |
| |
| this._parent_ = node; |
| } |
| |
| public PExpression getChild() |
| { |
| return this._child_; |
| } |
| |
| public void setChild(PExpression node) |
| { |
| if(this._child_ != null) |
| { |
| this._child_.parent(null); |
| } |
| |
| if(node != null) |
| { |
| if(node.parent() != null) |
| { |
| node.parent().removeChild(node); |
| } |
| |
| node.parent(this); |
| } |
| |
| this._child_ = node; |
| } |
| |
| @Override |
| public String toString() |
| { |
| return "" |
| + toString(this._parent_) |
| + toString(this._child_); |
| } |
| |
| @Override |
| void removeChild(@SuppressWarnings("unused") Node child) |
| { |
| // Remove child |
| if(this._parent_ == child) |
| { |
| this._parent_ = null; |
| return; |
| } |
| |
| if(this._child_ == child) |
| { |
| this._child_ = null; |
| return; |
| } |
| |
| throw new RuntimeException("Not a child."); |
| } |
| |
| @Override |
| void replaceChild(@SuppressWarnings("unused") Node oldChild, @SuppressWarnings("unused") Node newChild) |
| { |
| // Replace child |
| if(this._parent_ == oldChild) |
| { |
| setParent((PVariable) newChild); |
| return; |
| } |
| |
| if(this._child_ == oldChild) |
| { |
| setChild((PExpression) newChild); |
| return; |
| } |
| |
| throw new RuntimeException("Not a child."); |
| } |
| } |