No need to debug. The interpreter is fine. During my editing of the
transformation file (either while I was switching it to dynamic EMF
or when I was editing the diagram file), I must have removed the
type of the "OrdinaryParameter" node. Since the type of the
node was missing, the rule could not be matched. I fixed the example
(and not the interpreter, Stefan ;) ) and added the example to the
tests.
Stefan, thanks again for the detailed info. I would have spent a
couple of hours without your hints.
Cheers,
christian
On 05/28/2012 01:20 PM, Christian Krause wrote:
Hi Stefan,
thanks for the explanations. I found this failed rule application
in the log:
=== EXECUTED RULE 'createTransition' [FALSE] ===
Partial match for rule 'createTransition':
- parameter 'baseClass' => classifiers.Class@e3570c (dynamic,
comments=[], name='TimeWait', fullName=null)
- parameter 'parent' => statements.ExpressionStatement@1554233
(dynamic, comments=[])
- parameter 'trigger' => 'run'
- node 'parent' => statements.ExpressionStatement@1554233
(dynamic, comments=[])
- node 'baseClass' => classifiers.Class@e3570c (dynamic,
comments=[], name='TimeWait', fullName=null)
This looks like what you were describing. I'm debugging it...
cheers,
christian
On 05/26/2012 11:07 AM, Stefan Jurack wrote:
Nope.
First, before the latest changes in the interpreter the example
works very well.
Second, in order to create the Transition "TimeoutException"
which runs from State "TimeWait" to State
"Closed", the following is matched:
Rule "createTransition" matches the ExpressionStatement
to be found in Class "TimeWait" -> ClassMethod
"run" -> TryBlock -> CatchBlock
! The ExpressionStatement contains the required IdentifierReference
which targets Class "Closed", the MethodCall
targeting ClassMethod "Instance" and the MethodCall
targeting ClassMethod "activate". The name of the Transition
results from CatchBlock -> OrdinaryParameter
-> NamespaceClassifierReference -> ClassifierReference
-> Class "TimoutException" (see rule
descendTryCatch)
greetx,
Stefan
Am 25.05.2012 21:55, schrieb Christian Krause:
The rule "CreateTransition" matches two methods called
"activate" and "Instance". In the class "TimeoutException"
there is no such method. So how can the rule be matched? To me
it looks like it's a mistake either in the input or the
reference output model.
Christian
On 05/25/2012 05:04 PM, Stefan Jurack wrote:
I shall correct you: Not the example is to be fixed but the interpreter ;-)
Am 25.05.2012 16:35, schrieb Christian Krause:
When the example is fixed,
_______________________________________________
henshin-dev mailing list
henshin-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/henshin-dev
_______________________________________________
henshin-dev mailing list
henshin-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/henshin-dev
_______________________________________________
henshin-dev mailing list
henshin-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/henshin-dev
|