diff options
Diffstat (limited to 'container-compiler-plugin/src/main/java/io/trygvis/container/compiler/model/TypeRef.java')
-rw-r--r-- | container-compiler-plugin/src/main/java/io/trygvis/container/compiler/model/TypeRef.java | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/container-compiler-plugin/src/main/java/io/trygvis/container/compiler/model/TypeRef.java b/container-compiler-plugin/src/main/java/io/trygvis/container/compiler/model/TypeRef.java index 2e679a5..c329ab3 100644 --- a/container-compiler-plugin/src/main/java/io/trygvis/container/compiler/model/TypeRef.java +++ b/container-compiler-plugin/src/main/java/io/trygvis/container/compiler/model/TypeRef.java @@ -2,6 +2,7 @@ package io.trygvis.container.compiler.model; import javax.lang.model.type.TypeKind; import javax.lang.model.type.TypeMirror; +import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -39,9 +40,9 @@ public class TypeRef implements Comparable<TypeRef> { public final boolean array; - public final List<TypeRef> args; + public final List<String> args; - private TypeRef(String fqName, String name, boolean primitive, boolean array, List<TypeRef> args) { + private TypeRef(String fqName, String name, boolean primitive, boolean array, List<String> args) { this.fqName = fqName; this.plainName = name; this.primitive = primitive; @@ -61,7 +62,7 @@ public class TypeRef implements Comparable<TypeRef> { } public TypeRef(Class<?> klass) { - this(fqName(klass), fqName(klass), false, klass.isArray(), Collections.<TypeRef>emptyList()); + this(fqName(klass), fqName(klass), false, klass.isArray(), Collections.<String>emptyList()); } private static String fqName(Class<?> klass) { @@ -74,14 +75,14 @@ public class TypeRef implements Comparable<TypeRef> { } public TypeRef(String fqName) { - this(fqName, fqName, false, false, Collections.<TypeRef>emptyList()); + this(fqName, fqName, false, false, Collections.<String>emptyList()); } - public TypeRef(String fqName, String name, boolean array, List<TypeRef> args) { + public TypeRef(String fqName, String name, boolean array, List<String> args) { this(fqName, name, false, array, args); } - public TypeRef args(List<TypeRef> args) { + public TypeRef args(List<String> args) { return new TypeRef(fqName, plainName, primitive, array, args); } @@ -108,6 +109,14 @@ public class TypeRef implements Comparable<TypeRef> { } public TypeRef args(TypeRef... args) { + List<String> list = new ArrayList<>(); + for (TypeRef arg : args) { + list.add(arg.plainName); + } + return args(list); + } + + public TypeRef args(String... args) { return args(asList(args)); } |