Solved issue 155: "Eclipse constructor generation not in class body" http://code.google.com/p/projectlombok/issues/detail?id=155

Now all lombok generated methods are located before any other method.
This commit is contained in:
Roel Spilker committed 2010-11-07 15:16:48 +01:00
1 parent 378b939108
commit 2097dd8731
19 files changed
+153 -135

No files matched your search

@@ -460,25 +460,42 @@ public class EclipseHandlerUtil {
parent.methods = new AbstractMethodDeclaration[1];
parent.methods[0] = method;
} else {
boolean injectionComplete = false;
if (method instanceof ConstructorDeclaration) {
for (int i = 0 ; i < parent.methods.length ; i++) {
if (parent.methods[i] instanceof ConstructorDeclaration &&
(parent.methods[i].bits & ASTNode.IsDefaultConstructor) != 0) {
EclipseNode tossMe = type.getNodeFor(parent.methods[i]);
parent.methods[i] = method;
AbstractMethodDeclaration[] withoutGeneratedConstructor = new AbstractMethodDeclaration[parent.methods.length - 1];
System.arraycopy(parent.methods, 0, withoutGeneratedConstructor, 0, i);
System.arraycopy(parent.methods, i + 1, withoutGeneratedConstructor, i, parent.methods.length - i - 1);
parent.methods = withoutGeneratedConstructor;
if (tossMe != null) tossMe.up().removeChild(tossMe);
injectionComplete = true;
break;
}
}
}
if (!injectionComplete) {
AbstractMethodDeclaration[] newArray = new AbstractMethodDeclaration[parent.methods.length + 1];
System.arraycopy(parent.methods, 0, newArray, 0, parent.methods.length);
newArray[parent.methods.length] = method;
parent.methods = newArray;
int insertionPoint;
for (insertionPoint = 0; insertionPoint < parent.methods.length; insertionPoint++) {
AbstractMethodDeclaration current = parent.methods[insertionPoint];
if (current instanceof Clinit) continue;
if (method instanceof ConstructorDeclaration) {
if (current instanceof ConstructorDeclaration) continue;
break;
}
if (Eclipse.isGenerated(current)) continue;
break;
}
AbstractMethodDeclaration[] newArray = new AbstractMethodDeclaration[parent.methods.length + 1];
System.arraycopy(parent.methods, 0, newArray, 0, insertionPoint);
if (insertionPoint <= parent.methods.length) {
System.arraycopy(parent.methods, insertionPoint, newArray, insertionPoint + 1, parent.methods.length - insertionPoint);
}
newArray[insertionPoint] = method;
parent.methods = newArray;
}
type.add(method, Kind.METHOD).recursiveSetHandled();
@@ -1,9 +1,9 @@
class GetFoo {
private @lombok.Getter int foo;
GetFoo() {
super();
}
public @java.lang.SuppressWarnings("all") int getFoo() {
return this.foo;
}
GetFoo() {
super();
}
}
@@ -2,11 +2,11 @@ import lombok.Getter;
public class CommentsInterspersed {
private int x;
private @Getter String test = "foo";
public @java.lang.SuppressWarnings("all") String getTest() {
return this.test;
}
public CommentsInterspersed() {
super();
}
public native void gwtTest();
public @java.lang.SuppressWarnings("all") String getTest() {
return this.test;
}
}
@@ -10,9 +10,6 @@ class GetterAccessLevel {
@lombok.Getter(lombok.AccessLevel.PROTECTED) String protectedString;
@lombok.Getter(lombok.AccessLevel.PUBLIC) String publicString;
@lombok.Getter(value = lombok.AccessLevel.PUBLIC) String value;
GetterAccessLevel() {
super();
}
private @java.lang.SuppressWarnings("all") boolean isPrivate() {
return this.isPrivate;
}
@@ -40,4 +37,7 @@ class GetterAccessLevel {
public @java.lang.SuppressWarnings("all") String getValue() {
return this.value;
}
GetterAccessLevel() {
super();
}
}
@@ -27,27 +27,27 @@ class Getter3 {
}
class Getter4 {
@lombok.Getter String foo;
public @java.lang.SuppressWarnings("all") String getFoo() {
return this.foo;
}
Getter4() {
super();
}
String hasFoo() {
return null;
}
public @java.lang.SuppressWarnings("all") String getFoo() {
return this.foo;
}
}
class Getter5 {
@lombok.Getter String foo;
public @java.lang.SuppressWarnings("all") String getFoo() {
return this.foo;
}
Getter5() {
super();
}
String isFoo() {
return null;
}
public @java.lang.SuppressWarnings("all") String getFoo() {
return this.foo;
}
}
class Getter6 {
@lombok.Getter String foo;
@@ -60,27 +60,27 @@ class Getter6 {
}
class Getter7 {
@lombok.Getter String foo;
public @java.lang.SuppressWarnings("all") String getFoo() {
return this.foo;
}
Getter7() {
super();
}
boolean hasFoo() {
return false;
}
public @java.lang.SuppressWarnings("all") String getFoo() {
return this.foo;
}
}
class Getter8 {
@lombok.Getter String foo;
public @java.lang.SuppressWarnings("all") String getFoo() {
return this.foo;
}
Getter8() {
super();
}
boolean isFoo() {
return false;
}
public @java.lang.SuppressWarnings("all") String getFoo() {
return this.foo;
}
}
class Getter9 {
@lombok.Getter String foo;
@@ -120,27 +120,27 @@ class Getter12 {
}
class Getter13 {
@lombok.Getter String foo;
public @java.lang.SuppressWarnings("all") String getFoo() {
return this.foo;
}
Getter13() {
super();
}
static boolean hasFoo() {
return false;
}
public @java.lang.SuppressWarnings("all") String getFoo() {
return this.foo;
}
}
class Getter14 {
@lombok.Getter String foo;
public @java.lang.SuppressWarnings("all") String getFoo() {
return this.foo;
}
Getter14() {
super();
}
static boolean isFoo() {
return false;
}
public @java.lang.SuppressWarnings("all") String getFoo() {
return this.foo;
}
}
class Getter15 {
@lombok.Getter String foo;
@@ -153,27 +153,27 @@ class Getter15 {
}
class Getter16 {
@lombok.Getter String foo;
public @java.lang.SuppressWarnings("all") String getFoo() {
return this.foo;
}
Getter16() {
super();
}
static String hasFoo() {
return false;
}
public @java.lang.SuppressWarnings("all") String getFoo() {
return this.foo;
}
}
class Getter17 {
@lombok.Getter String foo;
public @java.lang.SuppressWarnings("all") String getFoo() {
return this.foo;
}
Getter17() {
super();
}
static String isFoo() {
return false;
}
public @java.lang.SuppressWarnings("all") String getFoo() {
return this.foo;
}
}
class Getter18 {
@lombok.Getter String foo;
@@ -2,9 +2,6 @@ class Getter {
@lombok.Getter boolean foo;
@lombok.Getter boolean isBar;
@lombok.Getter boolean hasBaz;
Getter() {
super();
}
public @java.lang.SuppressWarnings("all") boolean isFoo() {
return this.foo;
}
@@ -14,6 +11,9 @@ class Getter {
public @java.lang.SuppressWarnings("all") boolean hasBaz() {
return this.hasBaz;
}
Getter() {
super();
}
}
class MoreGetter {
@lombok.Getter boolean foo;
@@ -1,67 +1,68 @@
@lombok.Getter class GetterOnClass1 {
@lombok.Getter(lombok.AccessLevel.NONE) boolean isNone;
boolean isPublic;
GetterOnClass1() {
super();
}
public @java.lang.SuppressWarnings("all") boolean isPublic() {
return this.isPublic;
}
GetterOnClass1() {
super();
}
}
@lombok.Getter(lombok.AccessLevel.PROTECTED) class GetterOnClass2 {
@lombok.Getter(lombok.AccessLevel.NONE) boolean isNone;
boolean isProtected;
@lombok.Getter(lombok.AccessLevel.PACKAGE) boolean isPackage;
GetterOnClass2() {
super();
}
@java.lang.SuppressWarnings("all") boolean isPackage() {
return this.isPackage;
}
protected @java.lang.SuppressWarnings("all") boolean isProtected() {
return this.isProtected;
}
GetterOnClass2() {
super();
}
}
@lombok.Getter(lombok.AccessLevel.PACKAGE) class GetterOnClass3 {
@lombok.Getter(lombok.AccessLevel.NONE) boolean isNone;
boolean isPackage;
GetterOnClass3() {
super();
}
@java.lang.SuppressWarnings("all") boolean isPackage() {
return this.isPackage;
}
GetterOnClass3() {
super();
}
}
@lombok.Getter(lombok.AccessLevel.PRIVATE) class GetterOnClass4 {
@lombok.Getter(lombok.AccessLevel.NONE) boolean isNone;
boolean isPrivate;
GetterOnClass4() {
super();
}
private @java.lang.SuppressWarnings("all") boolean isPrivate() {
return this.isPrivate;
}
GetterOnClass4() {
super();
}
}
@lombok.Getter(lombok.AccessLevel.PUBLIC) class GetterOnClass5 {
@lombok.Getter(lombok.AccessLevel.NONE) boolean isNone;
boolean isPublic;
GetterOnClass5() {
super();
}
public @java.lang.SuppressWarnings("all") boolean isPublic() {
return this.isPublic;
}
GetterOnClass5() {
super();
}
}
@lombok.Getter class GetterOnClass6 {
String couldBeNull;
@lombok.NonNull String nonNull;
GetterOnClass6() {
super();
}
public @java.lang.SuppressWarnings("all") String getCouldBeNull() {
return this.couldBeNull;
}
public @lombok.NonNull @java.lang.SuppressWarnings("all") String getNonNull() {
return this.nonNull;
}
}
GetterOnClass6() {
super();
}
}
@@ -3,13 +3,13 @@ class Getter {
static @lombok.Getter int bar;
<clinit>() {
}
Getter() {
super();
}
public static @java.lang.SuppressWarnings("all") boolean isFoo() {
return Getter.foo;
}
public static @java.lang.SuppressWarnings("all") int getBar() {
return Getter.bar;
}
Getter() {
super();
}
}
@@ -2,13 +2,13 @@ import lombok.Getter;
class GetterPlain {
@lombok.Getter int i;
@Getter int foo;
GetterPlain() {
super();
}
public @java.lang.SuppressWarnings("all") int getI() {
return this.i;
}
public @java.lang.SuppressWarnings("all") int getFoo() {
return this.foo;
}
GetterPlain() {
super();
}
}
@@ -1,22 +1,22 @@
class GetterWithDollar1 {
@lombok.Getter int $i;
GetterWithDollar1() {
super();
}
public @java.lang.SuppressWarnings("all") int get$i() {
return this.$i;
}
GetterWithDollar1() {
super();
}
}
class GetterWithDollar2 {
@lombok.Getter int $i;
@lombok.Getter int i;
GetterWithDollar2() {
super();
}
public @java.lang.SuppressWarnings("all") int get$i() {
return this.$i;
}
public @java.lang.SuppressWarnings("all") int getI() {
return this.i;
}
GetterWithDollar2() {
super();
}
}
@@ -3,26 +3,26 @@ import lombok.AccessLevel;
class MultiFieldGetter {
@Getter(AccessLevel.PROTECTED) int x;
@Getter(AccessLevel.PROTECTED) int y;
MultiFieldGetter() {
super();
}
protected @java.lang.SuppressWarnings("all") int getX() {
return this.x;
}
protected @java.lang.SuppressWarnings("all") int getY() {
return this.y;
}
MultiFieldGetter() {
super();
}
}
@Getter class MultiFieldGetter2 {
@Getter(AccessLevel.PACKAGE) int x;
@Getter(AccessLevel.PACKAGE) int y;
MultiFieldGetter2() {
super();
}
@java.lang.SuppressWarnings("all") int getX() {
return this.x;
}
@java.lang.SuppressWarnings("all") int getY() {
return this.y;
}
MultiFieldGetter2() {
super();
}
}
@@ -1,9 +1,6 @@
class NonNullPlain {
@lombok.Setter @lombok.NonNull @lombok.Getter int i;
@lombok.Getter @lombok.Setter @lombok.NonNull String s;
NonNullPlain() {
super();
}
public @java.lang.SuppressWarnings("all") void setI(final @lombok.NonNull int i) {
this.i = i;
}
@@ -18,4 +15,7 @@ class NonNullPlain {
throw new java.lang.NullPointerException("s");
this.s = s;
}
NonNullPlain() {
super();
}
}
@@ -5,9 +5,6 @@ class SetterAccessLevel {
@lombok.Setter(lombok.AccessLevel.PROTECTED) boolean isProtected;
@lombok.Setter(lombok.AccessLevel.PUBLIC) boolean isPublic;
@lombok.Setter(value = lombok.AccessLevel.PUBLIC) boolean value;
SetterAccessLevel() {
super();
}
private @java.lang.SuppressWarnings("all") void setIsPrivate(final boolean isPrivate) {
this.isPrivate = isPrivate;
}
@@ -23,4 +20,7 @@ class SetterAccessLevel {
public @java.lang.SuppressWarnings("all") void setValue(final boolean value) {
this.value = value;
}
SetterAccessLevel() {
super();
}
}
@@ -1,63 +1,60 @@
@lombok.Setter class SetterOnClass1 {
@lombok.Setter(lombok.AccessLevel.NONE) boolean isNone;
boolean isPublic;
SetterOnClass1() {
super();
}
public @java.lang.SuppressWarnings("all") void setIsPublic(final boolean isPublic) {
this.isPublic = isPublic;
}
SetterOnClass1() {
super();
}
}
@lombok.Setter(lombok.AccessLevel.PROTECTED) class SetterOnClass2 {
@lombok.Setter(lombok.AccessLevel.NONE) boolean isNone;
boolean isProtected;
@lombok.Setter(lombok.AccessLevel.PACKAGE) boolean isPackage;
SetterOnClass2() {
super();
}
@java.lang.SuppressWarnings("all") void setIsPackage(final boolean isPackage) {
this.isPackage = isPackage;
}
protected @java.lang.SuppressWarnings("all") void setIsProtected(final boolean isProtected) {
this.isProtected = isProtected;
}
SetterOnClass2() {
super();
}
}
@lombok.Setter(lombok.AccessLevel.PACKAGE) class SetterOnClass3 {
@lombok.Setter(lombok.AccessLevel.NONE) boolean isNone;
boolean isPackage;
SetterOnClass3() {
super();
}
@java.lang.SuppressWarnings("all") void setIsPackage(final boolean isPackage) {
this.isPackage = isPackage;
}
SetterOnClass3() {
super();
}
}
@lombok.Setter(lombok.AccessLevel.PRIVATE) class SetterOnClass4 {
@lombok.Setter(lombok.AccessLevel.NONE) boolean isNone;
boolean isPrivate;
SetterOnClass4() {
super();
}
private @java.lang.SuppressWarnings("all") void setIsPrivate(final boolean isPrivate) {
this.isPrivate = isPrivate;
}
SetterOnClass4() {
super();
}
}
@lombok.Setter(lombok.AccessLevel.PUBLIC) class SetterOnClass5 {
@lombok.Setter(lombok.AccessLevel.NONE) boolean isNone;
boolean isPublic;
SetterOnClass5() {
super();
}
public @java.lang.SuppressWarnings("all") void setIsPublic(final boolean isPublic) {
this.isPublic = isPublic;
}
SetterOnClass5() {
super();
}
}
@lombok.Setter class SetterOnClass6 {
String couldBeNull;
@lombok.NonNull String nonNull;
SetterOnClass6() {
super();
}
public @java.lang.SuppressWarnings("all") void setCouldBeNull(final String couldBeNull) {
this.couldBeNull = couldBeNull;
}
@@ -66,4 +63,7 @@
throw new java.lang.NullPointerException("nonNull");
this.nonNull = nonNull;
}
SetterOnClass6() {
super();
}
}
@@ -3,13 +3,13 @@ class Setter {
static @lombok.Setter int bar;
<clinit>() {
}
Setter() {
super();
}
public static @java.lang.SuppressWarnings("all") void setFoo(final boolean foo) {
Setter.foo = foo;
}
public static @java.lang.SuppressWarnings("all") void setBar(final int bar) {
Setter.bar = bar;
}
Setter() {
super();
}
}
@@ -2,13 +2,13 @@ import lombok.Setter;
class SetterPlain {
@lombok.Setter int i;
@Setter int foo;
SetterPlain() {
super();
}
public @java.lang.SuppressWarnings("all") void setI(final int i) {
this.i = i;
}
public @java.lang.SuppressWarnings("all") void setFoo(final int foo) {
this.foo = foo;
}
SetterPlain() {
super();
}
}
@@ -1,22 +1,22 @@
class SetterWithDollar1 {
@lombok.Setter int $i;
SetterWithDollar1() {
super();
}
public @java.lang.SuppressWarnings("all") void set$i(final int $i) {
this.$i = $i;
}
SetterWithDollar1() {
super();
}
}
class SetterWithDollar2 {
@lombok.Setter int $i;
@lombok.Setter int i;
SetterWithDollar2() {
super();
}
public @java.lang.SuppressWarnings("all") void set$i(final int $i) {
this.$i = $i;
}
public @java.lang.SuppressWarnings("all") void setI(final int i) {
this.i = i;
}
SetterWithDollar2() {
super();
}
}
@@ -2,31 +2,31 @@ import lombok.ToString;
@ToString class ToStringOuter {
@ToString class ToStringInner {
final int y;
ToStringInner() {
super();
}
public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
return (("ToStringOuter.ToStringInner(y=" + this.y) + ")");
}
ToStringInner() {
super();
}
}
static @ToString class ToStringStaticInner {
final int y;
ToStringStaticInner() {
super();
}
public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
return (("ToStringOuter.ToStringStaticInner(y=" + this.y) + ")");
}
ToStringStaticInner() {
super();
}
}
class ToStringMiddle {
@ToString class ToStringMoreInner {
final String name;
ToStringMoreInner() {
super();
}
public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
return (("ToStringOuter.ToStringMiddle.ToStringMoreInner(name=" + this.name) + ")");
}
ToStringMoreInner() {
super();
}
}
ToStringMiddle() {
super();
@@ -34,10 +34,10 @@ import lombok.ToString;
}
final int x;
String name;
ToStringOuter() {
super();
}
public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
return (((("ToStringOuter(x=" + this.x) + ", name=") + this.name) + ")");
}
ToStringOuter() {
super();
}
}
@@ -2,20 +2,20 @@ import lombok.ToString;
@lombok.ToString class ToString1 {
final int x;
String name;
ToString1() {
super();
}
public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
return (((("ToString1(x=" + this.x) + ", name=") + this.name) + ")");
}
ToString1() {
super();
}
}
@ToString class ToString2 {
final int x;
String name;
ToString2() {
super();
}
public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
return (((("ToString2(x=" + this.x) + ", name=") + this.name) + ")");
}
ToString2() {
super();
}
}