From 39fcb0412893e9ea0b941abdd2961920f5008703 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Fri, 18 Mar 2016 20:18:28 +0000 Subject: Move PrimitiveValueVisitor into PrimitiveValue --- .../zwobble/couscous/backends/csharp/CsharpSerializer.java | 4 ++-- .../zwobble/couscous/backends/python/PythonCodeGenerator.java | 2 +- .../couscous/interpreter/values/InterpreterValues.java | 3 +-- src/main/java/org/zwobble/couscous/values/BooleanValue.java | 2 +- src/main/java/org/zwobble/couscous/values/IntegerValue.java | 2 +- src/main/java/org/zwobble/couscous/values/PrimitiveValue.java | 10 +++++++++- .../org/zwobble/couscous/values/PrimitiveValueVisitor.java | 11 ----------- src/main/java/org/zwobble/couscous/values/StringValue.java | 2 +- src/main/java/org/zwobble/couscous/values/TypeValue.java | 2 +- src/main/java/org/zwobble/couscous/values/UnitValue.java | 2 +- 10 files changed, 18 insertions(+), 22 deletions(-) delete mode 100644 src/main/java/org/zwobble/couscous/values/PrimitiveValueVisitor.java (limited to 'src/main/java/org') diff --git a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java index 0d38a88..46657fc 100644 --- a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java +++ b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java @@ -5,7 +5,7 @@ import org.zwobble.couscous.ast.types.*; import org.zwobble.couscous.ast.visitors.NodeVisitor; import org.zwobble.couscous.backends.SourceCodeWriter; import org.zwobble.couscous.util.Action; -import org.zwobble.couscous.values.PrimitiveValueVisitor; +import org.zwobble.couscous.values.PrimitiveValue; import org.zwobble.couscous.values.UnitValue; import java.util.List; @@ -42,7 +42,7 @@ public class CsharpSerializer implements NodeVisitor { @Override public void visit(LiteralNode literal) { - literal.getValue().accept(new PrimitiveValueVisitor() { + literal.getValue().accept(new PrimitiveValue.Visitor() { @Override public Void visitInteger(int value) { writer.writeInteger(value); diff --git a/src/main/java/org/zwobble/couscous/backends/python/PythonCodeGenerator.java b/src/main/java/org/zwobble/couscous/backends/python/PythonCodeGenerator.java index fc3aa98..d6f9895 100644 --- a/src/main/java/org/zwobble/couscous/backends/python/PythonCodeGenerator.java +++ b/src/main/java/org/zwobble/couscous/backends/python/PythonCodeGenerator.java @@ -132,7 +132,7 @@ public class PythonCodeGenerator { } public static PythonExpressionNode generateCode(PrimitiveValue value) { - return value.accept(new PrimitiveValueVisitor(){ + return value.accept(new PrimitiveValue.Visitor(){ @Override public PythonExpressionNode visitInteger(int value) { diff --git a/src/main/java/org/zwobble/couscous/interpreter/values/InterpreterValues.java b/src/main/java/org/zwobble/couscous/interpreter/values/InterpreterValues.java index 3841d7c..8db19f7 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/values/InterpreterValues.java +++ b/src/main/java/org/zwobble/couscous/interpreter/values/InterpreterValues.java @@ -2,7 +2,6 @@ package org.zwobble.couscous.interpreter.values; import org.zwobble.couscous.ast.types.ScalarType; import org.zwobble.couscous.values.PrimitiveValue; -import org.zwobble.couscous.values.PrimitiveValueVisitor; public class InterpreterValues { public static final UnitInterpreterValue UNIT = UnitInterpreterValue.UNIT; @@ -18,7 +17,7 @@ public class InterpreterValues { } public static InterpreterValue value(PrimitiveValue value) { - return value.accept(new PrimitiveValueVisitor() { + return value.accept(new PrimitiveValue.Visitor() { @Override public InterpreterValue visitInteger(int value) { return new IntegerInterpreterValue(value); diff --git a/src/main/java/org/zwobble/couscous/values/BooleanValue.java b/src/main/java/org/zwobble/couscous/values/BooleanValue.java index fd387e0..b99bd14 100644 --- a/src/main/java/org/zwobble/couscous/values/BooleanValue.java +++ b/src/main/java/org/zwobble/couscous/values/BooleanValue.java @@ -16,7 +16,7 @@ public final class BooleanValue implements PrimitiveValue { } @Override - public T accept(PrimitiveValueVisitor visitor) { + public T accept(Visitor visitor) { return visitor.visitBoolean(value); } diff --git a/src/main/java/org/zwobble/couscous/values/IntegerValue.java b/src/main/java/org/zwobble/couscous/values/IntegerValue.java index 22a233b..8e04345 100644 --- a/src/main/java/org/zwobble/couscous/values/IntegerValue.java +++ b/src/main/java/org/zwobble/couscous/values/IntegerValue.java @@ -7,7 +7,7 @@ public final class IntegerValue implements PrimitiveValue { private final int value; @Override - public T accept(PrimitiveValueVisitor visitor) { + public T accept(Visitor visitor) { return visitor.visitInteger(value); } diff --git a/src/main/java/org/zwobble/couscous/values/PrimitiveValue.java b/src/main/java/org/zwobble/couscous/values/PrimitiveValue.java index cd6a078..86d32de 100644 --- a/src/main/java/org/zwobble/couscous/values/PrimitiveValue.java +++ b/src/main/java/org/zwobble/couscous/values/PrimitiveValue.java @@ -3,6 +3,14 @@ package org.zwobble.couscous.values; import org.zwobble.couscous.ast.types.ScalarType; public interface PrimitiveValue { - T accept(PrimitiveValueVisitor visitor); + T accept(Visitor visitor); ScalarType getType(); + + interface Visitor { + T visitInteger(int value); + T visitString(String value); + T visitBoolean(boolean value); + T visitUnit(); + T visitType(ScalarType value); + } } diff --git a/src/main/java/org/zwobble/couscous/values/PrimitiveValueVisitor.java b/src/main/java/org/zwobble/couscous/values/PrimitiveValueVisitor.java deleted file mode 100644 index 302118d..0000000 --- a/src/main/java/org/zwobble/couscous/values/PrimitiveValueVisitor.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.zwobble.couscous.values; - -import org.zwobble.couscous.ast.types.ScalarType; - -public interface PrimitiveValueVisitor { - T visitInteger(int value); - T visitString(String value); - T visitBoolean(boolean value); - T visitUnit(); - T visitType(ScalarType value); -} diff --git a/src/main/java/org/zwobble/couscous/values/StringValue.java b/src/main/java/org/zwobble/couscous/values/StringValue.java index 4d45ae8..4e7a5f0 100644 --- a/src/main/java/org/zwobble/couscous/values/StringValue.java +++ b/src/main/java/org/zwobble/couscous/values/StringValue.java @@ -11,7 +11,7 @@ public final class StringValue implements PrimitiveValue { private final String value; @Override - public T accept(PrimitiveValueVisitor visitor) { + public T accept(Visitor visitor) { return visitor.visitString(value); } diff --git a/src/main/java/org/zwobble/couscous/values/TypeValue.java b/src/main/java/org/zwobble/couscous/values/TypeValue.java index e7f5fe4..2bb7c1f 100644 --- a/src/main/java/org/zwobble/couscous/values/TypeValue.java +++ b/src/main/java/org/zwobble/couscous/values/TypeValue.java @@ -14,7 +14,7 @@ public class TypeValue implements PrimitiveValue { } @Override - public T accept(PrimitiveValueVisitor visitor) { + public T accept(Visitor visitor) { return visitor.visitType(value); } diff --git a/src/main/java/org/zwobble/couscous/values/UnitValue.java b/src/main/java/org/zwobble/couscous/values/UnitValue.java index 241917b..d8a508f 100644 --- a/src/main/java/org/zwobble/couscous/values/UnitValue.java +++ b/src/main/java/org/zwobble/couscous/values/UnitValue.java @@ -11,7 +11,7 @@ public class UnitValue implements PrimitiveValue { } @Override - public T accept(PrimitiveValueVisitor visitor) { + public T accept(Visitor visitor) { return visitor.visitUnit(); } -- cgit v1.2.3