On-demand compilation of model elements [message #997255] |
Fri, 04 January 2013 13:16  |
Eclipse User |
|
|
|
I'd like to highlight a key change to how developers work with Sapphire that is coming in the 0.7 release.
==============
For the last several years Sapphire has used a Java annotation processor linked to @GenerateImpl annotation to produces implementation classes for the model element interfaces.
A better approach is to produce implementation classes on-demand at runtime by generating bytecode. This has the following key advantages:
1. No need to customize the build to run the annotation processor.
2. No need to tag interfaces with @GenerateImpl.
3. Smaller application binaries to distribute
4. Less complex compiler since generating bytecode is easier than generating readable Java source code.
Old Compiler: 17 classes, 3219 lines of code
New Compiler: 3 classes, 808 lines of code, ASM bytecode library
https://bugs.eclipse.org/bugs/show_bug.cgi?id=397466
|
|
|
|
Powered by
FUDForum. Page generated in 0.03178 seconds