org.eclipse.ocl.examples.codegen.cgmodel.impl
Class CGVariableImpl

java.lang.Object
  extended by org.eclipse.emf.common.notify.impl.BasicNotifierImpl
      extended by org.eclipse.emf.ecore.impl.BasicEObjectImpl
          extended by org.eclipse.emf.ecore.impl.MinimalEObjectImpl
              extended by org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container
                  extended by org.eclipse.ocl.examples.codegen.cgmodel.impl.CGElementImpl
                      extended by org.eclipse.ocl.examples.codegen.cgmodel.impl.CGNamedElementImpl
                          extended by org.eclipse.ocl.examples.codegen.cgmodel.impl.CGTypedElementImpl
                              extended by org.eclipse.ocl.examples.codegen.cgmodel.impl.CGValuedElementImpl
                                  extended by org.eclipse.ocl.examples.codegen.cgmodel.impl.CGVariableImpl
All Implemented Interfaces:
org.eclipse.emf.common.notify.Notifier, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EStructuralFeature.Internal.DynamicValueHolder, org.eclipse.emf.ecore.InternalEObject, CGElement, CGNamedElement, CGTypedElement, CGValuedElement, CGVariable, Nameable
Direct Known Subclasses:
CGFinalVariableImpl, CGLocalVariableImpl, CGParameterImpl, CGSettableVariableImpl

public abstract class CGVariableImpl
extends CGValuedElementImpl
implements CGVariable

An implementation of the model object 'CG Variable'.

The following features are implemented:

Generated

Nested Class Summary
 
Nested classes/interfaces inherited from class org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container
org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container.Dynamic
 
Nested classes/interfaces inherited from class org.eclipse.emf.ecore.impl.MinimalEObjectImpl
org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container
 
Nested classes/interfaces inherited from class org.eclipse.emf.ecore.impl.BasicEObjectImpl
org.eclipse.emf.ecore.impl.BasicEObjectImpl.EPropertiesHolder, org.eclipse.emf.ecore.impl.BasicEObjectImpl.EPropertiesHolderBaseImpl, org.eclipse.emf.ecore.impl.BasicEObjectImpl.EPropertiesHolderImpl
 
Nested classes/interfaces inherited from class org.eclipse.emf.common.notify.impl.BasicNotifierImpl
org.eclipse.emf.common.notify.impl.BasicNotifierImpl.EAdapterList<E extends java.lang.Object & org.eclipse.emf.common.notify.Adapter>, org.eclipse.emf.common.notify.impl.BasicNotifierImpl.EObservableAdapterList
 
Nested classes/interfaces inherited from interface org.eclipse.emf.ecore.InternalEObject
org.eclipse.emf.ecore.InternalEObject.EStore
 
Field Summary
protected  CGValuedElement init
          The cached value of the 'Init' containment reference.
protected  boolean nonInvalid
           
protected  boolean nonNull
           
 
Fields inherited from class org.eclipse.ocl.examples.codegen.cgmodel.impl.CGValuedElementImpl
caught, dependsOn, owns, valueName
 
Fields inherited from class org.eclipse.ocl.examples.codegen.cgmodel.impl.CGTypedElementImpl
required, REQUIRED_EDEFAULT, typeId
 
Fields inherited from class org.eclipse.ocl.examples.codegen.cgmodel.impl.CGNamedElementImpl
ast, AST_EDEFAULT, name, NAME_EDEFAULT
 
Fields inherited from class org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container
eContainer
 
Fields inherited from class org.eclipse.emf.ecore.impl.BasicEObjectImpl
EVIRTUAL_GET, EVIRTUAL_IS_SET, EVIRTUAL_NO_VALUE, EVIRTUAL_SET, EVIRTUAL_UNSET
 
Fields inherited from interface org.eclipse.emf.ecore.EStructuralFeature.Internal.DynamicValueHolder
NIL
 
Fields inherited from interface org.eclipse.emf.ecore.InternalEObject
EOPPOSITE_FEATURE_BASE
 
Constructor Summary
protected CGVariableImpl()
           
 
Method Summary
 org.eclipse.emf.common.notify.NotificationChain basicSetInit(CGValuedElement newInit, org.eclipse.emf.common.notify.NotificationChain msgs)
           
 java.lang.Object eGet(int featureID, boolean resolve, boolean coreType)
           
 org.eclipse.emf.common.notify.NotificationChain eInverseRemove(org.eclipse.emf.ecore.InternalEObject otherEnd, int featureID, org.eclipse.emf.common.notify.NotificationChain msgs)
           
 boolean eIsSet(int featureID)
           
 void eSet(int featureID, java.lang.Object newValue)
           
protected  org.eclipse.emf.ecore.EClass eStaticClass()
           
 void eUnset(int featureID)
           
 CGValuedElement getInit()
           
 CGInvalid getInvalidValue()
          Return a non-null invalid value if this value is invalid.
 CGValuedElement getNamedValue()
          Return the CGValuedElement that provides the name of a declaration from which the value of this CGValuedElement may be obtained.
 CGValuedElement getReferredValue()
          Return the CGValuedElement to which the value of this CGValuedElement delegates.
 CGValuedElement getSourceValue()
          Return the CGValuedElement which is the source of the information value of this element.
 CGValuedElement getTypedValue()
          Return the CGValuedElement that provides the narrowest type declaration from which the type of this CGValuedElement may be obtained.
 boolean isBoxed()
          Return true if this value is a boxed value.
 boolean isCommonable()
          Return true if this value can be shared as part of a Common Subexpression.
 java.lang.Boolean isEquivalentTo(CGValuedElement thatValue)
          Returns true/false if this value can be determined to have deep value equivalence/inequivalence to thatValue, null if no determination can be made.
 java.lang.Boolean isEquivalentToInternal(CGValuedElement thatValue)
          Provided that thatValue does not delegate its equivalence computation, return true/false if this value can be determined to have deep value equivalence/inequivalence to thatValue, null if no determination can be made.
 boolean isNonInvalid()
          Return true if this value is false.
 boolean isNonNull()
          Return true if this value is not null.
 boolean isNull()
          Return true if this value is null.
 boolean isUnboxed()
          Return true if this value is an unboxed value.
 void setInit(CGValuedElement newInit)
           
 void setNonInvalid()
          Set the non-invalid status.
 void setNonNull()
          Set the non-null status.
 
Methods inherited from class org.eclipse.ocl.examples.codegen.cgmodel.impl.CGValuedElementImpl
getDependsOn, getOwns, getPlace, getThisValue, getValueName, isAssertedNonNull, isCaught, isConstant, isContext, isFalse, isGlobal, isInlined, isInvalid, isSettable, isTrue, isUncommonable, rewriteAs, setCaught, setValueName
 
Methods inherited from class org.eclipse.ocl.examples.codegen.cgmodel.impl.CGTypedElementImpl
getASTypeId, getTypeId, isRequired, setRequired, setTypeId, toString
 
Methods inherited from class org.eclipse.ocl.examples.codegen.cgmodel.impl.CGNamedElementImpl
getAst, getName, setAst, setName
 
Methods inherited from class org.eclipse.ocl.examples.codegen.cgmodel.impl.CGElementImpl
accept, getChildren, getParent
 
Methods inherited from class org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container
eBasicSetContainer, eInternalContainer
 
Methods inherited from class org.eclipse.emf.ecore.impl.MinimalEObjectImpl
dynamicGet, dynamicSet, dynamicUnset, eAdapters, eBasicAdapterArray, eBasicAdapterListeners, eBasicAdapters, eBasicHasAdapters, eBasicProperties, eBasicSetAdapterArray, eBasicSetAdapterListeners, eBasicSetContainer, eBasicSetContainerFeatureID, eBasicSetSettings, eBasicSettings, eClass, eContainerFeatureID, eContents, eCrossReferences, eDeliver, eDirectResource, eDynamicClass, eHasSettings, eIsProxy, eProperties, eProxyURI, eSetClass, eSetDeliver, eSetDirectResource, eSetProxyURI, eSettings
 
Methods inherited from class org.eclipse.emf.ecore.impl.BasicEObjectImpl
eAddVirtualValue, eAllContents, eBaseStructuralFeatureID, eBasicRemoveFromContainer, eBasicRemoveFromContainerFeature, eBasicSetContainer, eComputeVirtualValuesCapacity, eContainer, eContainerAdapterArray, eContainingFeature, eContainmentFeature, eContainmentFeature, eContains, eDerivedOperationID, eDerivedOperationID, eDerivedStructuralFeatureID, eDerivedStructuralFeatureID, eDynamicBasicRemoveFromContainer, eDynamicFeature, eDynamicFeatureID, eDynamicGet, eDynamicGet, eDynamicGet, eDynamicInverseAdd, eDynamicInverseAdd, eDynamicInverseRemove, eDynamicInverseRemove, eDynamicInvoke, eDynamicInvoke, eDynamicIsSet, eDynamicIsSet, eDynamicIsSet, eDynamicSet, eDynamicSet, eDynamicSet, eDynamicUnset, eDynamicUnset, eDynamicUnset, eGet, eGet, eGet, eInternalResource, eInverseAdd, eInverseAdd, eInverseRemove, eInvocationDelegate, eInvoke, eInvoke, eIsSet, eObjectForURIFragmentSegment, eOpenGet, eOpenIsSet, eOpenSet, eOpenUnset, eRemoveVirtualValue, eResolveProxy, eResource, eSet, eSetResource, eSetStore, eSetting, eSettingDelegate, eSetVirtualIndexBits, eSetVirtualValue, eSetVirtualValues, eStaticFeatureCount, eStaticOperationCount, eStore, eUnset, eURIFragmentSegment, eVirtualBitCount, eVirtualGet, eVirtualGet, eVirtualIndex, eVirtualIndexBits, eVirtualIsSet, eVirtualSet, eVirtualUnset, eVirtualValue, eVirtualValues
 
Methods inherited from class org.eclipse.emf.common.notify.impl.BasicNotifierImpl
eNotificationRequired, eNotify
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.eclipse.ocl.examples.codegen.cgmodel.CGValuedElement
getDependsOn, getOwns, getThisValue, getValueName, isAssertedNonNull, isCaught, isConstant, isFalse, isGlobal, isInlined, isInvalid, isSettable, isTrue, isUncommonable, setCaught, setValueName
 
Methods inherited from interface org.eclipse.ocl.examples.codegen.cgmodel.CGTypedElement
getASTypeId, getTypeId, isRequired, setRequired, setTypeId
 
Methods inherited from interface org.eclipse.ocl.examples.codegen.cgmodel.CGNamedElement
getAst, getName, setAst, setName
 
Methods inherited from interface org.eclipse.ocl.examples.codegen.cgmodel.CGElement
accept, getChildren, getParent, getPlace, isContext, rewriteAs
 
Methods inherited from interface org.eclipse.emf.ecore.EObject
eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset
 
Methods inherited from interface org.eclipse.emf.common.notify.Notifier
eAdapters, eDeliver, eNotify, eSetDeliver
 
Methods inherited from interface org.eclipse.emf.ecore.InternalEObject
eNotificationRequired
 

Field Detail

init

protected CGValuedElement init
The cached value of the 'Init' containment reference.

See Also:
getInit()
Generated
Ordered

nonInvalid

protected boolean nonInvalid
Generated

nonNull

protected boolean nonNull
Generated
Constructor Detail

CGVariableImpl

protected CGVariableImpl()

Generated
Method Detail

eStaticClass

protected org.eclipse.emf.ecore.EClass eStaticClass()

Overrides:
eStaticClass in class CGValuedElementImpl
Generated

getInit

public CGValuedElement getInit()

Specified by:
getInit in interface CGVariable
Returns:
the value of the 'Init' containment reference.
See Also:
CGVariable.setInit(CGValuedElement), CGModelPackage.getCGVariable_Init()
Generated

basicSetInit

public org.eclipse.emf.common.notify.NotificationChain basicSetInit(CGValuedElement newInit,
                                                                    org.eclipse.emf.common.notify.NotificationChain msgs)

Generated

setInit

public void setInit(CGValuedElement newInit)

Specified by:
setInit in interface CGVariable
Parameters:
newInit - the new value of the 'Init' containment reference.
See Also:
CGVariable.getInit()
Generated

eInverseRemove

public org.eclipse.emf.common.notify.NotificationChain eInverseRemove(org.eclipse.emf.ecore.InternalEObject otherEnd,
                                                                      int featureID,
                                                                      org.eclipse.emf.common.notify.NotificationChain msgs)

Overrides:
eInverseRemove in class CGValuedElementImpl
Generated

eGet

public java.lang.Object eGet(int featureID,
                             boolean resolve,
                             boolean coreType)

Specified by:
eGet in interface org.eclipse.emf.ecore.InternalEObject
Overrides:
eGet in class CGValuedElementImpl
Generated

eSet

public void eSet(int featureID,
                 java.lang.Object newValue)

Specified by:
eSet in interface org.eclipse.emf.ecore.InternalEObject
Overrides:
eSet in class CGValuedElementImpl
Generated

eUnset

public void eUnset(int featureID)

Specified by:
eUnset in interface org.eclipse.emf.ecore.InternalEObject
Overrides:
eUnset in class CGValuedElementImpl
Generated

eIsSet

public boolean eIsSet(int featureID)

Specified by:
eIsSet in interface org.eclipse.emf.ecore.InternalEObject
Overrides:
eIsSet in class CGValuedElementImpl
Generated

getInvalidValue

@Nullable
public CGInvalid getInvalidValue()
Return a non-null invalid value if this value is invalid.

Specified by:
getInvalidValue in interface CGValuedElement
Overrides:
getInvalidValue in class CGValuedElementImpl
Generated

getNamedValue

@NonNull
public CGValuedElement getNamedValue()
Return the CGValuedElement that provides the name of a declaration from which the value of this CGValuedElement may be obtained. Fundamental elements such as constants and operation calls provide the named value themselves. More complex elements such as VariableExp and ThrowExp may delegate.

Specified by:
getNamedValue in interface CGValuedElement
Overrides:
getNamedValue in class CGValuedElementImpl
Generated

getReferredValue

@NonNull
public CGValuedElement getReferredValue()
Return the CGValuedElement to which the value of this CGValuedElement delegates. Fundamental elements such as constants and operation calls provide the named value themselves. More complex elements such as VariableExp and ThrowExp may delegate.

Specified by:
getReferredValue in interface CGValuedElement
Overrides:
getReferredValue in class CGValuedElementImpl
Generated

getSourceValue

@NonNull
public CGValuedElement getSourceValue()
Return the CGValuedElement which is the source of the information value of this element. Note that the source value may be differently guarded, caught/thrown and boxed/unboxed to this value. Returns this if no delegation occurs.

Specified by:
getSourceValue in interface CGValuedElement
Overrides:
getSourceValue in class CGValuedElementImpl
Generated

getTypedValue

@NonNull
public CGValuedElement getTypedValue()
Return the CGValuedElement that provides the narrowest type declaration from which the type of this CGValuedElement may be obtained. Fundamental elements such as constants and operations call provide their own narrow type. More complex elements such as CatchExp have a wide type that includes invalid and so delegate to identify the narrow type. More complex elements such as GuardExp/ThrowExp propagate an unchanged value with a narrower type than their source.

Specified by:
getTypedValue in interface CGValuedElement
Overrides:
getTypedValue in class CGValuedElementImpl
Generated

isBoxed

public boolean isBoxed()
Return true if this value is a boxed value.

Specified by:
isBoxed in interface CGValuedElement
Overrides:
isBoxed in class CGValuedElementImpl
Generated

isCommonable

public boolean isCommonable()
Return true if this value can be shared as part of a Common Subexpression.

Specified by:
isCommonable in interface CGValuedElement
Overrides:
isCommonable in class CGValuedElementImpl
Generated

isEquivalentTo

@Nullable
public java.lang.Boolean isEquivalentTo(@NonNull
                                                 CGValuedElement thatValue)
Returns true/false if this value can be determined to have deep value equivalence/inequivalence to thatValue, null if no determination can be made.

Specified by:
isEquivalentTo in interface CGValuedElement
Overrides:
isEquivalentTo in class CGValuedElementImpl
Generated

isEquivalentToInternal

@Nullable
public java.lang.Boolean isEquivalentToInternal(@NonNull
                                                         CGValuedElement thatValue)
Provided that thatValue does not delegate its equivalence computation, return true/false if this value can be determined to have deep value equivalence/inequivalence to thatValue, null if no determination can be made.

Specified by:
isEquivalentToInternal in interface CGValuedElement
Generated

isNonInvalid

public boolean isNonInvalid()
Return true if this value is false.

Specified by:
isNonInvalid in interface CGValuedElement
Overrides:
isNonInvalid in class CGValuedElementImpl
Generated

isNonNull

public boolean isNonNull()
Return true if this value is not null.

Specified by:
isNonNull in interface CGValuedElement
Overrides:
isNonNull in class CGValuedElementImpl
Generated

isNull

public boolean isNull()
Return true if this value is null.

Specified by:
isNull in interface CGValuedElement
Overrides:
isNull in class CGValuedElementImpl
Generated

isUnboxed

public boolean isUnboxed()
Return true if this value is an unboxed value.

Specified by:
isUnboxed in interface CGValuedElement
Overrides:
isUnboxed in class CGValuedElementImpl
Generated

setNonInvalid

public void setNonInvalid()
Set the non-invalid status.

Specified by:
setNonInvalid in interface CGVariable
Generated

setNonNull

public void setNonNull()
Set the non-null status.

Specified by:
setNonNull in interface CGVariable
Generated