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.java9
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) {