mirror of
https://github.com/tiennm99/lombok.git
synced 2026-10-13 06:15:41 +00:00
Merge pull request #3326 from Rawi01/utilityclass-npe
Reset erasure_field of symbol
This commit is contained in:
5 files changed
+66
-2
No files matched your search
@@ -128,8 +128,11 @@ public class HandleUtilityClass extends JavacAnnotationHandler<UtilityClass> {
|
||||
JCClassDecl innerClassDecl = (JCClassDecl) element.get();
|
||||
innerClassDecl.mods.flags |= Flags.STATIC;
|
||||
ClassSymbol innerClassSymbol = innerClassDecl.sym;
|
||||
if (innerClassSymbol != null && innerClassSymbol.type instanceof ClassType) {
|
||||
((ClassType) innerClassSymbol.type).setEnclosingType(Type.noType);
|
||||
if (innerClassSymbol != null) {
|
||||
if (innerClassSymbol.type instanceof ClassType) {
|
||||
((ClassType) innerClassSymbol.type).setEnclosingType(Type.noType);
|
||||
}
|
||||
innerClassSymbol.erasure_field = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ public abstract class Symbol implements Element {
|
||||
public Type type;
|
||||
public Name name;
|
||||
public Symbol owner;
|
||||
public Type erasure_field;
|
||||
|
||||
public long flags() { return 0; }
|
||||
public boolean isStatic() { return false; }
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
final class UtilityClassGeneric {
|
||||
static <T> T convertValue(Class<T> toValueType) {
|
||||
return null;
|
||||
}
|
||||
|
||||
static DTO convert(Object json) {
|
||||
return convertValue(DTO.class);
|
||||
}
|
||||
|
||||
static Object convert(DTO dto) {
|
||||
return null;
|
||||
}
|
||||
|
||||
static class DTO {
|
||||
}
|
||||
|
||||
@java.lang.SuppressWarnings("all")
|
||||
private UtilityClassGeneric() {
|
||||
throw new java.lang.UnsupportedOperationException("This is a utility class and cannot be instantiated");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
import lombok.experimental.UtilityClass;
|
||||
final @UtilityClass class UtilityClassGeneric {
|
||||
static class DTO {
|
||||
DTO() {
|
||||
super();
|
||||
}
|
||||
}
|
||||
static <T>T convertValue(Class<T> toValueType) {
|
||||
return null;
|
||||
}
|
||||
static DTO convert(Object json) {
|
||||
return convertValue(DTO.class);
|
||||
}
|
||||
static Object convert(DTO dto) {
|
||||
return null;
|
||||
}
|
||||
private @java.lang.SuppressWarnings("all") UtilityClassGeneric() {
|
||||
super();
|
||||
throw new java.lang.UnsupportedOperationException("This is a utility class and cannot be instantiated");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
import lombok.experimental.UtilityClass;
|
||||
@UtilityClass
|
||||
class UtilityClassGeneric {
|
||||
<T> T convertValue(Class<T> toValueType) {
|
||||
return null;
|
||||
}
|
||||
|
||||
DTO convert(Object json) {
|
||||
return convertValue(DTO.class);
|
||||
}
|
||||
|
||||
Object convert(DTO dto) {
|
||||
return null;
|
||||
}
|
||||
|
||||
class DTO {
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user