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:''' 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]) in 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.  
+
# '''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() {

Revision as of 10:44, 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
 }
}