Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'deprecated/org.atl.engine.vm/src/org/atl/engine/vm/ClassNativeOperation.java')
-rw-r--r--deprecated/org.atl.engine.vm/src/org/atl/engine/vm/ClassNativeOperation.java76
1 files changed, 0 insertions, 76 deletions
diff --git a/deprecated/org.atl.engine.vm/src/org/atl/engine/vm/ClassNativeOperation.java b/deprecated/org.atl.engine.vm/src/org/atl/engine/vm/ClassNativeOperation.java
deleted file mode 100644
index 83cebce7..00000000
--- a/deprecated/org.atl.engine.vm/src/org/atl/engine/vm/ClassNativeOperation.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package org.atl.engine.vm;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.atl.engine.vm.nativelib.ASMOclAny;
-import org.atl.engine.vm.nativelib.ASMOclType;
-
-/**
- * @author Frédéric Jouault
- */
-public class ClassNativeOperation extends NativeOperation {
-
- // The Method must be static and must have <type> self as a first parameter.
- public ClassNativeOperation(Method method, List parameters, ASMOclType returnType, ASMOclType contextType) {
- super(method, parameters, returnType, contextType);
- }
-
- public ClassNativeOperation(Method method) {
- super(method, getParameters(method), getReturnType(method), getContextType(method));
- }
-
- private static List getParameters(Method method) {
- List ret = new ArrayList();
-
- Class paramTypes[] = method.getParameterTypes();
- for(int i = 2 ; i < paramTypes.length ; i++) { // paramTypes[0] is a StackFrame
- // paramTypes[1] is self
- ret.add(getASMType(paramTypes[i], false));
- }
-
- return ret;
- }
-
- private static ASMOclType getReturnType(Method method) {
- ASMOclType ret = null;
-
- ret = getASMType(method.getReturnType(), false);
-
- return ret;
- }
-
- private static ASMOclType getContextType(Method method) {
- ASMOclType ret = null;
-
- ret = getASMType(method.getParameterTypes()[1], false);
-
- return ret;
- }
-
- public ASMOclAny exec(StackFrame frame) {
- ASMOclAny ret = null;
-
- try {
- List args = new ArrayList(frame.getArgs());
- args.add(0, frame);
- ret = (ASMOclAny)getMethod().invoke(null, args.toArray());
- } catch(IllegalAccessException iae) {
- frame.printStackTrace(iae);
- ret = null;
- } catch(IllegalArgumentException iae2) {
- frame.printStackTrace(iae2);
- ret = null;
- } catch(InvocationTargetException ite) {
- frame.printStackTrace(ite);
- ret = null;
- }
- ((NativeStackFrame)frame).setRet(ret);
- frame.leaveFrame();
-
- return ret;
- }
-}
-

Back to the top