diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-01-10 20:01:53 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-01-10 20:01:53 +0000 |
| commit | 7d4fee9187aeb5f8fede67944402921c9f7bb3f7 (patch) | |
| tree | 2c5ba8c3e11b097df523ed1a7a6b5af9685e5bc1 /src/main/java/org/zwobble/couscous/values | |
| parent | b35303b621aa02f7c74143ae089a722d6934a153 (diff) | |
Simplify primitive value visitor interface
Diffstat (limited to 'src/main/java/org/zwobble/couscous/values')
6 files changed, 12 insertions, 11 deletions
diff --git a/src/main/java/org/zwobble/couscous/values/BooleanValue.java b/src/main/java/org/zwobble/couscous/values/BooleanValue.java index 1d2c0a4..5ceceb2 100644 --- a/src/main/java/org/zwobble/couscous/values/BooleanValue.java +++ b/src/main/java/org/zwobble/couscous/values/BooleanValue.java @@ -1,7 +1,6 @@ package org.zwobble.couscous.values; import org.zwobble.couscous.ast.TypeName; -import org.zwobble.couscous.interpreter.values.InterpreterValue; public final class BooleanValue implements PrimitiveValue { public static final TypeName REF = TypeName.of("boolean"); @@ -13,7 +12,7 @@ public final class BooleanValue implements PrimitiveValue { @Override public <T> T accept(PrimitiveValueVisitor<T> visitor) { - return visitor.visit(this); + return visitor.visitBoolean(value); } @Override diff --git a/src/main/java/org/zwobble/couscous/values/IntegerValue.java b/src/main/java/org/zwobble/couscous/values/IntegerValue.java index e897668..ed0040a 100644 --- a/src/main/java/org/zwobble/couscous/values/IntegerValue.java +++ b/src/main/java/org/zwobble/couscous/values/IntegerValue.java @@ -8,7 +8,7 @@ public final class IntegerValue implements PrimitiveValue { @Override public <T> T accept(PrimitiveValueVisitor<T> visitor) { - return visitor.visit(this); + return visitor.visitInteger(value); } @Override diff --git a/src/main/java/org/zwobble/couscous/values/PrimitiveValueVisitor.java b/src/main/java/org/zwobble/couscous/values/PrimitiveValueVisitor.java index 9b31b05..18b6916 100644 --- a/src/main/java/org/zwobble/couscous/values/PrimitiveValueVisitor.java +++ b/src/main/java/org/zwobble/couscous/values/PrimitiveValueVisitor.java @@ -1,9 +1,11 @@ package org.zwobble.couscous.values; +import org.zwobble.couscous.ast.TypeName; + public interface PrimitiveValueVisitor<T> { - T visit(IntegerValue value); - T visit(StringValue value); - T visit(BooleanValue value); - T visit(UnitValue unitValue); - T visit(TypeValue value); + T visitInteger(int value); + T visitString(String value); + T visitBoolean(boolean value); + T visitUnit(); + T visitType(TypeName value); } diff --git a/src/main/java/org/zwobble/couscous/values/StringValue.java b/src/main/java/org/zwobble/couscous/values/StringValue.java index ff2ad61..d2a0a6a 100644 --- a/src/main/java/org/zwobble/couscous/values/StringValue.java +++ b/src/main/java/org/zwobble/couscous/values/StringValue.java @@ -12,7 +12,7 @@ public final class StringValue implements PrimitiveValue { @Override public <T> T accept(PrimitiveValueVisitor<T> visitor) { - return visitor.visit(this); + return visitor.visitString(value); } @Override diff --git a/src/main/java/org/zwobble/couscous/values/TypeValue.java b/src/main/java/org/zwobble/couscous/values/TypeValue.java index 269839a..663673e 100644 --- a/src/main/java/org/zwobble/couscous/values/TypeValue.java +++ b/src/main/java/org/zwobble/couscous/values/TypeValue.java @@ -15,7 +15,7 @@ public class TypeValue implements PrimitiveValue { @Override public <T> T accept(PrimitiveValueVisitor<T> visitor) { - return visitor.visit(this); + return visitor.visitType(value); } @Override diff --git a/src/main/java/org/zwobble/couscous/values/UnitValue.java b/src/main/java/org/zwobble/couscous/values/UnitValue.java index 9d48b9e..dfa11d4 100644 --- a/src/main/java/org/zwobble/couscous/values/UnitValue.java +++ b/src/main/java/org/zwobble/couscous/values/UnitValue.java @@ -12,7 +12,7 @@ public class UnitValue implements PrimitiveValue { @Override public <T> T accept(PrimitiveValueVisitor<T> visitor) { - return visitor.visit(this); + return visitor.visitUnit(); } @Override |
