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.
Difference between revisions of "ATL Language Troubleshooter"
(→'''Trouble''' '''Cause''' '''Solution(s)''') |
|||
Line 1: | Line 1: | ||
− | =='''Trouble''' | + | =='''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)<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.
- Cause: Your called rule doesn't return the good type (problably any)
rule myCalledRule() { to out : XML!Element -- ... do { out; } }