diff options
Diffstat (limited to 'src/main/java/org/zwobble/couscous/values')
5 files changed, 27 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/couscous/values/BooleanValue.java b/src/main/java/org/zwobble/couscous/values/BooleanValue.java index e05c246..76f828e 100644 --- a/src/main/java/org/zwobble/couscous/values/BooleanValue.java +++ b/src/main/java/org/zwobble/couscous/values/BooleanValue.java @@ -1,11 +1,15 @@ package org.zwobble.couscous.values; +import static org.zwobble.couscous.values.TypeReference.typeRef; + import lombok.AccessLevel; import lombok.Getter; import lombok.Value; @Value public class BooleanValue implements PrimitiveValue { + public static final TypeReference REF = typeRef("java.lang.Boolean"); + @Getter(value = AccessLevel.NONE) boolean value; @@ -17,4 +21,9 @@ public class BooleanValue implements PrimitiveValue { public <T> T accept(PrimitiveValueVisitor<T> visitor) { return visitor.visit(this); } + + @Override + public TypeReference getType() { + return REF; + } } diff --git a/src/main/java/org/zwobble/couscous/values/IntegerValue.java b/src/main/java/org/zwobble/couscous/values/IntegerValue.java index 71c7a41..5c272a0 100644 --- a/src/main/java/org/zwobble/couscous/values/IntegerValue.java +++ b/src/main/java/org/zwobble/couscous/values/IntegerValue.java @@ -14,4 +14,9 @@ public class IntegerValue implements PrimitiveValue { public <T> T accept(PrimitiveValueVisitor<T> visitor) { return visitor.visit(this); } + + @Override + public TypeReference getType() { + return REF; + } } diff --git a/src/main/java/org/zwobble/couscous/values/PrimitiveValue.java b/src/main/java/org/zwobble/couscous/values/PrimitiveValue.java index 2cfe40a..56da066 100644 --- a/src/main/java/org/zwobble/couscous/values/PrimitiveValue.java +++ b/src/main/java/org/zwobble/couscous/values/PrimitiveValue.java @@ -2,4 +2,5 @@ package org.zwobble.couscous.values; public interface PrimitiveValue { <T> T accept(PrimitiveValueVisitor<T> visitor); + TypeReference getType(); } diff --git a/src/main/java/org/zwobble/couscous/values/StringValue.java b/src/main/java/org/zwobble/couscous/values/StringValue.java index 256d6d1..ba0b1b5 100644 --- a/src/main/java/org/zwobble/couscous/values/StringValue.java +++ b/src/main/java/org/zwobble/couscous/values/StringValue.java @@ -14,4 +14,9 @@ public class StringValue implements PrimitiveValue { public <T> T accept(PrimitiveValueVisitor<T> visitor) { return visitor.visit(this); } + + @Override + public TypeReference getType() { + return REF; + } } diff --git a/src/main/java/org/zwobble/couscous/values/UnitValue.java b/src/main/java/org/zwobble/couscous/values/UnitValue.java index 14bf327..b4f6974 100644 --- a/src/main/java/org/zwobble/couscous/values/UnitValue.java +++ b/src/main/java/org/zwobble/couscous/values/UnitValue.java @@ -1,6 +1,8 @@ package org.zwobble.couscous.values; public class UnitValue implements PrimitiveValue { + public static final TypeReference REF = TypeReference.typeRef("org.zwobble.couscous.runtime.Unit"); + static final UnitValue UNIT = new UnitValue(); private UnitValue() { @@ -10,4 +12,9 @@ public class UnitValue implements PrimitiveValue { public <T> T accept(PrimitiveValueVisitor<T> visitor) { return visitor.visit(this); } + + @Override + public TypeReference getType() { + return REF; + } } |
