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 | 9 |
1 files changed, 8 insertions, 1 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 a59e9a6..ee83fa9 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,5 +1,6 @@ package io.trygvis.container.compiler.model; +import java.lang.reflect.Modifier; import java.util.List; import java.util.Set; import java.util.TreeSet; @@ -9,15 +10,21 @@ import static java.util.Collections.addAll; public class MethodRef { public final TypeRef returnType; public final String name; + public final int modifiers; public final ParameterRef[] parameters; public final Set<TypeRef> exceptions = new TreeSet<>(); public final List<String> body; - public MethodRef(TypeRef returnType, String name, ParameterRef[] parameters, List<String> body) { + public MethodRef(int modifiers, TypeRef returnType, String name, ParameterRef[] parameters, List<String> body) { + this.modifiers = modifiers; this.returnType = returnType; this.name = name; this.parameters = parameters; this.body = body; + + if ((Modifier.methodModifiers() & modifiers) != modifiers) { + throw new RuntimeException("Invalid modifiers for method: " + Modifier.toString(modifiers)); + } } public MethodRef exception(TypeRef... exceptions) { |