1 /* This file was generated by SableCC (http://www.sablecc.org/). */
3 package org.simantics.basicexpression.node;
5 import org.simantics.basicexpression.analysis.*;
7 @SuppressWarnings("nls")
8 public final class AMinusExpression extends PExpression
10 private PExpression _expression_;
11 private TMinus _minus_;
12 private PMultiplicative _multiplicative_;
14 public AMinusExpression()
19 public AMinusExpression(
20 @SuppressWarnings("hiding") PExpression _expression_,
21 @SuppressWarnings("hiding") TMinus _minus_,
22 @SuppressWarnings("hiding") PMultiplicative _multiplicative_)
25 setExpression(_expression_);
29 setMultiplicative(_multiplicative_);
36 return new AMinusExpression(
37 cloneNode(this._expression_),
38 cloneNode(this._minus_),
39 cloneNode(this._multiplicative_));
42 public void apply(Switch sw)
44 ((Analysis) sw).caseAMinusExpression(this);
47 public PExpression getExpression()
49 return this._expression_;
52 public void setExpression(PExpression node)
54 if(this._expression_ != null)
56 this._expression_.parent(null);
61 if(node.parent() != null)
63 node.parent().removeChild(node);
69 this._expression_ = node;
72 public TMinus getMinus()
77 public void setMinus(TMinus node)
79 if(this._minus_ != null)
81 this._minus_.parent(null);
86 if(node.parent() != null)
88 node.parent().removeChild(node);
97 public PMultiplicative getMultiplicative()
99 return this._multiplicative_;
102 public void setMultiplicative(PMultiplicative node)
104 if(this._multiplicative_ != null)
106 this._multiplicative_.parent(null);
111 if(node.parent() != null)
113 node.parent().removeChild(node);
119 this._multiplicative_ = node;
123 public String toString()
126 + toString(this._expression_)
127 + toString(this._minus_)
128 + toString(this._multiplicative_);
132 void removeChild(@SuppressWarnings("unused") Node child)
135 if(this._expression_ == child)
137 this._expression_ = null;
141 if(this._minus_ == child)
147 if(this._multiplicative_ == child)
149 this._multiplicative_ = null;
153 throw new RuntimeException("Not a child.");
157 void replaceChild(@SuppressWarnings("unused") Node oldChild, @SuppressWarnings("unused") Node newChild)
160 if(this._expression_ == oldChild)
162 setExpression((PExpression) newChild);
166 if(this._minus_ == oldChild)
168 setMinus((TMinus) newChild);
172 if(this._multiplicative_ == oldChild)
174 setMultiplicative((PMultiplicative) newChild);
178 throw new RuntimeException("Not a child.");