aboutsummaryrefslogtreecommitdiff
path: root/src_eclipseagent
AgeCommit message (Collapse)Author
2009-07-06Last massive documentation dump. All basic javadoc is now done, though ↵Reinier Zwitserloot
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-05More documentation.Reinier Zwitserloot
2009-07-05[TRIVIAL]Reinier Zwitserloot
2009-06-28Removed a debug print.Reinier Zwitserloot
2009-06-28Preparating for java 1.5-ification. All stuff that isn't specific to javac ↵Reinier Zwitserloot
should run in java 1.5, so that an eclipse started on a 1.5 JVM will still run lombok.
2009-06-19Finding lombok.jar would fail if you had any spaces in the path. Fixed that.Reinier Zwitserloot
2009-06-19Moved ClassLoaderWorkaround from 'java.lombok' to 'java.lombok.eclipse' as ↵Reinier Zwitserloot
its clearly eclipse-specific.
2009-06-19Live reloading of the eclipse parser classes is technically supported by the ↵Reinier Zwitserloot
agent though I never tested it. I found a bug while browsing this code. fixed it.
2009-06-19Renamed EclipseParserPatcher to EclipsePatcher, as it patches not just the ↵Reinier Zwitserloot
parser, but also the CompilationUnitDeclaration class so we can store our AST in it for caching purposes.
2009-06-19List of stuff we still need to do as well as research notes on how to get there.Reinier Zwitserloot
2009-06-15Fixed showstopper bugs we ran into when actually running with these changes. ↵Reinier Zwitserloot
Related to 8353911b1d3a8d59a07042976bb924a7eccb5d0d
2009-06-15Renamed lombok.agent.eclipse to lombok.eclipse.agentReinier Zwitserloot
2009-06-15Now you no longer need to add a -Xbootclasspath/a parameter to eclipse.ini; ↵Reinier Zwitserloot
the agent fixes the classpath all by its lonesome. Wahey!
2009-06-12After spending 3 hours chasing down a NullPointerException inside the native ↵Reinier Zwitserloot
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-12Removed the WeakHashMap for caching EclipseAST objects; obviously wasn't ↵Reinier Zwitserloot
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-12Singularly massive code change, too hard to document. Basically, hooking now ↵Reinier Zwitserloot
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-09Major bugfix.Reinier Zwitserloot
2009-06-09Many changes:Reinier Zwitserloot
- 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).