Package org.eclipse.m2m.atl.emftvm.impl

# Class LocalVariableImpl

java.lang.Object
org.eclipse.emf.common.notify.impl.BasicNotifierImpl
org.eclipse.emf.ecore.impl.BasicEObjectImpl
org.eclipse.emf.ecore.impl.EObjectImpl
org.eclipse.m2m.atl.emftvm.impl.NamedElementImpl
org.eclipse.m2m.atl.emftvm.impl.TypedElementImpl
org.eclipse.m2m.atl.emftvm.impl.LocalVariableImpl

All Implemented Interfaces:
  `org.eclipse.emf.common.notify.Notifier`, `org.eclipse.emf.ecore.EObject`, `org.eclipse.emf.ecore.InternalEObject`, `LocalVariable`, `NamedElement`, `TypedElement`

public class LocalVariableImpl extends TypedElementImpl implements LocalVariable
An implementation of the model object 'Local Variable'.

## Nested Class Summary

## 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 Object & org.eclipse.emf.common.notify.Adapter>, org.eclipse.emf.common.notify.impl.BasicNotifierImpl.EObservableAdapterList, org.eclipse.emf.common.notify.impl.BasicNotifierImpl.EScannableAdapterList`

## Nested classes/interfaces inherited from interface org.eclipse.emf.ecore.InternalEObject

`org.eclipse.emf.ecore.InternalEObject.EStore`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected static final int`
`END_INSTRUCTION_INDEX_EDEFAULT`
The default value of the '`End Instruction Index`' attribute.
`protected Instruction`
`endInstruction`
The cached value of the '`End Instruction`' reference.
`protected int`
`endInstructionIndex`
The cached value of the '`End Instruction Index`' attribute.
`protected int`
`slot`
The cached value of the '`Slot`' attribute.
`protected static final int`
`SLOT_EDEFAULT`
The default value of the '`Slot`' attribute.
`protected static final int`
`START_INSTRUCTION_INDEX_EDEFAULT`
The default value of the '`Start Instruction Index`' attribute.
`protected Instruction`
`startInstruction`
The cached value of the '`Start Instruction`' reference.
`protected int`
`startInstructionIndex`
The cached value of the '`Start Instruction Index`' attribute.

### Fields inherited from class org.eclipse.m2m.atl.emftvm.impl.TypedElementImpl

`eType, type, TYPE_EDEFAULT, TYPE_MODEL_EDEFAULT, typeModel`

### Fields inherited from class org.eclipse.m2m.atl.emftvm.impl.NamedElementImpl

`name, NAME_EDEFAULT`

### Fields inherited from class org.eclipse.emf.ecore.impl.EObjectImpl

`eAdapters, eContainer, eContainerFeatureID, EDELIVER, EDYNAMIC_CLASS, eFlags, ELAST_EOBJECT_FLAG, ELAST_NOTIFIER_FLAG, eProperties, EPROXY`

### 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.InternalEObject

`EOPPOSITE_FEATURE_BASE`

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`LocalVariableImpl()`
Creates a new `LocalVariableImpl`.

## Method Summary

Modifier and Type
Method
Description
`Instruction`
`basicGetEndInstruction()`
`Instruction`
`basicGetStartInstruction()`
`org.eclipse.emf.common.notify.NotificationChain`
`basicSetOwningBlock(CodeBlock newOwningBlock, org.eclipse.emf.common.notify.NotificationChain msgs)`
`org.eclipse.emf.common.notify.NotificationChain`
`eBasicRemoveFromContainerFeature(org.eclipse.emf.common.notify.NotificationChain msgs)`
`Object`
`eGet(int featureID, boolean resolve, boolean coreType)`
`org.eclipse.emf.common.notify.NotificationChain`
`eInverseAdd(org.eclipse.emf.ecore.InternalEObject otherEnd, int featureID, org.eclipse.emf.common.notify.NotificationChain msgs)`
`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, Object newValue)`
`protected org.eclipse.emf.ecore.EClass`
`eStaticClass()`
Returns the `EClass` that correspond to this metaclass.
`void`
`eUnset(int featureID)`
`Instruction`
`getEndInstruction()`
Returns the value of the 'End Instruction' reference.
`int`
`getEndInstructionIndex()`
Returns the value of the 'End Instruction Index' attribute.
`CodeBlock`
`getOwningBlock()`
Returns the value of the 'Owning Block' container reference.
`int`
`getSlot()`
Returns the value of the 'Slot' attribute.
`Instruction`
`getStartInstruction()`
Returns the value of the 'Start Instruction' reference.
`int`
`getStartInstructionIndex()`
Returns the value of the 'Start Instruction Index' attribute.
`void`
`setEndInstruction(Instruction newEndInstruction)`
Sets the value of the '`End Instruction`' reference.
`void`
`setEndInstructionIndex(int newEndInstructionIndex)`
Sets the value of the '`End Instruction Index`' attribute.
`void`
`setOwningBlock(CodeBlock newOwningBlock)`
Sets the value of the '`Owning Block`' container reference.
`void`
`setSlot(int newSlot)`
Sets the value of the '`Slot`' attribute.
`void`
`setStartInstruction(Instruction newStartInstruction)`
Sets the value of the '`Start Instruction`' reference.
`void`
`setStartInstructionIndex(int newStartInstructionIndex)`
Sets the value of the '`Start Instruction Index`' attribute.
`String`
`toString()`

### Methods inherited from class org.eclipse.m2m.atl.emftvm.impl.TypedElementImpl

`basicGetEType, getEType, getType, getTypeModel, setEType, setType, setTypeModel`

### Methods inherited from class org.eclipse.m2m.atl.emftvm.impl.NamedElementImpl

`getName, setName`

### Methods inherited from class org.eclipse.emf.ecore.impl.EObjectImpl

`eAdapters, eBasicAdapters, eBasicProperties, eBasicSetContainer, eClass, eContainerFeatureID, eDeliver, eInternalContainer, eInvoke, eIsProxy, eProperties, eSetClass, eSetDeliver, eSetProxyURI`

### Methods inherited from class org.eclipse.emf.ecore.impl.BasicEObjectImpl

`eAddVirtualValue, eAllContents, eBaseStructuralFeatureID, eBasicRemoveFromContainer, eBasicSetContainer, eComputeVirtualValuesCapacity, eContainer, eContainerAdapterArray, eContainingFeature, eContainmentFeature, eContainmentFeature, eContains, eContents, eCrossReferences, eDerivedOperationID, eDerivedOperationID, eDerivedStructuralFeatureID, eDerivedStructuralFeatureID, eDirectResource, eDynamicBasicRemoveFromContainer, eDynamicClass, eDynamicFeature, eDynamicFeatureID, eDynamicGet, eDynamicGet, eDynamicGet, eDynamicInverseAdd, eDynamicInverseAdd, eDynamicInverseRemove, eDynamicInverseRemove, eDynamicInvoke, eDynamicInvoke, eDynamicIsSet, eDynamicIsSet, eDynamicIsSet, eDynamicSet, eDynamicSet, eDynamicSet, eDynamicUnset, eDynamicUnset, eDynamicUnset, eGet, eGet, eGet, eHasSettings, eInternalResource, eInverseAdd, eInverseRemove, eInvocationDelegate, eInvoke, eIsSet, eObjectForURIFragmentSegment, eOpenGet, eOpenIsSet, eOpenSet, eOpenUnset, eProxyURI, eRemoveVirtualValue, eResolveProxy, eResource, eSet, eSetDirectResource, eSetResource, eSetStore, eSetting, eSettingDelegate, eSettings, 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

`eBasicAdapterArray, eBasicHasAdapters, 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.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.ecore.InternalEObject

`eNotificationRequired`

### Methods inherited from interface org.eclipse.m2m.atl.emftvm.NamedElement

`getName, setName`

### Methods inherited from interface org.eclipse.emf.common.notify.Notifier

`eAdapters, eDeliver, eNotify, eSetDeliver`

### Methods inherited from interface org.eclipse.m2m.atl.emftvm.TypedElement

`getEType, getType, getTypeModel, setEType, setType, setTypeModel`

## Field Details

### SLOT_EDEFAULT

protected static final int SLOT_EDEFAULT
The default value of the '`Slot`' attribute.

See Also:
  - `getSlot()`
  - Constant Field Values

### slot

protected int slot
The cached value of the '`Slot`' attribute.

See Also:
  - `getSlot()`

### startInstruction

protected Instruction startInstruction
The cached value of the '`Start Instruction`' reference.

See Also:
  - `getStartInstruction()`

### endInstruction

protected Instruction endInstruction
The cached value of the '`End Instruction`' reference.

See Also:
  - `getEndInstruction()`

### START_INSTRUCTION_INDEX_EDEFAULT

protected static final int START_INSTRUCTION_INDEX_EDEFAULT
The default value of the '`Start Instruction Index`' attribute.

See Also:
  - `getStartInstructionIndex()`
  - Constant Field Values

### END_INSTRUCTION_INDEX_EDEFAULT

protected static final int END_INSTRUCTION_INDEX_EDEFAULT
The default value of the '`End Instruction Index`' attribute.

See Also:
  - `getEndInstructionIndex()`
  - Constant Field Values

### startInstructionIndex

protected int startInstructionIndex
The cached value of the '`Start Instruction Index`' attribute.

See Also:
  - `getStartInstructionIndex()`

### endInstructionIndex

protected int endInstructionIndex
The cached value of the '`End Instruction Index`' attribute.

See Also:
  - `getEndInstructionIndex()`

## Constructor Details

### LocalVariableImpl

protected LocalVariableImpl()
Creates a new `LocalVariableImpl`.

## Method Details

### eStaticClass

protected org.eclipse.emf.ecore.EClass eStaticClass()
Returns the `EClass` that correspond to this metaclass.

Overrides:
  `eStaticClass` in class `TypedElementImpl`
Returns:
  the `EClass` that correspond to this metaclass.

### getSlot

public int getSlot()
Returns the value of the 'Slot' attribute. The default value is `"-1"`.

Automatically assigns a free slot for local variables without a slot. Verifies that previous overlapping local variables have a unique slot. Attempts to reuse free slots.

Specified by:
  `getSlot` in interface `LocalVariable`
Returns:
  the value of the 'Slot' attribute.
See Also:
  - `LocalVariable.setSlot(int)`
  - `EmftvmPackage.getLocalVariable_Slot()`

### setSlot

public void setSlot(int newSlot)
Sets the value of the '`Slot`' attribute.

Specified by:
  `setSlot` in interface `LocalVariable`
Parameters:
  `newSlot` - the new value of the 'Slot' attribute.
See Also:
  - `LocalVariable.getSlot()`

### getStartInstruction

public Instruction getStartInstruction()
Returns the value of the 'Start Instruction' reference.

If the meaning of the 'Start Instruction' attribute isn't clear, there really should be more of a description here...

Specified by:
  `getStartInstruction` in interface `LocalVariable`
Returns:
  the value of the 'Start Instruction' reference.
See Also:
  - `LocalVariable.setStartInstruction(Instruction)`
  - `EmftvmPackage.getLocalVariable_StartInstruction()`

### basicGetStartInstruction

public Instruction basicGetStartInstruction()

### setStartInstruction

public void setStartInstruction(Instruction newStartInstruction)
Sets the value of the '`Start Instruction`' reference.

Specified by:
  `setStartInstruction` in interface `LocalVariable`
Parameters:
  `newStartInstruction` - the new value of the 'Start Instruction' reference.
See Also:
  - `LocalVariable.getStartInstruction()`

### getEndInstruction

public Instruction getEndInstruction()
Returns the value of the 'End Instruction' reference.

If the meaning of the 'End Instruction' attribute isn't clear, there really should be more of a description here...

Specified by:
  `getEndInstruction` in interface `LocalVariable`
Returns:
  the value of the 'End Instruction' reference.
See Also:
  - `LocalVariable.setEndInstruction(Instruction)`
  - `EmftvmPackage.getLocalVariable_EndInstruction()`

### basicGetEndInstruction

public Instruction basicGetEndInstruction()

See Also:
  - ``

### setEndInstruction

public void setEndInstruction(Instruction newEndInstruction)
Sets the value of the '`End Instruction`' reference.

Specified by:
  `setEndInstruction` in interface `LocalVariable`
Parameters:
  `newEndInstruction` - the new value of the 'End Instruction' reference.
See Also:
  - `LocalVariable.getEndInstruction()`

### getStartInstructionIndex

public int getStartInstructionIndex()
Returns the value of the 'Start Instruction Index' attribute. The default value is `"-1"`.

Specified by:
  `getStartInstructionIndex` in interface `LocalVariable`
Returns:
  the value of the 'Start Instruction Index' attribute.
See Also:
  - `LocalVariable.setStartInstructionIndex(int)`
  - `EmftvmPackage.getLocalVariable_StartInstructionIndex()`

### setStartInstructionIndex

public void setStartInstructionIndex(int newStartInstructionIndex)
Sets the value of the '`Start Instruction Index`' attribute.

Specified by:
  `setStartInstructionIndex` in interface `LocalVariable`
Parameters:
  `newStartInstructionIndex` - the new value of the 'Start Instruction Index' attribute.
See Also:
  - `LocalVariable.getStartInstructionIndex()`

### getEndInstructionIndex

public int getEndInstructionIndex()
Returns the value of the 'End Instruction Index' attribute. The default value is `"-1"`.

Specified by:
  `getEndInstructionIndex` in interface `LocalVariable`
Returns:
  the value of the 'End Instruction Index' attribute.
See Also:
  - `LocalVariable.setEndInstructionIndex(int)`
  - `EmftvmPackage.getLocalVariable_EndInstructionIndex()`

### setEndInstructionIndex

public void setEndInstructionIndex(int newEndInstructionIndex)
Sets the value of the '`End Instruction Index`' attribute.

Specified by:
  `setEndInstructionIndex` in interface `LocalVariable`
Parameters:
  `newEndInstructionIndex` - the new value of the 'End Instruction Index' attribute.
See Also:
  - `LocalVariable.getEndInstructionIndex()`

### eInverseAdd

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

Overrides:
  `eInverseAdd` in class `org.eclipse.emf.ecore.impl.BasicEObjectImpl`

### 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 `org.eclipse.emf.ecore.impl.BasicEObjectImpl`

### eBasicRemoveFromContainerFeature

public org.eclipse.emf.common.notify.NotificationChain eBasicRemoveFromContainerFeature(org.eclipse.emf.common.notify.NotificationChain msgs)

Overrides:
  `eBasicRemoveFromContainerFeature` in class `org.eclipse.emf.ecore.impl.BasicEObjectImpl`

### eGet

public Object eGet(int featureID, boolean resolve, boolean coreType)

Specified by:
  `eGet` in interface `org.eclipse.emf.ecore.InternalEObject`
Overrides:
  `eGet` in class `TypedElementImpl`

### eSet

public void eSet(int featureID, Object newValue)

Specified by:
  `eSet` in interface `org.eclipse.emf.ecore.InternalEObject`
Overrides:
  `eSet` in class `TypedElementImpl`

### eUnset

public void eUnset(int featureID)

Specified by:
  `eUnset` in interface `org.eclipse.emf.ecore.InternalEObject`
Overrides:
  `eUnset` in class `TypedElementImpl`

### eIsSet

public boolean eIsSet(int featureID)

Specified by:
  `eIsSet` in interface `org.eclipse.emf.ecore.InternalEObject`
Overrides:
  `eIsSet` in class `TypedElementImpl`

### getOwningBlock

public CodeBlock getOwningBlock()
Returns the value of the 'Owning Block' container reference. It is bidirectional and its opposite is '`Local Variables`'.

If the meaning of the 'Owning Block' container reference isn't clear, there really should be more of a description here...

Specified by:
  `getOwningBlock` in interface `LocalVariable`
Returns:
  the value of the 'Owning Block' container reference.
See Also:
  - `LocalVariable.setOwningBlock(CodeBlock)`
  - `EmftvmPackage.getLocalVariable_OwningBlock()`
  - `CodeBlock.getLocalVariables()`

### basicSetOwningBlock

public org.eclipse.emf.common.notify.NotificationChain basicSetOwningBlock(CodeBlock newOwningBlock, org.eclipse.emf.common.notify.NotificationChain msgs)

See Also:
  - ``

### setOwningBlock

public void setOwningBlock(CodeBlock newOwningBlock)
Sets the value of the '`Owning Block`' container reference.

Specified by:
  `setOwningBlock` in interface `LocalVariable`
Parameters:
  `newOwningBlock` - the new value of the 'Owning Block' container reference.
See Also:
  - `LocalVariable.getOwningBlock()`

### toString

public String toString()

Overrides:
  `toString` in class `TypedElementImpl`