We have many generic methods in our EObject extension. All is well to
invoke those methods from the ATL transformation in general, but we have
some methods of the form:
public EObject runLibMethodObject(String extension, String methodName,
Object... args);
It seems that when we are dealing with a variable arity method that ATL
can't correctly handle the variable list of arguments
Please advise
Cheers,
Alain
Here is the error reported:
INFO: Dumping ASM to C:/eclipse/workspace/ATLTransformation/STM2KDM.asm
SEVERE: ****** BEGIN Stack Trace
SEVERE: message: ERROR: could not find operation runLibMethodList on
STM!StConcreteNode having supertypes: [STM!StBaseNode, OclType, OclAny]
(including Java operations)
SEVERE: A.main() : ??#26 null
SEVERE: local variables = {self=STM2KDM : ASMModule}
SEVERE: local stack = []
SEVERE: A.__exec__() : ??#38 null
SEVERE: local variables = {e=TransientLink {rule = 'CreateClasses',
sourceElements = {stmConcreteNode = IN!<unnamed>}, targetElements =
{kdmClass = OUT!<notnamedyet>}, variables = {}}, self=STM2KDM : ASMModule}
SEVERE: local stack = []
SEVERE: A.__applyCreateClasses(1 : NTransientLink;) : ??#15 58:12-58:90
SEVERE: local variables = {kdmClass=OUT!<notnamedyet>,
stmConcreteNode=IN!<unnamed>, link=TransientLink {rule =
'CreateClasses', sourceElements = {stmConcreteNode = IN!<unnamed>},
targetElements = {kdmClass = OUT!<notnamedyet>}, variables = {}},
self=STM2KDM : ASMModule}
SEVERE: local stack = [OUT!<notnamedyet>, OUT!<notnamedyet>, STM2KDM :
ASMModule]
SEVERE: ****** END Stack Trace
INFO: Execution terminated due to error (see launch configuration to
allow continuation after errors).
SEVERE: ERROR: could not find operation runLibMethodList on
STM!StConcreteNode having supertypes: [STM!StBaseNode, OclType, OclAny]
(including Java operations)
java.lang.RuntimeException: ERROR: could not find operation
runLibMethodList on STM!StConcreteNode having supertypes:
[STM!StBaseNode, OclType, OclAny] (including Java operations)
at
org.eclipse.m2m.atl.engine.vm.SimpleDebugger.error(SimpleDebugger.java:195)
at
org.eclipse.m2m.atl.engine.vm.StackFrame.printStackTrace(StackFrame.java:95)
at
org.eclipse.m2m.atl.engine.vm.StackFrame.printStackTrace(StackFrame.java:91)
at
org.eclipse.m2m.atl.drivers.emf4atl.ASMEMFModelElement.invoke(ASMEMFModelElement.java:700)