Commit Graph
18 Commits
Author SHA1 Message Date
Reinier Zwitserloot 527b992a07 Last massive documentation dump. All basic javadoc is now done, though especially the docs
on the lombok annotations in the lombok package need far more massaging.

Also added a feature to HandleSynchronized to not auto-generate the locker fields if
a specific name is provided (because, imagine you typoed those. You'd never find it!)
2009-07-06 05:48:42 +02:00
Reinier Zwitserloot 7dd061c263 More documentation. 2009-07-05 22:01:51 +02:00
Reinier Zwitserloot 1f8a907187 [TRIVIAL] 2009-07-05 00:50:44 +02:00
Reinier Zwitserloot e0b623a3b8 Removed a debug print. 2009-06-28 06:06:52 +02:00
Reinier Zwitserloot 69844725fb Preparating for java 1.5-ification. All stuff that isn't specific to javac should run in java 1.5, so that an eclipse started on a 1.5 JVM will still run lombok. 2009-06-28 05:58:18 +02:00
Reinier Zwitserloot b964ec18fc Finding lombok.jar would fail if you had any spaces in the path. Fixed that. 2009-06-19 04:32:47 +02:00
Reinier Zwitserloot 7f7cdfc3fc Moved ClassLoaderWorkaround from 'java.lombok' to 'java.lombok.eclipse' as its clearly eclipse-specific. 2009-06-19 03:42:15 +02:00
Reinier Zwitserloot 8b6b821918 Live reloading of the eclipse parser classes is technically supported by the agent though I never tested it. I found a bug while browsing this code. fixed it. 2009-06-19 03:27:56 +02:00
Reinier Zwitserloot 00452d0e95 Renamed EclipseParserPatcher to EclipsePatcher, as it patches not just the parser, but also the CompilationUnitDeclaration class so we can store our AST in it for caching purposes. 2009-06-19 03:24:44 +02:00
Reinier Zwitserloot 7bbf7789f8 List of stuff we still need to do as well as research notes on how to get there. 2009-06-19 03:24:17 +02:00
Reinier Zwitserloot d2ffd52636 Fixed showstopper bugs we ran into when actually running with these changes. Related to
8353911b1d
2009-06-15 22:32:19 +02:00
Reinier Zwitserloot 8353911b1d Renamed lombok.agent.eclipse to lombok.eclipse.agent 2009-06-15 20:26:44 +02:00
Reinier Zwitserloot cd1ef24d0b Now you no longer need to add a -Xbootclasspath/a parameter to eclipse.ini; the agent fixes the classpath all by its lonesome. Wahey! 2009-06-15 01:20:29 +02:00
Reinier Zwitserloot 40e35d6f79 After spending 3 hours chasing down a NullPointerException inside the native method that handles method.invoke...
figured out that I accidentally added a second transform() method and that one was being found, and that somehow causes the problem.

The locating of the right transform method now also checks params. A 'method not found' is faaaaaaaaaaaaaaar easier to debug than picking the wrong one out of the lineup.
2009-06-12 08:38:24 +02:00
Reinier Zwitserloot 7d24f9c9a5 Removed the WeakHashMap for caching EclipseAST objects; obviously wasn't working due to
circular reference from the EclipseAST back to the CUD.

Now, patched a field into CompilationUnitDeclaration and using that, which works much better
together with the garbage collector.
2009-06-12 08:37:38 +02:00
Reinier Zwitserloot e84bdd32e7 Singularly massive code change, too hard to document. Basically, hooking now occurs in the two most sane places:
- After the parser is done building a first rendition of the AST. (Usually lightweight and missing method bodies etc)
- After the parser is done taking such a lightweight AST and filling in the gaps.

Lombok then builts its own bidirectional and somewhat saner AST out of this, and hands this saner AST off for treatment. Things in the AST can be marked as 'handled'.

This seems to work swimmingly and should allow us to easily identify the annotations that are for us, and work our magic, no matter where they appear or on what, including
stuff inside method bodies.
2009-06-12 03:40:07 +02:00
Reinier Zwitserloot 2e80283a67 Major bugfix. 2009-06-09 20:55:44 +02:00
Reinier Zwitserloot 41fb7cba62 Many changes:
- Split off the actual agent work into a separate src package in preparation for creating separate jars. Involved a lot of renaming
  - Renamed TransformCompilationUnitDeclaration to TransformEclipseAST, as this class will also be transforming e.g. MethodDeclaration objects.
  - Expanded the patching to also patch in transform calls when the parser fills in the Statement array for existing constructors, methods, and initializers.
  - Redesigned the ClassLoaderWorkaround class quite a bit.
  - Positioning should not work correctly ('jump to method' should jump to the getter annotation).
(Apparently, Clinit objects are always fully parsed in the original run, so no need to patch anything there).
2009-06-09 18:27:10 +02:00