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

## Class InstructionImpl

- 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.InstructionImpl

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

Direct Known Subclasses:
  `AllinstImpl`, `AllinstInImpl`, `BranchInstructionImpl`, `CodeBlockInstructionImpl`, `DeleteImpl`, `DupImpl`, `DupX1Impl`, `FieldInstructionImpl`, `FindtypeImpl`, `FindtypeSImpl`, `GetenvImpl`, `GetenvtypeImpl`, `IfteImpl`, `InvokeInstructionImpl`, `IsnullImpl`, `LocalVariableInstructionImpl`, `NewImpl`, `NewSImpl`, `NotImpl`, `PopImpl`, `PushfImpl`, `PushImpl`, `PushtImpl`, `ReturnImpl`, `SwapImpl`, `SwapX1Impl`, `XorImpl`

    public abstract class InstructionImpl
    extends org.eclipse.emf.ecore.impl.EObjectImpl
    implements Instruction

An implementation of the model object 'Instruction'.

### 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 java.lang.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
`protected LineNumber` `lineNumber` The cached value of the '`Line Number`' reference.
`protected Opcode` `opcode` The cached value of the '`Opcode`' attribute.
`protected static Opcode` `OPCODE_EDEFAULT` The default value of the '`Opcode`' attribute.
`protected static int` `STACK_CONSUMPTION_EDEFAULT` The default value of the '`Stack Consumption`' attribute.
`protected static int` `STACK_LEVEL_EDEFAULT` The default value of the '`Stack Level`' attribute.
`protected static int` `STACK_PRODUCTION_EDEFAULT` The default value of the '`Stack Production`' attribute.
`protected int` `stackConsumption` The cached value of the '`Stack Consumption`' attribute.
`protected int` `stackLevel` The cached value of the '`Stack Level`' attribute.
`protected boolean` `stackLevelSet`
`protected int` `stackProduction` The cached value of the '`Stack Production`' attribute.

### 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
`protected` `InstructionImpl()` Creates a new `InstructionImpl`.

### Method Summary

All Methods Instance Methods Concrete Methods
`LineNumber` `basicGetLineNumber()`
`org.eclipse.emf.common.notify.NotificationChain` `basicSetLineNumber​(LineNumber newLineNumber, org.eclipse.emf.common.notify.NotificationChain msgs)`
`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)`
`java.lang.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` `eNotify​(org.eclipse.emf.common.notify.Notification notification)`
`void` `eSet​(int featureID, java.lang.Object newValue)`
`protected org.eclipse.emf.ecore.EClass` `eStaticClass()` Returns the `EClass` that correspond to this metaclass.
`void` `eUnset​(int featureID)`
`LineNumber` `getLineNumber()` Returns the value of the 'Line Number' reference.
`Opcode` `getOpcode()` Returns the value of the 'Opcode' attribute.
`CodeBlock` `getOwningBlock()` Returns the value of the 'Owning Block' container reference.
`int` `getStackConsumption()` Returns the value of the 'Stack Consumption' attribute.
`int` `getStackLevel()` Returns the value of the 'Stack Level' attribute.
`int` `getStackProduction()` Returns the value of the 'Stack Production' attribute.
`void` `setLineNumber​(LineNumber newLineNumber)` Sets the value of the '`Line Number`' reference.
`void` `setOwningBlock​(CodeBlock newOwningBlock)` Sets the value of the '`Owning Block`' container reference.
`java.lang.String` `toString()`

### 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`

### 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.emf.common.notify.Notifier

`eAdapters, eDeliver, eSetDeliver`

### Field Detail

#### OPCODE_EDEFAULT

    protected static final Opcode OPCODE_EDEFAULT

The default value of the '`Opcode`' attribute.

See Also:
  `getOpcode()`

#### opcode

    protected Opcode opcode

The cached value of the '`Opcode`' attribute.

See Also:
  `getOpcode()`

#### STACK_PRODUCTION_EDEFAULT

    protected static final int STACK_PRODUCTION_EDEFAULT

The default value of the '`Stack Production`' attribute.

See Also:
  `getStackProduction()`, Constant Field Values

#### stackProduction

    protected int stackProduction

The cached value of the '`Stack Production`' attribute.

See Also:
  `getStackProduction()`

#### STACK_CONSUMPTION_EDEFAULT

    protected static final int STACK_CONSUMPTION_EDEFAULT

The default value of the '`Stack Consumption`' attribute.

See Also:
  `getStackConsumption()`, Constant Field Values

#### stackConsumption

    protected int stackConsumption

The cached value of the '`Stack Consumption`' attribute.

See Also:
  `getStackConsumption()`

#### STACK_LEVEL_EDEFAULT

    protected static final int STACK_LEVEL_EDEFAULT

The default value of the '`Stack Level`' attribute.

See Also:
  `getStackLevel()`, Constant Field Values

#### stackLevel

    protected int stackLevel

The cached value of the '`Stack Level`' attribute.

See Also:
  `getStackLevel()`

#### stackLevelSet

    protected boolean stackLevelSet

#### lineNumber

    protected LineNumber lineNumber

The cached value of the '`Line Number`' reference.

See Also:
  `getLineNumber()`

### Constructor Detail

#### InstructionImpl

    protected InstructionImpl()

Creates a new `InstructionImpl`.

### Method Detail

#### eStaticClass

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

Returns the `EClass` that correspond to this metaclass.

Overrides:
  `eStaticClass` in class `org.eclipse.emf.ecore.impl.EObjectImpl`
Returns:
  the `EClass` that correspond to this metaclass.

#### getOwningBlock

    public CodeBlock getOwningBlock()

Returns the value of the 'Owning Block' container reference. It is bidirectional and its opposite is '`Code`'.

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 `Instruction`
Returns:
  the value of the 'Owning Block' container reference.
See Also:
  `Instruction.setOwningBlock(CodeBlock)`, `EmftvmPackage.getInstruction_OwningBlock()`, `CodeBlock.getCode()`

#### basicSetOwningBlock

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

See Also:
  `setOwningBlock(CodeBlock)`

#### setOwningBlock

    public void setOwningBlock​(CodeBlock newOwningBlock)

Sets the value of the '`Owning Block`' container reference.

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

#### getOpcode

    public Opcode getOpcode()

Returns the value of the 'Opcode' attribute. The default value is `"PUSH"`. The literals are from the enumeration `Opcode`.

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

Specified by:
  `getOpcode` in interface `Instruction`
Returns:
  the value of the 'Opcode' attribute.
See Also:
  `Opcode`, `EmftvmPackage.getInstruction_Opcode()`

#### getStackProduction

    public int getStackProduction()

Returns the value of the 'Stack Production' attribute. The default value is `"0"`.

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

Specified by:
  `getStackProduction` in interface `Instruction`
Returns:
  the value of the 'Stack Production' attribute.
See Also:
  `EmftvmPackage.getInstruction_StackProduction()`

#### getStackConsumption

    public int getStackConsumption()

Returns the value of the 'Stack Consumption' attribute. The default value is `"0"`.

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

Specified by:
  `getStackConsumption` in interface `Instruction`
Returns:
  the value of the 'Stack Consumption' attribute.
See Also:
  `EmftvmPackage.getInstruction_StackConsumption()`

#### getStackLevel

    public int getStackLevel()

Returns the value of the 'Stack Level' attribute. The default value is `"0"`.

Calculates the amount of elements on the stack after executing this instruction, also taking into account the execution of previous instructions in the code block.

Specified by:
  `getStackLevel` in interface `Instruction`
Returns:
  the value of the 'Stack Level' attribute.
See Also:
  `EmftvmPackage.getInstruction_StackLevel()`

#### getLineNumber

    public LineNumber getLineNumber()

Returns the value of the 'Line Number' reference. It is bidirectional and its opposite is '`Instructions`'.

If the meaning of the 'Line Number' reference isn't clear, there really should be more of a description here...

Specified by:
  `getLineNumber` in interface `Instruction`
Returns:
  the value of the 'Line Number' reference.
See Also:
  `Instruction.setLineNumber(LineNumber)`, `EmftvmPackage.getInstruction_LineNumber()`, `LineNumber.getInstructions()`

#### basicGetLineNumber

    public LineNumber basicGetLineNumber()

See Also:
  `getLineNumber()`

#### basicSetLineNumber

    public org.eclipse.emf.common.notify.NotificationChain basicSetLineNumber​(LineNumber newLineNumber,
                                                                              org.eclipse.emf.common.notify.NotificationChain msgs)

See Also:
  `setLineNumber(LineNumber)`

#### setLineNumber

    public void setLineNumber​(LineNumber newLineNumber)

Sets the value of the '`Line Number`' reference.

Specified by:
  `setLineNumber` in interface `Instruction`
Parameters:
  `newLineNumber` - the new value of the 'Line Number' reference.
See Also:
  `Instruction.getLineNumber()`

#### 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 java.lang.Object eGet​(int featureID,
                                 boolean resolve,
                                 boolean coreType)

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

#### eSet

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

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

#### eUnset

    public void eUnset​(int featureID)

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

#### eIsSet

    public boolean eIsSet​(int featureID)

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

#### eNotify

    public void eNotify​(org.eclipse.emf.common.notify.Notification notification)

Specified by:
  `eNotify` in interface `org.eclipse.emf.common.notify.Notifier`
Overrides:
  `eNotify` in class `org.eclipse.emf.common.notify.impl.BasicNotifierImpl`

#### toString

    public java.lang.String toString()

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