From 7324dc0bd7c70c0be4a28ca2bba5522cceaf277f Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Tue, 6 Oct 2015 13:44:18 +0100 Subject: Add basic implementation of instance methods --- .../couscous/interpreter/values/StringInterpreterValue.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/main/java/org/zwobble/couscous/interpreter/values/StringInterpreterValue.java') diff --git a/src/main/java/org/zwobble/couscous/interpreter/values/StringInterpreterValue.java b/src/main/java/org/zwobble/couscous/interpreter/values/StringInterpreterValue.java index 98165b2..aa3432a 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/values/StringInterpreterValue.java +++ b/src/main/java/org/zwobble/couscous/interpreter/values/StringInterpreterValue.java @@ -16,13 +16,14 @@ import lombok.val; public class StringInterpreterValue implements InterpreterValue { public static final ConcreteType TYPE = ConcreteType.builder(StringInterpreterValue.class, StringValue.REF) .method("length", asList(), - (receiver, arguments) -> new IntegerInterpreterValue(receiver.value.length())) + (environment, arguments) -> + new IntegerInterpreterValue(arguments.getReceiver().value.length())) .method("substring", asList(IntegerValue.REF, IntegerValue.REF), - (receiver, arguments) -> { + (environment, arguments) -> { val startIndex = (IntegerInterpreterValue)arguments.get(0); val endIndex = (IntegerInterpreterValue)arguments.get(1); - return new StringInterpreterValue(receiver.value.substring(startIndex.getValue(), endIndex.getValue())); + return new StringInterpreterValue(arguments.getReceiver().value.substring(startIndex.getValue(), endIndex.getValue())); }) .build(); -- cgit v1.2.3