diff options
Diffstat (limited to 'src/main/java/org/zwobble/couscous/interpreter/values')
3 files changed, 7 insertions, 8 deletions
diff --git a/src/main/java/org/zwobble/couscous/interpreter/values/InstanceReceiverValue.java b/src/main/java/org/zwobble/couscous/interpreter/values/InstanceReceiverValue.java index cdc2167..77effc9 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/values/InstanceReceiverValue.java +++ b/src/main/java/org/zwobble/couscous/interpreter/values/InstanceReceiverValue.java @@ -1,11 +1,10 @@ package org.zwobble.couscous.interpreter.values; import org.zwobble.couscous.ast.MethodSignature; +import org.zwobble.couscous.interpreter.Arguments; import org.zwobble.couscous.interpreter.Environment; import org.zwobble.couscous.interpreter.types.InterpreterType; -import java.util.List; - public class InstanceReceiverValue implements ReceiverValue { private final InterpreterValue value; @@ -14,7 +13,7 @@ public class InstanceReceiverValue implements ReceiverValue { } @Override - public InterpreterValue callMethod(Environment environment, MethodSignature signature, List<InterpreterValue> arguments) { + public InterpreterValue callMethod(Environment environment, MethodSignature signature, Arguments arguments) { InterpreterType type = value.getType(); return type.callMethod(environment, value, signature, arguments); } diff --git a/src/main/java/org/zwobble/couscous/interpreter/values/ReceiverValue.java b/src/main/java/org/zwobble/couscous/interpreter/values/ReceiverValue.java index 5d6d804..b4c0dbc 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/values/ReceiverValue.java +++ b/src/main/java/org/zwobble/couscous/interpreter/values/ReceiverValue.java @@ -1,12 +1,11 @@ package org.zwobble.couscous.interpreter.values; import org.zwobble.couscous.ast.MethodSignature; +import org.zwobble.couscous.interpreter.Arguments; import org.zwobble.couscous.interpreter.Environment; -import java.util.List; - public interface ReceiverValue { - InterpreterValue callMethod(Environment environment, MethodSignature signature, List<InterpreterValue> arguments); + InterpreterValue callMethod(Environment environment, MethodSignature signature, Arguments arguments); InterpreterValue getField(String fieldName); void setField(String fieldName, InterpreterValue value); } diff --git a/src/main/java/org/zwobble/couscous/interpreter/values/StaticReceiverValue.java b/src/main/java/org/zwobble/couscous/interpreter/values/StaticReceiverValue.java index deca938..51a1736 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/values/StaticReceiverValue.java +++ b/src/main/java/org/zwobble/couscous/interpreter/values/StaticReceiverValue.java @@ -1,6 +1,7 @@ package org.zwobble.couscous.interpreter.values; import org.zwobble.couscous.ast.MethodSignature; +import org.zwobble.couscous.interpreter.Arguments; import org.zwobble.couscous.interpreter.Environment; import org.zwobble.couscous.interpreter.Executor; import org.zwobble.couscous.interpreter.types.InterpreterType; @@ -20,7 +21,7 @@ public class StaticReceiverValue implements ReceiverValue { } @Override - public InterpreterValue callMethod(Environment environment, MethodSignature signature, List<InterpreterValue> arguments) { + public InterpreterValue callMethod(Environment environment, MethodSignature signature, Arguments arguments) { return type.callStaticMethod(environment, signature, arguments); } @@ -38,7 +39,7 @@ public class StaticReceiverValue implements ReceiverValue { Executor.exec(environment, type.getStaticConstructor()); } - public InterpreterValue callConstructor(Environment environment, Optional<List<Type>> typeParameters, List<InterpreterValue> arguments) { + public InterpreterValue callConstructor(Environment environment, Optional<List<Type>> typeParameters, Arguments arguments) { InterpreterType objectType = typeParameters .<InterpreterType>map(parameters -> new ParameterizedInterpreterType(type, parameters)) .orElse(type); |
