aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-03-18 20:18:28 +0000
committerMichael Williamson <mike@zwobble.org>2016-03-18 20:18:28 +0000
commit39fcb0412893e9ea0b941abdd2961920f5008703 (patch)
tree5aecba8cd1131f84e4aae5b3936fd6c7467f972d /src/main
parentb1427f80b354538333d9656683fa2bc5a41fe2a6 (diff)
Move PrimitiveValueVisitor into PrimitiveValue
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java4
-rw-r--r--src/main/java/org/zwobble/couscous/backends/python/PythonCodeGenerator.java2
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/values/InterpreterValues.java3
-rw-r--r--src/main/java/org/zwobble/couscous/values/BooleanValue.java2
-rw-r--r--src/main/java/org/zwobble/couscous/values/IntegerValue.java2
-rw-r--r--src/main/java/org/zwobble/couscous/values/PrimitiveValue.java10
-rw-r--r--src/main/java/org/zwobble/couscous/values/PrimitiveValueVisitor.java11
-rw-r--r--src/main/java/org/zwobble/couscous/values/StringValue.java2
-rw-r--r--src/main/java/org/zwobble/couscous/values/TypeValue.java2
-rw-r--r--src/main/java/org/zwobble/couscous/values/UnitValue.java2
10 files changed, 18 insertions, 22 deletions
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<Void>() {
+ literal.getValue().accept(new PrimitiveValue.Visitor<Void>() {
@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<PythonExpressionNode>(){
+ return value.accept(new PrimitiveValue.Visitor<PythonExpressionNode>(){
@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<InterpreterValue>() {
+ return value.accept(new PrimitiveValue.Visitor<InterpreterValue>() {
@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> T accept(PrimitiveValueVisitor<T> visitor) {
+ public <T> T accept(Visitor<T> 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> T accept(PrimitiveValueVisitor<T> visitor) {
+ public <T> T accept(Visitor<T> 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> T accept(PrimitiveValueVisitor<T> visitor);
+ <T> T accept(Visitor<T> visitor);
ScalarType getType();
+
+ interface Visitor<T> {
+ 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> {
- 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> T accept(PrimitiveValueVisitor<T> visitor) {
+ public <T> T accept(Visitor<T> 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> T accept(PrimitiveValueVisitor<T> visitor) {
+ public <T> T accept(Visitor<T> 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> T accept(PrimitiveValueVisitor<T> visitor) {
+ public <T> T accept(Visitor<T> visitor) {
return visitor.visitUnit();
}