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

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.CGLetExpImpl
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, CGLetExp, CGNamedElement, CGTypedElement, CGValuedElement, Nameable

public class CGLetExpImpl
extends CGValuedElementImpl
implements CGLetExp

An implementation of the model object 'CG Let 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  CGValuedElement in
          The cached value of the 'In' containment reference.
protected  CGVariable init
          The cached value of the 'Init' containment 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 CGLetExpImpl()
           
 
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.
 org.eclipse.emf.common.notify.NotificationChain basicSetIn(CGValuedElement newIn, org.eclipse.emf.common.notify.NotificationChain msgs)
           
 org.eclipse.emf.common.notify.NotificationChain basicSetInit(CGVariable 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 getIn()
           
 CGVariable getInit()
           
 CGValuedElement getNamedValue()
          Return the CGValuedElement that provides the name of a declaration from which the value of this CGValuedElement may be obtained.
 AbstractPlace getPlace(java.util.Map<CGElement,AbstractPlace> element2place)
          Returns the place for this element, updating and reusing element2place as required.
 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.
 java.lang.String getValueName()
          Return the declared name value of this element.
 boolean isBoxed()
          Return true if this value is a boxed value.
 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 isGlobal()
          Return true if this value is a global constant (independent of the user type system).
 boolean isUnboxed()
          Return true if this value is an unboxed value.
 void setIn(CGValuedElement newIn)
           
 void setInit(CGVariable newInit)
           
 
Methods inherited from class org.eclipse.ocl.examples.codegen.cgmodel.impl.CGValuedElementImpl
getDependsOn, getInvalidValue, getOwns, getThisValue, isAssertedNonNull, isCaught, isCommonable, isConstant, isContext, isEquivalentTo, isFalse, 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, isCommonable, isConstant, isEquivalentTo, isFalse, 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, 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 CGVariable init
The cached value of the 'Init' containment reference.

See Also:
getInit()
Generated
Ordered

in

protected CGValuedElement in
The cached value of the 'In' containment reference.

See Also:
getIn()
Generated
Ordered
Constructor Detail

CGLetExpImpl

protected CGLetExpImpl()

Generated
Method Detail

eStaticClass

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

Overrides:
eStaticClass in class CGValuedElementImpl
Generated

getInit

public CGVariable getInit()

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

basicSetInit

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

Generated

setInit

public void setInit(CGVariable newInit)

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

getIn

public CGValuedElement getIn()

Specified by:
getIn in interface CGLetExp
Returns:
the value of the 'In' containment reference.
See Also:
CGLetExp.setIn(CGValuedElement), CGModelPackage.getCGLetExp_In()
Generated

basicSetIn

public org.eclipse.emf.common.notify.NotificationChain basicSetIn(CGValuedElement newIn,
                                                                  org.eclipse.emf.common.notify.NotificationChain msgs)

Generated

setIn

public void setIn(CGValuedElement newIn)

Specified by:
setIn in interface CGLetExp
Parameters:
newIn - the new value of the 'In' containment reference.
See Also:
CGLetExp.getIn()
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

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

getPlace

@Nullable
public AbstractPlace getPlace(@NonNull
                                       java.util.Map<CGElement,AbstractPlace> element2place)
Returns the place for this element, updating and reusing element2place as required. All parent elements have entries in element2place. No child elements have entries in element2place. The global place is accessible as the null element.

Specified by:
getPlace in interface CGElement
Overrides:
getPlace 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

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

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

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

isGlobal

public boolean isGlobal()
Return true if this value is a global constant (independent of the user type system).

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