aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2011-05-30tracking if an annotation has been handled or not is now no longer doneReinier Zwitserloot
via the LombokAST object. Instead its tracked more directly in an attempt to avoid having to write all handlers as idempotent, and just in case issue #164 is a race condition (the handled-or-not is a synchronized CAS check). This does break API for other plugins, but the fix is trivial: Just make your 'handle' method return void. That 'we won't call you again' business in the decks never quite worked right anyway. Also, you might want to call Javac.(recursive)setHandledBy when you generate nodes, now.
2011-05-30HandleDelegate did not remove the annotation @Delegate from javac's AST, so ↵peichhorn
HandleDelegate was called multiple times for the same field resulting in an error saying the delegate method was already defined. Also added a test for @Delegate that uncovered this issue.
2011-05-30Removed the ability of lombok to run as ecj annotation processor, becauseReinier Zwitserloot
it won't actually work right; method-level generics would break. The new way is to use -javaagent:lombok.jar=ECJ in addition to -cp lombok.jar
2011-05-28delombok would put copyright headers in between the 'package' keyword and ↵Philipp Eichhorn
the actual package. See discussion at https://groups.google.com/d/topic/project-lombok/64zuUlLnVMc/discussion
2011-05-17Added a layer of indirection between the patched calls for delegate to guard ↵grootjans
against situations in which lombok can't possibly work, since there is not enough of eclipse on the classpath. Major example of this is when we are called through jsps in the eclipse help. Also added an extra check before the patchval is performed by checking if previous patch calls failed in TransformEclipseAST. This fixes Issue #207.
2011-05-16Whoops - previous commit has a grievous error in it. My bad. Fixed now.Reinier Zwitserloot
2011-05-16Split up PatchVal into the ecj and eclipse bits; in ecj you'd just get ↵Reinier Zwitserloot
NoSuchClassErrors.
2011-05-16EclipseLocationProvider now checks the current directory if it matches the ↵grootjans
eclipse-like executable patterns. Probably fixes issue #196
2011-05-16Fixes issue 205: NullPointerException in javac's Check$Validator with valPhilipp Eichhorn
2011-05-16Generalized fix for Issue #210, now the installer looks recursively for all ↵grootjans
platforms
2011-05-13Updated copyright on javac HandleDelegateReinier Zwitserloot
2011-05-13@Delegate in javac on the new types/excludes model without autoexclusion now ↵Reinier Zwitserloot
works.
2011-05-09Recurse directories while eclipse or sts is part of the directory name. ↵Roel Spilker
Solves issue 210.
2011-05-03Changed how @Delegate works in ecj - methods already present do NOTReinier Zwitserloot
preclude them from being generated, which means you get duplicate method errors. excludes=Types has been added to counteract this. Once we figure out how to resolve method sigs out of order we can go back to the original plan.
2011-05-03Merge branch 'master' of git@github.com:rzwitserloot/lombokRoel Spilker
2011-05-03Eclipse 3.7 updated some internal AST classes, causing:Roel Spilker
NoSuchMethodError: CastExpression.<init> This commit fixes this (now lombok works both <3.7 and 3.7). fixes issue #206
2011-04-01Now logging a warning with diagnostic info so that the next timeReinier Zwitserloot
a user runs into issue #164, we can get a more useful stracktrace from them.
2011-04-01Added ability to log warnings in eclipse error log.Reinier Zwitserloot
2011-03-28Now delegating classes defined in the same project works.Reinier Zwitserloot
At this revision, you can easily and reliably reproduce issue #164 by creating a loop (A delegates B and B delegates A).
2011-03-18Rewritten @Cleanup's new null analysis prevention to not useReinier Zwitserloot
Lombok.preventNullAnalysis but go with Collections.singletonList(expr).get(0) instead; while this does create a pointless object, it doesn't cause a clash when eclipse has lombok 0.10 installed but the project uses 0.9, which doesn't have preventNullAnalysis. Eventually, once 0.9 is long forgotten, this can be reverted.
2011-02-21Issue 194: Javac gives and error when lombok.jar is on the classpathRoel Spilker
2011-02-15Delomboking multiple files still wasn't working right and would result in an ↵Reinier Zwitserloot
IllegalStateException. Fixed.
2011-02-15Should be a fix for issue #177: NoClassDefFoundErrors for ↵Roel Spilker
JavacProcessingEnvironment would occur when using the m2eclipse plugin, for example when removing an entry from the build path. The actual change is small but this took quite some searching. m2eclipse uses plexus, and plexus uses a custom classloader, which means lombok can't find the JavacProcessingEnvironment loaded by that classloader. We fix it here by adding lombok to that custom classloader. Perhaps more die-hard m2eclipse users find a problem with this approach, but assuming these plexus compile runs are stand-alone, this should work great. fixed by Roel and Reinier.
2011-02-14Added annotation for handleconstructor: issue 172grootjans
2011-02-07Removed a debug print.Reinier Zwitserloot
2011-02-07Presence of isFoo(), hasFoo(), and getFoo(), as well as properties named ↵Reinier Zwitserloot
'isFoo', 'hasFoo', or 'getFoo' would trigger specialized handling for @Getter/@Setter. However, this special handling broke the bean spec, and has been simplified: Only fields named 'isFoo', and only if that field's type is 'boolean', results in both 'isFoo' and 'foo' being considered as possible property names for this property, with 'foo' preferred, so that @Getter boolean isFoo will generate setFoo and isFoo methods, not setIsFoo and isIsFoo. Fixes issue #148
2011-01-31Calling setCharset with null will use the system default charset (issue 181)Roel Spilker
2011-01-31Changed internal call for resolution to method support in javac7grootjans
2011-01-24NPE fixReinier Zwitserloot
2011-01-24In javac, @XArgsConstructor on enums was not forcing the generated ↵Philipp Eichhorn
constructor to be private (as all enum constructors have to be). Fixes issue #186
2011-01-10Merge branch 'master' of git@github.com:rzwitserloot/lombokRoel Spilker
2011-01-10In javac7 the BaseFileObject and JavacFileManager have been moved fromRoel Spilker
com/sun/tools/javac/util to com/sun/tools/javac/file
2011-01-08Making delombok compatible with post-resolution transformers meant delombok ↵Reinier Zwitserloot
would fail with a 'duplicate context value' error. Fixes issue #178 Thanks to Neildo for using the 0.10.0 beta and spotting the problem - the tests don't run 1 delombok with multiple files. Maybe we should change that.
2011-01-02Should fix issue #175, where annotations mysteriously appear to be copied to ↵Reinier Zwitserloot
the methods generated by them.
2011-01-02Added debug feature (disabled in this commit) to print types of nodes ↵Reinier Zwitserloot
printed by EclipseASTVisitor.Printer
2010-12-31Using annotation processors with lombok sometimes results in a 'Not ↵Reinier Zwitserloot
Supported: DummyRound0' error. This fixes it. Fixes issue #176
2010-12-31Starting eclipse with an open file containing an enum with @Getter on it ↵Reinier Zwitserloot
would cause 1 error log entry to show up. No other effects other than that, but thats ugly and so thats been fixed.
2010-12-31Resolve-phase transformers in eclipse need to force a rebuild of the ↵Reinier Zwitserloot
EclipseAST object. Fixes issue #171
2010-12-31Presence of i.e. getABC() stops lombok from generating getAbc, but lombok ↵Reinier Zwitserloot
will still attempt to call this nonexistent getAbc instead of getABC. Fixed. Fixes issue #173.
2010-12-31calls to canEqual and equals are now fored to go to the version that has 1 ↵Reinier Zwitserloot
Object as parameter (creating new equals methods by giving them non-object parameterized is a _really_ bad idea, but if someone did do that, obviously lombok shouldn't call those!) Fixes #165.
2010-12-28@ToString, @Getter, and @XArgsConstructor now work on, and are legal on, ↵Reinier Zwitserloot
enums. Docs have been updated. Behaviour of @XArgsConstructor when its placement makes no sense (i.e. when annotating an interface with them) is no longer 'throw weird errors', but has been brought in line with the others: A nice error message is generated. Fixes issue #175
2010-12-28Using @Delegate to add a varargs method now works in eclipse (the varargs ↵Reinier Zwitserloot
nature of the method is preserved).
2010-12-24Added detection of type var naming conflicts to eclipse's @Delegate support.Reinier Zwitserloot
2010-12-22val x = foo; is now desugared into "@val type x = foo;" (the @val is added), ↵Reinier Zwitserloot
for javac. Of course, this is NOT done in delombok mode.
2010-12-22After 2 weeks of debugging, finally figured out val in eclipse using ↵Reinier Zwitserloot
lombok.val without breaking 'fix imports'. Eesh. Using "lombok.val" only half-works; auto-complete on the variable doesn't work, but it compiles fine and no errors are reported.
2010-12-22@Delegate in eclipse works when delegating parameterized types now, and will ↵Reinier Zwitserloot
use the parameter names if the delegated element is a source (vs. class) dependency.
2010-12-18Moved all the Compile time constants from the Javac handlers and supporting ↵grootjans
classes
2010-12-01Parameter names are now 'arg0', 'arg1', etc, unless the delegated type is ↵Reinier Zwitserloot
source, then the name is copied over. Compared to javac, this means eclipse's @Delegate does NOT use debug symbols, which we'll have to fix later (We checked out how to do it, and it seems virtually impossible).
2010-12-01@Deprecated is now copied across for eclipse's @DelegateReinier Zwitserloot
2010-12-01@Delegate in eclipse now uses more of the standard infrastructure to inject ↵Reinier Zwitserloot
methods.