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

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.CGVariableExpImpl
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, CGVariableExp, Nameable

public class CGVariableExpImpl
extends CGValuedElementImpl
implements CGVariableExp

An implementation of the model object 'CG Variable Exp'.

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  CGVariable referredVariable
          The cached value of the 'Referred Variable' reference.
 
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 CGVariableExpImpl()
           
 
Method Summary
<R> R
accept(CGModelVisitor<R> visitor)
          Accept a visit from a visitor and return the result of a call to the derived type-specific visitXXX in the visitor.
 java.lang.Object eGet(int featureID, boolean resolve, boolean coreType)
           
 boolean eIsSet(int featureID)
           
 void eSet(int featureID, java.lang.Object newValue)
           
protected  org.eclipse.emf.ecore.EClass eStaticClass()
           
 void eUnset(int featureID)
           
 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.
 CGVariable getReferredVariable()
           
 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.
 java.lang.String getValueName()
          Return the declared name value of this element.
 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 isUnboxed()
          Return true if this value is an unboxed value.
 void setReferredVariable(CGVariable newReferredVariable)
           
 
Methods inherited from class org.eclipse.ocl.examples.codegen.cgmodel.impl.CGValuedElementImpl
eInverseRemove, getDependsOn, getInvalidValue, getOwns, getPlace, getThisValue, isAssertedNonNull, isCaught, isConstant, isContext, isFalse, isGlobal, isInlined, isInvalid, isNonInvalid, isNonNull, isNull, 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
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, getInvalidValue, getOwns, getThisValue, isAssertedNonNull, isCaught, isConstant, isFalse, isGlobal, isInlined, isInvalid, isNonInvalid, isNonNull, isNull, 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
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

referredVariable

protected CGVariable referredVariable
The cached value of the 'Referred Variable' reference.

See Also:
getReferredVariable()
Generated
Ordered
Constructor Detail

CGVariableExpImpl

protected CGVariableExpImpl()

Generated
Method Detail

eStaticClass

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

Overrides:
eStaticClass in class CGValuedElementImpl
Generated

getReferredVariable

public CGVariable getReferredVariable()

Specified by:
getReferredVariable in interface CGVariableExp
Returns:
the value of the 'Referred Variable' reference.
See Also:
CGVariableExp.setReferredVariable(CGVariable), CGModelPackage.getCGVariableExp_ReferredVariable()
Generated

setReferredVariable

public void setReferredVariable(CGVariable newReferredVariable)

Specified by:
setReferredVariable in interface CGVariableExp
Parameters:
newReferredVariable - the new value of the 'Referred Variable' reference.
See Also:
CGVariableExp.getReferredVariable()
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

accept

@Nullable
public <R> R accept(@NonNull
                             CGModelVisitor<R> visitor)
Accept a visit from a visitor and return the result of a call to the derived type-specific visitXXX in the visitor.

Specified by:
accept in interface CGElement
Overrides:
accept in class CGElementImpl
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

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

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

getValueName

@Nullable
public java.lang.String getValueName()
Return the declared name value of this element. The text is valid for use in the target language and unique within the context in which this element is declared.

Specified by:
getValueName in interface CGValuedElement
Overrides:
getValueName 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

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