fix for the issue 1228. @NoArgsConstructor(force = true) fails on primitive arrays in Eclipse

This commit is contained in:
Bulgakov Alexander committed 2016-11-11 20:22:12 +03:00
1 parent 4d9da60f4f
commit d317eda711
4 files changed
+37

No files matched your search

@@ -48,6 +48,7 @@ import org.eclipse.jdt.internal.compiler.ast.AllocationExpression;
import org.eclipse.jdt.internal.compiler.ast.Annotation;
import org.eclipse.jdt.internal.compiler.ast.Argument;
import org.eclipse.jdt.internal.compiler.ast.ArrayInitializer;
import org.eclipse.jdt.internal.compiler.ast.ArrayTypeReference;
import org.eclipse.jdt.internal.compiler.ast.Assignment;
import org.eclipse.jdt.internal.compiler.ast.CharLiteral;
import org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration;
@@ -381,6 +382,8 @@ public class HandleConstructor {
}
private static Expression getDefaultExpr(TypeReference type, int s, int e) {
boolean array = type instanceof ArrayTypeReference;
if (array) return new NullLiteral(s, e);
char[] lastToken = type.getLastToken();
if (Arrays.equals(TypeConstants.BOOLEAN, lastToken)) return new FalseLiteral(s, e);
if (Arrays.equals(TypeConstants.CHAR, lastToken)) return new CharLiteral(new char[] {'\'', '\\', '0', '\''}, s, e);
@@ -0,0 +1,14 @@
public class NoArgsConstructorForce {
private final int[] i;
private final Object[] o;
private final java.util.List<?>[] fullQualifiedList;
@java.lang.SuppressWarnings("all")
@javax.annotation.Generated("lombok")
public NoArgsConstructorForce() {
this.i = null;
this.o = null;
this.fullQualifiedList = null;
}
}
@@ -0,0 +1,12 @@
import lombok.NoArgsConstructor;
public @NoArgsConstructor(force = true) class NoArgsConstructorForce {
private final int[] i;
private final Object[] o;
private final java.util.List<?>[] fullQualifiedList;
public @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") NoArgsConstructorForce() {
super();
this.i = null;
this.o = null;
this.fullQualifiedList = null;
}
}
@@ -0,0 +1,8 @@
import lombok.NoArgsConstructor;
@NoArgsConstructor(force = true)
public class NoArgsConstructorForce {
private final int[] i;
private final Object[] o;
private final java.util.List<?>[] fullQualifiedList;
}