Difference between revisions of "ATL Language Troubleshooter"

From Eclipsepedia

Jump to: navigation, search
('''Trouble''' '''Cause''' '''Solution(s)''')
Line 5: Line 5:
 
  rule myCalledRule() {
 
  rule myCalledRule() {
 
   to
 
   to
     out : XML!Element...
+
     out : XML!Element -- ...
 
   do {
 
   do {
     out
+
     out;
 
   }
 
   }
 
  }
 
  }

Revision as of 16:39, 15 May 2006

Trouble Cause Solution(s)

  1. 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 ...

  2. 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;
 }
}