From 2e7d1bb669e3ee26efe060ca5ea92ef73cebff83 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 6 Feb 2016 17:38:26 +0000 Subject: Add return type to MethodSignature --- src/test/java/org/zwobble/couscous/tests/MethodRunner.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/test/java/org/zwobble/couscous/tests/MethodRunner.java') diff --git a/src/test/java/org/zwobble/couscous/tests/MethodRunner.java b/src/test/java/org/zwobble/couscous/tests/MethodRunner.java index ed486fc..59b71f9 100644 --- a/src/test/java/org/zwobble/couscous/tests/MethodRunner.java +++ b/src/test/java/org/zwobble/couscous/tests/MethodRunner.java @@ -14,7 +14,14 @@ public interface MethodRunner { List classNodes, TypeName className, String methodName, - List arguments); + List arguments, TypeName returnType); + + + default PrimitiveValue runMethod(List classNodes, TypeName className, String methodName, List arguments) { + ClassNode classNode = Iterables.find(classNodes, c -> c.getName().equals(className)); + MethodNode method = Iterables.find(classNode.getMethods(), m -> m.getName().equals(methodName)); + return runMethod(classNodes, className, methodName, arguments, method.getReturnType()); + } default PrimitiveValue evalExpression(List classes, ExpressionNode expression) { ClassNode programNode = ClassNode.builder("Program") @@ -29,6 +36,7 @@ public interface MethodRunner { list(programNode))), programNode.getName(), "run", - list()); + list(), + expression.getType()); } } -- cgit v1.2.3