diff options
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.java | 17 |
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; + } } |