1 /* This file was generated by SableCC (http://www.sablecc.org/). */
\r
3 package org.simantics.basicexpression.node;
\r
5 import org.simantics.basicexpression.analysis.*;
\r
7 @SuppressWarnings("nls")
\r
8 public final class AMultiRange extends PRange
\r
10 private TCell _left_;
\r
11 private TColon _colon_;
\r
12 private TCell _right_;
\r
14 public AMultiRange()
\r
20 @SuppressWarnings("hiding") TCell _left_,
\r
21 @SuppressWarnings("hiding") TColon _colon_,
\r
22 @SuppressWarnings("hiding") TCell _right_)
\r
34 public Object clone()
\r
36 return new AMultiRange(
\r
37 cloneNode(this._left_),
\r
38 cloneNode(this._colon_),
\r
39 cloneNode(this._right_));
\r
42 public void apply(Switch sw)
\r
44 ((Analysis) sw).caseAMultiRange(this);
\r
47 public TCell getLeft()
\r
52 public void setLeft(TCell node)
\r
54 if(this._left_ != null)
\r
56 this._left_.parent(null);
\r
61 if(node.parent() != null)
\r
63 node.parent().removeChild(node);
\r
72 public TColon getColon()
\r
74 return this._colon_;
\r
77 public void setColon(TColon node)
\r
79 if(this._colon_ != null)
\r
81 this._colon_.parent(null);
\r
86 if(node.parent() != null)
\r
88 node.parent().removeChild(node);
\r
94 this._colon_ = node;
\r
97 public TCell getRight()
\r
99 return this._right_;
\r
102 public void setRight(TCell node)
\r
104 if(this._right_ != null)
\r
106 this._right_.parent(null);
\r
111 if(node.parent() != null)
\r
113 node.parent().removeChild(node);
\r
119 this._right_ = node;
\r
123 public String toString()
\r
126 + toString(this._left_)
\r
127 + toString(this._colon_)
\r
128 + toString(this._right_);
\r
132 void removeChild(@SuppressWarnings("unused") Node child)
\r
135 if(this._left_ == child)
\r
137 this._left_ = null;
\r
141 if(this._colon_ == child)
\r
143 this._colon_ = null;
\r
147 if(this._right_ == child)
\r
149 this._right_ = null;
\r
153 throw new RuntimeException("Not a child.");
\r
157 void replaceChild(@SuppressWarnings("unused") Node oldChild, @SuppressWarnings("unused") Node newChild)
\r
160 if(this._left_ == oldChild)
\r
162 setLeft((TCell) newChild);
\r
166 if(this._colon_ == oldChild)
\r
168 setColon((TColon) newChild);
\r
172 if(this._right_ == oldChild)
\r
174 setRight((TCell) newChild);
\r
178 throw new RuntimeException("Not a child.");
\r