aboutsummaryrefslogtreecommitdiff
path: root/src/core/lombok/eclipse/handlers
diff options
context:
space:
mode:
authorRoel Spilker <r.spilker@gmail.com>2010-07-25 01:49:58 +0200
committerRoel Spilker <r.spilker@gmail.com>2010-07-25 01:49:58 +0200
commitacb0e52bc09a66e9a5b5446c374cbc90a732762a (patch)
treeb57a208be83f1624d69e500f3e15c61d3cb8f631 /src/core/lombok/eclipse/handlers
parent9bc463231524e634091b314376ff5a38cc5cbb51 (diff)
downloadlombok-acb0e52bc09a66e9a5b5446c374cbc90a732762a.tar.gz
lombok-acb0e52bc09a66e9a5b5446c374cbc90a732762a.tar.bz2
lombok-acb0e52bc09a66e9a5b5446c374cbc90a732762a.zip
Do not generate @ConstructorProperties for method-local classes
Diffstat (limited to 'src/core/lombok/eclipse/handlers')
-rw-r--r--src/core/lombok/eclipse/handlers/HandleConstructor.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/core/lombok/eclipse/handlers/HandleConstructor.java b/src/core/lombok/eclipse/handlers/HandleConstructor.java
index 6c857c34..91733839 100644
--- a/src/core/lombok/eclipse/handlers/HandleConstructor.java
+++ b/src/core/lombok/eclipse/handlers/HandleConstructor.java
@@ -256,13 +256,20 @@ public class HandleConstructor {
constructor.statements = nullChecks.isEmpty() ? null : nullChecks.toArray(new Statement[nullChecks.size()]);
constructor.arguments = params.isEmpty() ? null : params.toArray(new Argument[params.size()]);
- if (!suppressConstructorProperties && level != AccessLevel.PRIVATE) {
+ if (!suppressConstructorProperties && level != AccessLevel.PRIVATE && !isLocalType(type)) {
constructor.annotations = createConstructorProperties(source, constructor.annotations, fields);
}
return constructor;
}
+ private boolean isLocalType(EclipseNode type) {
+ Kind kind = type.up().getKind();
+ if (kind == Kind.COMPILATION_UNIT) return false;
+ if (kind == Kind.TYPE) return isLocalType(type.up());
+ return true;
+ }
+
private MethodDeclaration createStaticConstructor(AccessLevel level, String name, EclipseNode type, Collection<EclipseNode> fields, ASTNode source) {
int pS = source.sourceStart, pE = source.sourceEnd;
long p = (long)pS << 32 | pE;