|Re: [ATL] In-place injection [message #37312 is a reply to message #37278]
||Sat, 12 May 2007 00:06
| Frédéric Jouault
Registered: July 2009
>> Is this the same problem as the one you reported in the thread "[ATL]
>> Parsing context-free language"? Or is it a different one?
> It is the same, but with some information/ideas added plus a complete
> (almost) stack trace.
> I think it was good for it to have it's own thread, as it looked like a
> more general issue.
Ok. Thank you for the additional information :-).
>> You did find a bug :-).
>> The String.inject(...) operation had never been tested from within
>> Eclipse. The current implementation depends on an object only present
>> when the ATL VM is launched from command line
> When I'm done creating the transofmration I plan to invoke it from Java
> code in another application. With proper references to all needed
> classes it should be possible to make it work, shouldn't it? Which
> exactly is the missing object?
You asked for the technical details, so here there are ;-):
ASMString.inject(...) actually uses the old command-line API
(ModelLoader, EMFModelLoader), which is usually not necessary in Eclipse.
However, this API enables injector registration (i.e., using it removes
the need to add dirty plugin dependencies), and is not incompatible with
the new API (i.e., it can coexist). Therefore, I added an EMFModelLoader
in AtlEMFModelHandler (i.e., the new API) to make ASMString.inject(...)
Note that I did *not* do this for MDR yet because there are some
technical issues making it slightly more complex.
These modifications have been tested, and committed to the Eclipse M2M
Please, let me know if you have further issues.
Powered by FUDForum
. Page generated in 0.01691 seconds