Package org.eclipse.m2m.atl.emftvm.util

## Class NativeCodeBlock

- 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.CodeBlockImpl
        - - org.eclipse.m2m.atl.emftvm.util.NativeCodeBlock

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

    public class NativeCodeBlock
    extends CodeBlockImpl

`CodeBlock` with empty native Java body. Returns `null` by default.

### 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 inherited from class org.eclipse.m2m.atl.emftvm.impl.CodeBlockImpl

`code, EXEC_ENV, lineNumbers, localVariables, MAX_LOCALS_EDEFAULT, MAX_STACK_EDEFAULT, maxLocals, maxStack, nested, PARENT_FRAME_EDEFAULT, parentFrame`

### 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
`NativeCodeBlock()`

### Method Summary

All Methods Instance Methods Concrete Methods
`java.lang.Object` `execute​(StackFrame frame)` Executes the instructions in this `CodeBlock`, using the parameters stored in `frame`.
`int` `getMaxStack()` Returns the value of the 'Max Stack' attribute.
`int` `getStackLevel()` Calculates the amount of elements on the stack after executing this `CodeBlock`.

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

`basicSetApplierFor, basicSetBindingFor, basicSetBodyFor, basicSetInitialiserFor, basicSetMatcherFor, basicSetNestedFor, basicSetPostApplyFor, eBasicRemoveFromContainerFeature, eGet, eInverseAdd, eInverseRemove, eIsSet, eNotificationRequired, eNotify, eSet, eStaticClass, eUnset, getAllPredecessors, getApplierFor, getASM, getBindingFor, getBodyFor, getCode, getField, getInitialiserFor, getJITCodeBlock, getLineNumbers, getLocalVariables, getMatcherFor, getMaxLocals, getModule, getNested, getNestedFor, getNonLoopingPredecessors, getOperation, getParentFrame, getPostApplyFor, getPredecessors, getRule, setApplierFor, setBindingFor, setBodyFor, setInitialiserFor, setJITCodeBlock, setMatcherFor, setMaxLocals, setMaxStack, setNestedFor, setParentFrame, setPostApplyFor, 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`

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

`eAdapters, eDeliver, eSetDeliver`

### Constructor Detail

#### NativeCodeBlock

    public NativeCodeBlock()

### Method Detail

#### getMaxStack

    public int getMaxStack()

Returns the value of the 'Max Stack' attribute. The default value is `"-1"`.

Represents the amount of stack slots required. This value is derived automatically from the list of instructions.

Specified by:
  `getMaxStack` in interface `CodeBlock`
Overrides:
  `getMaxStack` in class `CodeBlockImpl`
Returns:
  the value of the 'Max Stack' attribute.
See Also:
  `CodeBlock.setMaxStack(int)`, `EmftvmPackage.getCodeBlock_MaxStack()`

#### execute

    public java.lang.Object execute​(StackFrame frame)

Executes the instructions in this `CodeBlock`, using the parameters stored in `frame`.

Specified by:
  `execute` in interface `CodeBlock`
Overrides:
  `execute` in class `CodeBlockImpl`
Parameters:
  `frame` - the `StackFrame` to use during execution.
Returns:
  the return value.
See Also:
  `CodeBlock.execute(StackFrame)`

#### getStackLevel

    public int getStackLevel()

Calculates the amount of elements on the stack after executing this `CodeBlock`.

Specified by:
  `getStackLevel` in interface `CodeBlock`
Overrides:
  `getStackLevel` in class `CodeBlockImpl`
Returns:
  the amount of elements on the stack after executing this `CodeBlock`.