Commit Graph
30 Commits
Author SHA1 Message Date
Reinier Zwitserloot d7e5537b9e Moved version.txt to lombok.core.Version.java. 2009-06-15 20:46:52 +02:00
Reinier Zwitserloot 293a4bfaf0 Renamed lombok.transformations lombok.core as the purpose of this package is to contain stuff that is useful for any lombok implementation (be it e.g. javac via apt or eclipse via agent), but not annotations and other classes that are for 'end users'. 2009-06-15 20:31:25 +02:00
Reinier Zwitserloot 842cefb75c Moved TypeResolver to the eclipse package, as it has eclipse-specific code in it. 2009-06-15 20:28:25 +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 65de2407ae Made lombok more robust by catching exceptions near the top level and turning them into eclipse-wide errors in the worst case, but usually in an error in the problems dialog. 2009-06-14 23:55:39 +02:00
Reinier Zwitserloot 65cd03b6c5 Added support to generate errors, both on specific nodes in an AST (generified code in HandlerLibrary for unintelligible annotation param values), and more severe general errors for eclipse's error log.
Also unrolled the foreach loop on ServiceLoader, because any given .next() call can throw a ServiceLoaderError, which we now handle somewhat more nicely.
2009-06-14 23:40:10 +02:00
Reinier Zwitserloot 012459832d the version number generator now strips the newline. It was generating files with newlines in it. 2009-06-12 17:29:50 +02:00
Reinier Zwitserloot 47d3db6b93 Error reporting now works - we can use the error reporting on decoding annotation arguments for other places!
Because this stuff works so well now, I bumped the version number as well.
2009-06-12 17:26:51 +02:00
Reinier Zwitserloot 343eb68043 Clinits should be skipped, as they are useless, and the docs even say they will be skipped.
Now they are skipped.
2009-06-12 17:09:04 +02:00
Reinier Zwitserloot d1157b3b8a Whoops. Bugfix for enums. They get parsed correctly now! 2009-06-12 16:57:40 +02:00
Reinier Zwitserloot 6372983000 Now everything works; handlers are called via SPI, and annotations are being parsed. w00t! 2009-06-12 09:54:24 +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 0ef6792608 For the strangest reason, compiling Getter with javac fails; it wants AccessLevel, but has AccessLevel. Yah, WTF. Turning AccessLevel into its FQN: lombok.AccessLevel fixes it. javac bug? 2009-06-12 08:35:43 +02:00
Reinier Zwitserloot d7434059c4 Found 2 bugs in spi. This fixes both of them. Also enabled the spi processor in eclipse project. 2009-06-12 08:34:04 +02:00
Reinier Zwitserloot 95c38be18c Added a link to how JavaFX bindings work. 2009-06-12 08:32:27 +02:00
Reinier Zwitserloot 4cac23952a There's nothing interesting in this file. 2009-06-12 08:32:01 +02:00
Reinier Zwitserloot 7e24174dcc Filled out the deps and lib system with separate dirs for the agent and lombok proper, and moved spi into lombok's lib path. 2009-06-12 03:56:35 +02:00
Reinier Zwitserloot 8517deb8be Moved HandleGetter to its own package. This package should soon see HandleSetter, HandleAutoClose, etc. 2009-06-12 03:44:40 +02:00
Reinier Zwitserloot 5dca3b7eea Incomplete work on pseudo-resolving something like "@Getter" to: Yes, this is almost certainly intended to be lombok.Getter, so get to work! 2009-06-12 03:42:01 +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 4c18c774fc We were tracking ideas for annotations on the window, but writing on those gets old fast, so moved it to a text file. 2009-06-12 03:38:54 +02:00
Reinier Zwitserloot 1f7c79e625 Added more good ideas. 2009-06-10 15:28:32 +02:00
Reinier Zwitserloot 466fc44671 Build system splits the jars in two. 2009-06-09 20:55:58 +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
Reinier Zwitserloot 525211b872 @Getter now TOTALLY WORKS in eclipse! W00t!
Also made the handling of lombokisms in eclipse a little more frameworky, though there's still plenty to be done.
2009-06-08 23:31:50 +02:00
Reinier Zwitserloot 9314db916d Improving on the structure a little. 2009-06-08 22:50:51 +02:00
Reinier Zwitserloot 1677c4a52a Initial commit. As a proof of concept, it already works in javac and eclipse! 2009-06-08 22:26:30 +02:00