X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.spreadsheet.common%2Fsrc%2Forg%2Fsimantics%2Fspreadsheet%2Fcommon%2Fexpression%2Fnode%2FAExprValue.java;fp=bundles%2Forg.simantics.spreadsheet.common%2Fsrc%2Forg%2Fsimantics%2Fspreadsheet%2Fcommon%2Fexpression%2Fnode%2FAExprValue.java;h=78069644be75cf83486a225329f078b597911598;hp=0000000000000000000000000000000000000000;hb=969bd23cab98a79ca9101af33334000879fb60c5;hpb=866dba5cd5a3929bbeae85991796acb212338a08 diff --git a/bundles/org.simantics.spreadsheet.common/src/org/simantics/spreadsheet/common/expression/node/AExprValue.java b/bundles/org.simantics.spreadsheet.common/src/org/simantics/spreadsheet/common/expression/node/AExprValue.java new file mode 100644 index 000000000..78069644b --- /dev/null +++ b/bundles/org.simantics.spreadsheet.common/src/org/simantics/spreadsheet/common/expression/node/AExprValue.java @@ -0,0 +1,191 @@ +/******************************************************************************* + * Copyright (c) 2007, 2010 Association for Decentralized Information Management + * in Industry THTH ry. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * VTT Technical Research Centre of Finland - initial API and implementation + *******************************************************************************/ +/* This file was generated by SableCC (http://www.sablecc.org/). */ + +package org.simantics.spreadsheet.common.expression.node; + +import org.simantics.spreadsheet.common.expression.analysis.*; + +@SuppressWarnings("nls") +public final class AExprValue extends PValue +{ + private TLPar _lPar_; + private PExpression _expression_; + private TRPar _rPar_; + + public AExprValue() + { + // Constructor + } + + public AExprValue( + @SuppressWarnings("hiding") TLPar _lPar_, + @SuppressWarnings("hiding") PExpression _expression_, + @SuppressWarnings("hiding") TRPar _rPar_) + { + // Constructor + setLPar(_lPar_); + + setExpression(_expression_); + + setRPar(_rPar_); + + } + + @Override + public Object clone() + { + return new AExprValue( + cloneNode(this._lPar_), + cloneNode(this._expression_), + cloneNode(this._rPar_)); + } + + public void apply(Switch sw) + { + ((Analysis) sw).caseAExprValue(this); + } + + public TLPar getLPar() + { + return this._lPar_; + } + + public void setLPar(TLPar node) + { + if(this._lPar_ != null) + { + this._lPar_.parent(null); + } + + if(node != null) + { + if(node.parent() != null) + { + node.parent().removeChild(node); + } + + node.parent(this); + } + + this._lPar_ = node; + } + + public PExpression getExpression() + { + return this._expression_; + } + + public void setExpression(PExpression node) + { + if(this._expression_ != null) + { + this._expression_.parent(null); + } + + if(node != null) + { + if(node.parent() != null) + { + node.parent().removeChild(node); + } + + node.parent(this); + } + + this._expression_ = node; + } + + public TRPar getRPar() + { + return this._rPar_; + } + + public void setRPar(TRPar node) + { + if(this._rPar_ != null) + { + this._rPar_.parent(null); + } + + if(node != null) + { + if(node.parent() != null) + { + node.parent().removeChild(node); + } + + node.parent(this); + } + + this._rPar_ = node; + } + + @Override + public String toString() + { + return "" + + toString(this._lPar_) + + toString(this._expression_) + + toString(this._rPar_); + } + + @Override + void removeChild(@SuppressWarnings("unused") Node child) + { + // Remove child + if(this._lPar_ == child) + { + this._lPar_ = null; + return; + } + + if(this._expression_ == child) + { + this._expression_ = null; + return; + } + + if(this._rPar_ == child) + { + this._rPar_ = null; + return; + } + + throw new RuntimeException("Not a child."); + } + + @Override + void replaceChild(@SuppressWarnings("unused") Node oldChild, @SuppressWarnings("unused") Node newChild) + { + // Replace child + if(this._lPar_ == oldChild) + { + setLPar((TLPar) newChild); + return; + } + + if(this._expression_ == oldChild) + { + setExpression((PExpression) newChild); + return; + } + + if(this._rPar_ == oldChild) + { + setRPar((TRPar) newChild); + return; + } + + throw new RuntimeException("Not a child."); + } +}