/**
*/
package at.bestsolution.efxclipse.tooling.decora.decoraDsl.impl;
import at.bestsolution.efxclipse.tooling.decora.decoraDsl.DecoraDslPackage;
import at.bestsolution.efxclipse.tooling.decora.decoraDsl.Expr;
import at.bestsolution.efxclipse.tooling.decora.decoraDsl.field_selection;
import at.bestsolution.efxclipse.tooling.decora.decoraDsl.ternary_part;
import at.bestsolution.efxclipse.tooling.decora.decoraDsl.type_specifier;
import java.util.Collection;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.util.EObjectContainmentEList;
import org.eclipse.emf.ecore.util.InternalEList;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Expr</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* <ul>
* <li>{@link at.bestsolution.efxclipse.tooling.decora.decoraDsl.impl.ExprImpl#getE <em>E</em>}</li>
* <li>{@link at.bestsolution.efxclipse.tooling.decora.decoraDsl.impl.ExprImpl#getF <em>F</em>}</li>
* <li>{@link at.bestsolution.efxclipse.tooling.decora.decoraDsl.impl.ExprImpl#getAe <em>Ae</em>}</li>
* <li>{@link at.bestsolution.efxclipse.tooling.decora.decoraDsl.impl.ExprImpl#getFs <em>Fs</em>}</li>
* <li>{@link at.bestsolution.efxclipse.tooling.decora.decoraDsl.impl.ExprImpl#getId <em>Id</em>}</li>
* <li>{@link at.bestsolution.efxclipse.tooling.decora.decoraDsl.impl.ExprImpl#getP <em>P</em>}</li>
* <li>{@link at.bestsolution.efxclipse.tooling.decora.decoraDsl.impl.ExprImpl#getTs <em>Ts</em>}</li>
* <li>{@link at.bestsolution.efxclipse.tooling.decora.decoraDsl.impl.ExprImpl#getU <em>U</em>}</li>
* <li>{@link at.bestsolution.efxclipse.tooling.decora.decoraDsl.impl.ExprImpl#getA <em>A</em>}</li>
* <li>{@link at.bestsolution.efxclipse.tooling.decora.decoraDsl.impl.ExprImpl#getB <em>B</em>}</li>
* <li>{@link at.bestsolution.efxclipse.tooling.decora.decoraDsl.impl.ExprImpl#getT <em>T</em>}</li>
* <li>{@link at.bestsolution.efxclipse.tooling.decora.decoraDsl.impl.ExprImpl#getOp <em>Op</em>}</li>
* <li>{@link at.bestsolution.efxclipse.tooling.decora.decoraDsl.impl.ExprImpl#getC <em>C</em>}</li>
* </ul>
* </p>
*
* @generated
*/
public class ExprImpl extends ternary_partImpl implements Expr
{
/**
* The cached value of the '{@link #getE() <em>E</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getE()
* @generated
* @ordered
*/
protected Expr e;
/**
* The cached value of the '{@link #getF() <em>F</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getF()
* @generated
* @ordered
*/
protected Expr f;
/**
* The cached value of the '{@link #getAe() <em>Ae</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getAe()
* @generated
* @ordered
*/
protected Expr ae;
/**
* The cached value of the '{@link #getFs() <em>Fs</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getFs()
* @generated
* @ordered
*/
protected field_selection fs;
/**
* The default value of the '{@link #getId() <em>Id</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getId()
* @generated
* @ordered
*/
protected static final String ID_EDEFAULT = null;
/**
* The cached value of the '{@link #getId() <em>Id</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getId()
* @generated
* @ordered
*/
protected String id = ID_EDEFAULT;
/**
* The cached value of the '{@link #getP() <em>P</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getP()
* @generated
* @ordered
*/
protected EObject p;
/**
* The cached value of the '{@link #getTs() <em>Ts</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getTs()
* @generated
* @ordered
*/
protected type_specifier ts;
/**
* The cached value of the '{@link #getU() <em>U</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getU()
* @generated
* @ordered
*/
protected Expr u;
/**
* The cached value of the '{@link #getA() <em>A</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getA()
* @generated
* @ordered
*/
protected Expr a;
/**
* The cached value of the '{@link #getB() <em>B</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getB()
* @generated
* @ordered
*/
protected EList<Expr> b;
/**
* The cached value of the '{@link #getT() <em>T</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getT()
* @generated
* @ordered
*/
protected ternary_part t;
/**
* The default value of the '{@link #getOp() <em>Op</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getOp()
* @generated
* @ordered
*/
protected static final String OP_EDEFAULT = null;
/**
* The cached value of the '{@link #getOp() <em>Op</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getOp()
* @generated
* @ordered
*/
protected String op = OP_EDEFAULT;
/**
* The cached value of the '{@link #getC() <em>C</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getC()
* @generated
* @ordered
*/
protected Expr c;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ExprImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass()
{
return DecoraDslPackage.Literals.EXPR;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Expr getE()
{
return e;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetE(Expr newE, NotificationChain msgs)
{
Expr oldE = e;
e = newE;
if (eNotificationRequired())
{
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DecoraDslPackage.EXPR__E, oldE, newE);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setE(Expr newE)
{
if (newE != e)
{
NotificationChain msgs = null;
if (e != null)
msgs = ((InternalEObject)e).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - DecoraDslPackage.EXPR__E, null, msgs);
if (newE != null)
msgs = ((InternalEObject)newE).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - DecoraDslPackage.EXPR__E, null, msgs);
msgs = basicSetE(newE, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, DecoraDslPackage.EXPR__E, newE, newE));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Expr getF()
{
return f;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetF(Expr newF, NotificationChain msgs)
{
Expr oldF = f;
f = newF;
if (eNotificationRequired())
{
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DecoraDslPackage.EXPR__F, oldF, newF);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setF(Expr newF)
{
if (newF != f)
{
NotificationChain msgs = null;
if (f != null)
msgs = ((InternalEObject)f).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - DecoraDslPackage.EXPR__F, null, msgs);
if (newF != null)
msgs = ((InternalEObject)newF).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - DecoraDslPackage.EXPR__F, null, msgs);
msgs = basicSetF(newF, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, DecoraDslPackage.EXPR__F, newF, newF));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Expr getAe()
{
return ae;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetAe(Expr newAe, NotificationChain msgs)
{
Expr oldAe = ae;
ae = newAe;
if (eNotificationRequired())
{
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DecoraDslPackage.EXPR__AE, oldAe, newAe);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setAe(Expr newAe)
{
if (newAe != ae)
{
NotificationChain msgs = null;
if (ae != null)
msgs = ((InternalEObject)ae).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - DecoraDslPackage.EXPR__AE, null, msgs);
if (newAe != null)
msgs = ((InternalEObject)newAe).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - DecoraDslPackage.EXPR__AE, null, msgs);
msgs = basicSetAe(newAe, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, DecoraDslPackage.EXPR__AE, newAe, newAe));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public field_selection getFs()
{
return fs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetFs(field_selection newFs, NotificationChain msgs)
{
field_selection oldFs = fs;
fs = newFs;
if (eNotificationRequired())
{
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DecoraDslPackage.EXPR__FS, oldFs, newFs);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setFs(field_selection newFs)
{
if (newFs != fs)
{
NotificationChain msgs = null;
if (fs != null)
msgs = ((InternalEObject)fs).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - DecoraDslPackage.EXPR__FS, null, msgs);
if (newFs != null)
msgs = ((InternalEObject)newFs).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - DecoraDslPackage.EXPR__FS, null, msgs);
msgs = basicSetFs(newFs, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, DecoraDslPackage.EXPR__FS, newFs, newFs));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getId()
{
return id;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setId(String newId)
{
String oldId = id;
id = newId;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, DecoraDslPackage.EXPR__ID, oldId, id));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EObject getP()
{
return p;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetP(EObject newP, NotificationChain msgs)
{
EObject oldP = p;
p = newP;
if (eNotificationRequired())
{
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DecoraDslPackage.EXPR__P, oldP, newP);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setP(EObject newP)
{
if (newP != p)
{
NotificationChain msgs = null;
if (p != null)
msgs = ((InternalEObject)p).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - DecoraDslPackage.EXPR__P, null, msgs);
if (newP != null)
msgs = ((InternalEObject)newP).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - DecoraDslPackage.EXPR__P, null, msgs);
msgs = basicSetP(newP, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, DecoraDslPackage.EXPR__P, newP, newP));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public type_specifier getTs()
{
return ts;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetTs(type_specifier newTs, NotificationChain msgs)
{
type_specifier oldTs = ts;
ts = newTs;
if (eNotificationRequired())
{
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DecoraDslPackage.EXPR__TS, oldTs, newTs);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setTs(type_specifier newTs)
{
if (newTs != ts)
{
NotificationChain msgs = null;
if (ts != null)
msgs = ((InternalEObject)ts).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - DecoraDslPackage.EXPR__TS, null, msgs);
if (newTs != null)
msgs = ((InternalEObject)newTs).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - DecoraDslPackage.EXPR__TS, null, msgs);
msgs = basicSetTs(newTs, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, DecoraDslPackage.EXPR__TS, newTs, newTs));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Expr getU()
{
return u;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetU(Expr newU, NotificationChain msgs)
{
Expr oldU = u;
u = newU;
if (eNotificationRequired())
{
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DecoraDslPackage.EXPR__U, oldU, newU);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setU(Expr newU)
{
if (newU != u)
{
NotificationChain msgs = null;
if (u != null)
msgs = ((InternalEObject)u).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - DecoraDslPackage.EXPR__U, null, msgs);
if (newU != null)
msgs = ((InternalEObject)newU).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - DecoraDslPackage.EXPR__U, null, msgs);
msgs = basicSetU(newU, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, DecoraDslPackage.EXPR__U, newU, newU));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Expr getA()
{
return a;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetA(Expr newA, NotificationChain msgs)
{
Expr oldA = a;
a = newA;
if (eNotificationRequired())
{
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DecoraDslPackage.EXPR__A, oldA, newA);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setA(Expr newA)
{
if (newA != a)
{
NotificationChain msgs = null;
if (a != null)
msgs = ((InternalEObject)a).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - DecoraDslPackage.EXPR__A, null, msgs);
if (newA != null)
msgs = ((InternalEObject)newA).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - DecoraDslPackage.EXPR__A, null, msgs);
msgs = basicSetA(newA, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, DecoraDslPackage.EXPR__A, newA, newA));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EList<Expr> getB()
{
if (b == null)
{
b = new EObjectContainmentEList<Expr>(Expr.class, this, DecoraDslPackage.EXPR__B);
}
return b;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ternary_part getT()
{
return t;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetT(ternary_part newT, NotificationChain msgs)
{
ternary_part oldT = t;
t = newT;
if (eNotificationRequired())
{
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DecoraDslPackage.EXPR__T, oldT, newT);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setT(ternary_part newT)
{
if (newT != t)
{
NotificationChain msgs = null;
if (t != null)
msgs = ((InternalEObject)t).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - DecoraDslPackage.EXPR__T, null, msgs);
if (newT != null)
msgs = ((InternalEObject)newT).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - DecoraDslPackage.EXPR__T, null, msgs);
msgs = basicSetT(newT, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, DecoraDslPackage.EXPR__T, newT, newT));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getOp()
{
return op;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setOp(String newOp)
{
String oldOp = op;
op = newOp;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, DecoraDslPackage.EXPR__OP, oldOp, op));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Expr getC()
{
return c;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetC(Expr newC, NotificationChain msgs)
{
Expr oldC = c;
c = newC;
if (eNotificationRequired())
{
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, DecoraDslPackage.EXPR__C, oldC, newC);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setC(Expr newC)
{
if (newC != c)
{
NotificationChain msgs = null;
if (c != null)
msgs = ((InternalEObject)c).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - DecoraDslPackage.EXPR__C, null, msgs);
if (newC != null)
msgs = ((InternalEObject)newC).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - DecoraDslPackage.EXPR__C, null, msgs);
msgs = basicSetC(newC, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, DecoraDslPackage.EXPR__C, newC, newC));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
{
switch (featureID)
{
case DecoraDslPackage.EXPR__E:
return basicSetE(null, msgs);
case DecoraDslPackage.EXPR__F:
return basicSetF(null, msgs);
case DecoraDslPackage.EXPR__AE:
return basicSetAe(null, msgs);
case DecoraDslPackage.EXPR__FS:
return basicSetFs(null, msgs);
case DecoraDslPackage.EXPR__P:
return basicSetP(null, msgs);
case DecoraDslPackage.EXPR__TS:
return basicSetTs(null, msgs);
case DecoraDslPackage.EXPR__U:
return basicSetU(null, msgs);
case DecoraDslPackage.EXPR__A:
return basicSetA(null, msgs);
case DecoraDslPackage.EXPR__B:
return ((InternalEList<?>)getB()).basicRemove(otherEnd, msgs);
case DecoraDslPackage.EXPR__T:
return basicSetT(null, msgs);
case DecoraDslPackage.EXPR__C:
return basicSetC(null, msgs);
}
return super.eInverseRemove(otherEnd, featureID, msgs);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType)
{
switch (featureID)
{
case DecoraDslPackage.EXPR__E:
return getE();
case DecoraDslPackage.EXPR__F:
return getF();
case DecoraDslPackage.EXPR__AE:
return getAe();
case DecoraDslPackage.EXPR__FS:
return getFs();
case DecoraDslPackage.EXPR__ID:
return getId();
case DecoraDslPackage.EXPR__P:
return getP();
case DecoraDslPackage.EXPR__TS:
return getTs();
case DecoraDslPackage.EXPR__U:
return getU();
case DecoraDslPackage.EXPR__A:
return getA();
case DecoraDslPackage.EXPR__B:
return getB();
case DecoraDslPackage.EXPR__T:
return getT();
case DecoraDslPackage.EXPR__OP:
return getOp();
case DecoraDslPackage.EXPR__C:
return getC();
}
return super.eGet(featureID, resolve, coreType);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@SuppressWarnings("unchecked")
@Override
public void eSet(int featureID, Object newValue)
{
switch (featureID)
{
case DecoraDslPackage.EXPR__E:
setE((Expr)newValue);
return;
case DecoraDslPackage.EXPR__F:
setF((Expr)newValue);
return;
case DecoraDslPackage.EXPR__AE:
setAe((Expr)newValue);
return;
case DecoraDslPackage.EXPR__FS:
setFs((field_selection)newValue);
return;
case DecoraDslPackage.EXPR__ID:
setId((String)newValue);
return;
case DecoraDslPackage.EXPR__P:
setP((EObject)newValue);
return;
case DecoraDslPackage.EXPR__TS:
setTs((type_specifier)newValue);
return;
case DecoraDslPackage.EXPR__U:
setU((Expr)newValue);
return;
case DecoraDslPackage.EXPR__A:
setA((Expr)newValue);
return;
case DecoraDslPackage.EXPR__B:
getB().clear();
getB().addAll((Collection<? extends Expr>)newValue);
return;
case DecoraDslPackage.EXPR__T:
setT((ternary_part)newValue);
return;
case DecoraDslPackage.EXPR__OP:
setOp((String)newValue);
return;
case DecoraDslPackage.EXPR__C:
setC((Expr)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID)
{
switch (featureID)
{
case DecoraDslPackage.EXPR__E:
setE((Expr)null);
return;
case DecoraDslPackage.EXPR__F:
setF((Expr)null);
return;
case DecoraDslPackage.EXPR__AE:
setAe((Expr)null);
return;
case DecoraDslPackage.EXPR__FS:
setFs((field_selection)null);
return;
case DecoraDslPackage.EXPR__ID:
setId(ID_EDEFAULT);
return;
case DecoraDslPackage.EXPR__P:
setP((EObject)null);
return;
case DecoraDslPackage.EXPR__TS:
setTs((type_specifier)null);
return;
case DecoraDslPackage.EXPR__U:
setU((Expr)null);
return;
case DecoraDslPackage.EXPR__A:
setA((Expr)null);
return;
case DecoraDslPackage.EXPR__B:
getB().clear();
return;
case DecoraDslPackage.EXPR__T:
setT((ternary_part)null);
return;
case DecoraDslPackage.EXPR__OP:
setOp(OP_EDEFAULT);
return;
case DecoraDslPackage.EXPR__C:
setC((Expr)null);
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID)
{
switch (featureID)
{
case DecoraDslPackage.EXPR__E:
return e != null;
case DecoraDslPackage.EXPR__F:
return f != null;
case DecoraDslPackage.EXPR__AE:
return ae != null;
case DecoraDslPackage.EXPR__FS:
return fs != null;
case DecoraDslPackage.EXPR__ID:
return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
case DecoraDslPackage.EXPR__P:
return p != null;
case DecoraDslPackage.EXPR__TS:
return ts != null;
case DecoraDslPackage.EXPR__U:
return u != null;
case DecoraDslPackage.EXPR__A:
return a != null;
case DecoraDslPackage.EXPR__B:
return b != null && !b.isEmpty();
case DecoraDslPackage.EXPR__T:
return t != null;
case DecoraDslPackage.EXPR__OP:
return OP_EDEFAULT == null ? op != null : !OP_EDEFAULT.equals(op);
case DecoraDslPackage.EXPR__C:
return c != null;
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString()
{
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
result.append(" (id: ");
result.append(id);
result.append(", op: ");
result.append(op);
result.append(')');
return result.toString();
}
} //ExprImpl