From 1f7bddd688191857c8a089a810c251cf4c1a8407 Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Sat, 26 Dec 2009 04:11:22 +0100 Subject: Added test suite for issue #93 - apparently this problem (naming your class GetFoo prevents lombok from making a getFoo method) only occurs on eclipse, as the test passes. --- test/delombok/resource/after/ClassNamedAfterGetter.java | 6 ++++++ test/delombok/resource/before/ClassNamedAfterGetter.java | 3 +++ 2 files changed, 9 insertions(+) create mode 100644 test/delombok/resource/after/ClassNamedAfterGetter.java create mode 100644 test/delombok/resource/before/ClassNamedAfterGetter.java diff --git a/test/delombok/resource/after/ClassNamedAfterGetter.java b/test/delombok/resource/after/ClassNamedAfterGetter.java new file mode 100644 index 00000000..74632a81 --- /dev/null +++ b/test/delombok/resource/after/ClassNamedAfterGetter.java @@ -0,0 +1,6 @@ +class GetFoo { + private int foo; + public int getFoo() { + return foo; + } +} diff --git a/test/delombok/resource/before/ClassNamedAfterGetter.java b/test/delombok/resource/before/ClassNamedAfterGetter.java new file mode 100644 index 00000000..fe61eda1 --- /dev/null +++ b/test/delombok/resource/before/ClassNamedAfterGetter.java @@ -0,0 +1,3 @@ +class GetFoo { + @lombok.Getter private int foo; +} -- cgit From 64e8eb8e46e8ec164cad221460b753898a429828 Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Sat, 26 Dec 2009 04:32:24 +0100 Subject: Fix for issue #93: Naming your class GetFoo prevents lombok from making a getFoo method in eclipse. --- .../lombok/eclipse/handlers/EclipseHandlerUtil.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/core/lombok/eclipse/handlers/EclipseHandlerUtil.java b/src/core/lombok/eclipse/handlers/EclipseHandlerUtil.java index e6d700f8..51f5ab4c 100644 --- a/src/core/lombok/eclipse/handlers/EclipseHandlerUtil.java +++ b/src/core/lombok/eclipse/handlers/EclipseHandlerUtil.java @@ -44,6 +44,7 @@ import org.eclipse.jdt.internal.compiler.ast.Expression; import org.eclipse.jdt.internal.compiler.ast.FieldDeclaration; import org.eclipse.jdt.internal.compiler.ast.IfStatement; import org.eclipse.jdt.internal.compiler.ast.MarkerAnnotation; +import org.eclipse.jdt.internal.compiler.ast.MethodDeclaration; import org.eclipse.jdt.internal.compiler.ast.NullLiteral; import org.eclipse.jdt.internal.compiler.ast.OperatorIds; import org.eclipse.jdt.internal.compiler.ast.QualifiedTypeReference; @@ -160,13 +161,15 @@ public class EclipseHandlerUtil { if (node != null && node.get() instanceof TypeDeclaration) { TypeDeclaration typeDecl = (TypeDeclaration)node.get(); if (typeDecl.methods != null) for (AbstractMethodDeclaration def : typeDecl.methods) { - char[] mName = def.selector; - if (mName == null) continue; - boolean nameEquals = caseSensitive ? methodName.equals(new String(mName)) : methodName.equalsIgnoreCase(new String(mName)); - if (nameEquals) { - EclipseNode existing = node.getNodeFor(def); - if (existing == null || !existing.isHandled()) return MemberExistsResult.EXISTS_BY_USER; - return MemberExistsResult.EXISTS_BY_LOMBOK; + if (def instanceof MethodDeclaration) { + char[] mName = def.selector; + if (mName == null) continue; + boolean nameEquals = caseSensitive ? methodName.equals(new String(mName)) : methodName.equalsIgnoreCase(new String(mName)); + if (nameEquals) { + EclipseNode existing = node.getNodeFor(def); + if (existing == null || !existing.isHandled()) return MemberExistsResult.EXISTS_BY_USER; + return MemberExistsResult.EXISTS_BY_LOMBOK; + } } } } -- cgit