aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/zwobble/couscous/backends/python/PythonCodeGenerator.java18
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/values/InterpreterValues.java22
-rw-r--r--src/main/java/org/zwobble/couscous/values/BooleanValue.java3
-rw-r--r--src/main/java/org/zwobble/couscous/values/IntegerValue.java2
-rw-r--r--src/main/java/org/zwobble/couscous/values/PrimitiveValueVisitor.java12
-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
8 files changed, 33 insertions, 30 deletions
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 c97e950..eb15f60 100644
--- a/src/main/java/org/zwobble/couscous/backends/python/PythonCodeGenerator.java
+++ b/src/main/java/org/zwobble/couscous/backends/python/PythonCodeGenerator.java
@@ -122,28 +122,28 @@ public class PythonCodeGenerator {
return value.accept(new PrimitiveValueVisitor<PythonExpressionNode>(){
@Override
- public PythonExpressionNode visit(IntegerValue value) {
- return pythonIntegerLiteral(value.getValue());
+ public PythonExpressionNode visitInteger(int value) {
+ return pythonIntegerLiteral(value);
}
@Override
- public PythonExpressionNode visit(StringValue value) {
- return pythonStringLiteral(value.getValue());
+ public PythonExpressionNode visitString(String value) {
+ return pythonStringLiteral(value);
}
@Override
- public PythonExpressionNode visit(BooleanValue value) {
- return pythonBooleanLiteral(value.getValue());
+ public PythonExpressionNode visitBoolean(boolean value) {
+ return pythonBooleanLiteral(value);
}
@Override
- public PythonExpressionNode visit(UnitValue unitValue) {
+ public PythonExpressionNode visitUnit() {
throw new UnsupportedOperationException();
}
@Override
- public PythonExpressionNode visit(TypeValue value) {
- return typeReference(value.getValue());
+ public PythonExpressionNode visitType(TypeName value) {
+ return typeReference(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 db33b9d..4e8f1e6 100644
--- a/src/main/java/org/zwobble/couscous/interpreter/values/InterpreterValues.java
+++ b/src/main/java/org/zwobble/couscous/interpreter/values/InterpreterValues.java
@@ -1,6 +1,8 @@
package org.zwobble.couscous.interpreter.values;
-import org.zwobble.couscous.values.*;
+import org.zwobble.couscous.ast.TypeName;
+import org.zwobble.couscous.values.PrimitiveValue;
+import org.zwobble.couscous.values.PrimitiveValueVisitor;
public class InterpreterValues {
public static final UnitInterpreterValue UNIT = UnitInterpreterValue.UNIT;
@@ -18,28 +20,28 @@ public class InterpreterValues {
public static InterpreterValue value(PrimitiveValue value) {
return value.accept(new PrimitiveValueVisitor<InterpreterValue>() {
@Override
- public InterpreterValue visit(IntegerValue value) {
- return new IntegerInterpreterValue(value.getValue());
+ public InterpreterValue visitInteger(int value) {
+ return new IntegerInterpreterValue(value);
}
@Override
- public InterpreterValue visit(StringValue value) {
- return StringInterpreterValue.of(value.getValue());
+ public InterpreterValue visitString(String value) {
+ return StringInterpreterValue.of(value);
}
@Override
- public InterpreterValue visit(BooleanValue value) {
- return BooleanInterpreterValue.of(value.getValue());
+ public InterpreterValue visitBoolean(boolean value) {
+ return BooleanInterpreterValue.of(value);
}
@Override
- public InterpreterValue visit(UnitValue unitValue) {
+ public InterpreterValue visitUnit() {
return UNIT;
}
@Override
- public InterpreterValue visit(TypeValue value) {
- return TypeInterpreterValue.of(value.getValue());
+ public InterpreterValue visitType(TypeName value) {
+ return TypeInterpreterValue.of(value);
}
});
}
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