summaryrefslogtreecommitdiff
path: root/container-compiler-plugin/src/main/java/io/trygvis/container/compiler/model/MethodRef.java
diff options
context:
space:
mode:
Diffstat (limited to 'container-compiler-plugin/src/main/java/io/trygvis/container/compiler/model/MethodRef.java')
-rw-r--r--container-compiler-plugin/src/main/java/io/trygvis/container/compiler/model/MethodRef.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/container-compiler-plugin/src/main/java/io/trygvis/container/compiler/model/MethodRef.java b/container-compiler-plugin/src/main/java/io/trygvis/container/compiler/model/MethodRef.java
index 902d25a..952a1e5 100644
--- a/container-compiler-plugin/src/main/java/io/trygvis/container/compiler/model/MethodRef.java
+++ b/container-compiler-plugin/src/main/java/io/trygvis/container/compiler/model/MethodRef.java
@@ -1,11 +1,14 @@
package io.trygvis.container.compiler.model;
import java.lang.reflect.Modifier;
+import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
+import static java.util.Arrays.asList;
import static java.util.Collections.addAll;
+import static java.util.Collections.singletonList;
public class MethodRef {
public final TypeRef returnType;
@@ -13,8 +16,17 @@ public class MethodRef {
public final int modifiers;
public final Parameters parameters;
public final Set<TypeRef> exceptions = new TreeSet<>();
+ public final List<String> typeArgs = new ArrayList<>();
public final List<String> body;
+ public MethodRef(int modifiers, TypeRef returnType, String name, String body) {
+ this(modifiers, returnType, name, new Parameters(), singletonList(body));
+ }
+
+ public MethodRef(int modifiers, TypeRef returnType, String name, Parameters p, String... body) {
+ this(modifiers, returnType, name, p, asList(body));
+ }
+
public MethodRef(int modifiers, TypeRef returnType, String name, Parameters parameters, List<String> body) {
this.modifiers = modifiers;
this.returnType = returnType;
@@ -31,4 +43,9 @@ public class MethodRef {
addAll(this.exceptions, exceptions);
return this;
}
+
+ public MethodRef typeArgs(String... args) {
+ addAll(typeArgs, args);
+ return this;
+ }
}