Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "ATL Language Troubleshooter"

('''Trouble''' '''Cause''' '''Solution(s)''')
Line 1: Line 1:
=='''Trouble'''                                 '''Cause'''                                  '''Solution(s)'''==
+
=='''Trouble'''                               '''Cause'''                                  '''Solution(s)'''==
# '''Trouble:''' NativeOperation public static org.atl.engine.vm.nativelib.ASMNumber org.atl.engine.vm.nativelib.ASMInteger.operatorMinus(org.atl.engine.vm.StackFrame,org.atl.engine.vm.nativelib.ASMInteger,org.atl.engine.vm.nativelib.ASMNumber)<br/>'''Cause:''' You use negative integer to compare: e.g. ''if self.upper = -1 ...''<br/>'''Solutions:''' Use (0-x) operation: e.g. ''if self.upper = (0-1) ...'' or change your comparaison if it is possible: e.g. ''if self.upper < 0 ...''<br/><br/>
+
# '''Trouble:''' ERROR: could not find operation including on Module having supertypes: [OclAny]) on a called rule<br/>'''Cause:''' Your called rule doesn't return the good type (problably any)<br/>'''Solution:''' Add a return type on your called rule by adding the '''do''' clause: e.g.
+
  
 +
===ATL Virtual Machine Troubles===
 +
* '''Trouble:''' NativeOperation public static org.atl.engine.vm.nativelib.ASMNumber org.atl.engine.vm.nativelib.ASMInteger.operatorMinus(org.atl.engine.vm.StackFrame,org.atl.engine.vm.nativelib.ASMInteger,org.atl.engine.vm.nativelib.ASMNumber)<br/>
 +
*;'''Cause:''' You use negative integer to compare: e.g. ''if self.upper = -1 ...''<br/>
 +
*;'''Solutions:''' Use (0-x) operation: e.g. ''if self.upper = (0-1) ...'' or change your comparaison if it is possible: e.g. ''if self.upper < 0 ...''
 +
 +
 +
===ATL Called Rules Troubles===
 +
* '''Trouble:''' ERROR: could not find operation including on Module having supertypes: [OclAny]) on a called rule<br/>
 +
*;'''Cause:''' Your called rule doesn't return the good type (problably any)<br/>
 +
*;'''Solution:''' Add a return type on your called rule by adding the '''do''' clause: e.g.
 
  rule myCalledRule() {
 
  rule myCalledRule() {
 
   to
 
   to

Revision as of 07:39, 16 May 2006

Trouble Cause Solution(s)

ATL Virtual Machine Troubles

  • Trouble: NativeOperation public static org.atl.engine.vm.nativelib.ASMNumber org.atl.engine.vm.nativelib.ASMInteger.operatorMinus(org.atl.engine.vm.StackFrame,org.atl.engine.vm.nativelib.ASMInteger,org.atl.engine.vm.nativelib.ASMNumber)
    Cause: You use negative integer to compare
    e.g. if self.upper = -1 ...
    Solutions: Use (0-x) operation
    e.g. if self.upper = (0-1) ... or change your comparaison if it is possible: e.g. if self.upper < 0 ...


ATL Called Rules Troubles

  • Trouble: ERROR: could not find operation including on Module having supertypes: [OclAny]) on a called rule
    Cause: Your called rule doesn't return the good type (problably any)
    Solution: Add a return type on your called rule by adding the do clause
    e.g.
rule myCalledRule() {
 to
   out : XML!Element -- ...
 do {
   out;
 }
}

Back to the top