aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/interpreter/values/IntegerInterpreterValue.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-02-28 19:18:28 +0000
committerMichael Williamson <mike@zwobble.org>2016-02-29 08:04:42 +0000
commitb7e0010d6e8e5413fcd66eae158111db509eb27b (patch)
tree35fafacd7819788b185f803a0c3797a2f54a1dca /src/main/java/org/zwobble/couscous/interpreter/values/IntegerInterpreterValue.java
parentd3e9fb5ce2a13bdb0ee39e9625494e8c5d2a9383 (diff)
Split ConcreteType up into specialised type implementations
Diffstat (limited to 'src/main/java/org/zwobble/couscous/interpreter/values/IntegerInterpreterValue.java')
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/values/IntegerInterpreterValue.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/main/java/org/zwobble/couscous/interpreter/values/IntegerInterpreterValue.java b/src/main/java/org/zwobble/couscous/interpreter/values/IntegerInterpreterValue.java
index 78da460..f0ce783 100644
--- a/src/main/java/org/zwobble/couscous/interpreter/values/IntegerInterpreterValue.java
+++ b/src/main/java/org/zwobble/couscous/interpreter/values/IntegerInterpreterValue.java
@@ -3,6 +3,8 @@ package org.zwobble.couscous.interpreter.values;
import org.zwobble.couscous.ast.Operator;
import org.zwobble.couscous.interpreter.Environment;
import org.zwobble.couscous.interpreter.errors.NoSuchField;
+import org.zwobble.couscous.interpreter.types.InterpreterType;
+import org.zwobble.couscous.interpreter.types.IntrinsicInterpreterType;
import org.zwobble.couscous.values.BooleanValue;
import org.zwobble.couscous.values.IntegerValue;
import org.zwobble.couscous.values.PrimitiveValue;
@@ -14,7 +16,7 @@ import java.util.function.BiFunction;
import static org.zwobble.couscous.util.ExtraLists.list;
public final class IntegerInterpreterValue implements InterpreterValue {
- public static final ConcreteType TYPE = ConcreteType.builder(IntegerInterpreterValue.class, IntegerValue.REF)
+ public static final InterpreterType TYPE = IntrinsicInterpreterType.builder(IntegerInterpreterValue.class, IntegerValue.REF)
.method(Operator.ADD.getSymbol(), list(IntegerValue.REF), IntegerValue.REF,
infixReturningInteger((left, right) -> left + right))
.method(Operator.SUBTRACT.getSymbol(), list(IntegerValue.REF), IntegerValue.REF,
@@ -71,7 +73,7 @@ public final class IntegerInterpreterValue implements InterpreterValue {
private final int value;
@Override
- public ConcreteType getType() {
+ public InterpreterType getType() {
return TYPE;
}