Package org.eclipse.m2m.atl.engine.vm

# Class NativeOperation

java.lang.Object
org.eclipse.m2m.atl.engine.vm.nativelib.ASMNativeObject
org.eclipse.m2m.atl.engine.vm.nativelib.ASMOclAny
org.eclipse.m2m.atl.engine.vm.Operation
org.eclipse.m2m.atl.engine.vm.NativeOperation

Direct Known Subclasses:
  `ClassNativeOperation`, `InstanceNativeOperation`

public abstract class NativeOperation extends Operation
The native operations definition class.

## Field Summary

### Fields inherited from class org.eclipse.m2m.atl.engine.vm.Operation

`myType`

### Fields inherited from class org.eclipse.m2m.atl.engine.vm.nativelib.ASMNativeObject

`nativeImpl`

## Constructor Summary

Constructors
Constructor
Description
`NativeOperation(Method method, List parameters, ASMOclType returnType, ASMOclType contextType)`
NativeOperation constructor.

## Method Summary

Modifier and Type
Method
Description
`abstract ASMOclAny`
`exec(StackFrame frame)`
`protected static ASMOclType`
`getASMType(Class pt, boolean allowTypeTranslation)`
`String`
`getContextSignature()`
`ASMOclType`
`getContextType()`
`Method`
`getMethod()`
`String`
`getName()`
`List`
`getParameters()`
`ASMOclType`
`getReturnType()`
`String`
`getSignature()`
`static void`
`registerOperations(ASMOclType t, Class c)`
`static void`
`registerOperations(ASMOclType t, Class c, boolean allowClassLevel, boolean allowInstanceLevel, boolean allowTypeTranslation, boolean allowDontUseFrame)`
`String`
`toString()`

### Methods inherited from class org.eclipse.m2m.atl.engine.vm.Operation

`get`

### Methods inherited from class org.eclipse.m2m.atl.engine.vm.nativelib.ASMOclAny

`asBag, asSequence, asSet, check, debug, findOperation, findOperation, getHelper, getNamedTargetFromSource, getOclAnyType, getType, invoke, invoke, invokeSuper, isHelper, oclIsKindOf, oclIsTypeOf, oclIsUndefined, oclType, operatorEQ, operatorNE, output, refGetValue, refImmediateComposite, refImmediateComposite, refInvokeOperation, refSetValue, refUnsetValue, set, setType, toString, unset`

### Methods inherited from class org.eclipse.m2m.atl.engine.vm.nativelib.ASMNativeObject

`getNativeImpl`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### NativeOperation

public NativeOperation(Method method, List parameters, ASMOclType returnType, ASMOclType contextType)
NativeOperation constructor. TODO The Method must be static and must have self as a first parameter.

Parameters:
  `method` -
  `parameters` -
  `returnType` -
  `contextType` -

## Method Details

### registerOperations

public static void registerOperations(ASMOclType t, Class c)

Parameters:
  `t` -
  `c` -

### registerOperations

public static void registerOperations(ASMOclType t, Class c, boolean allowClassLevel, boolean allowInstanceLevel, boolean allowTypeTranslation, boolean allowDontUseFrame)

Parameters:
  `t` -
  `c` -
  `allowClassLevel` -
  `allowInstanceLevel` -
  `allowTypeTranslation` -
  `allowDontUseFrame` -

### getASMType

protected static ASMOclType getASMType(Class pt, boolean allowTypeTranslation)

### getName

public String getName()

Specified by:
  `getName` in class `Operation`

### getContextSignature

public String getContextSignature()

Specified by:
  `getContextSignature` in class `Operation`

### getSignature

public String getSignature()

Specified by:
  `getSignature` in class `Operation`

### exec

public abstract ASMOclAny exec(StackFrame frame)

Specified by:
  `exec` in class `Operation`
See Also:
  - `Operation.exec(org.eclipse.m2m.atl.engine.vm.StackFrame)`

### toString

public String toString()

Overrides:
  `toString` in class `Object`
See Also:
  - `Object.toString()`

### getMethod

public Method getMethod()

### getParameters

public List getParameters()

Specified by:
  `getParameters` in class `Operation`

### getReturnType

public ASMOclType getReturnType()

Specified by:
  `getReturnType` in class `Operation`

### getContextType

public ASMOclType getContextType()

Specified by:
  `getContextType` in class `Operation`