summaryrefslogtreecommitdiff
path: root/container-compiler-plugin/src/main/java/io/trygvis/container/compiler/model/TypeRef.java
diff options
context:
space:
mode:
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.java21
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));
}