diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-01-06 08:16:52 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-01-06 08:18:18 +0000 |
| commit | e4229671c4cf6db860fc6cf68bcfb8fdd69fdcb8 (patch) | |
| tree | b8f61f97f0e9af47f90f49e0debaf061d07f9229 /src/main/java/org/zwobble/couscous/interpreter/Interpreter.java | |
| parent | 5eafcf8cb10546916d4b38c3208ebfdfafff93e4 (diff) | |
Support method overloading in interpreter
Diffstat (limited to 'src/main/java/org/zwobble/couscous/interpreter/Interpreter.java')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/interpreter/Interpreter.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/main/java/org/zwobble/couscous/interpreter/Interpreter.java b/src/main/java/org/zwobble/couscous/interpreter/Interpreter.java index 95510cd..b506fdf 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/Interpreter.java +++ b/src/main/java/org/zwobble/couscous/interpreter/Interpreter.java @@ -9,6 +9,8 @@ import org.zwobble.couscous.interpreter.values.InterpreterValue; import com.google.common.collect.ImmutableMap; +import static org.zwobble.couscous.util.ExtraLists.eagerMap; + public class Interpreter { private Project project; @@ -23,6 +25,9 @@ public class Interpreter { ImmutableMap.of()); ConcreteType clazz = environment.findClass(className); - return clazz.callStaticMethod(environment, methodName, arguments); + MethodSignature signature = new MethodSignature( + methodName, + eagerMap(arguments, argument -> argument.getType().getName())); + return clazz.callStaticMethod(environment, signature, arguments); } }
\ No newline at end of file |
