diff options
| author | Michael Williamson <mike@zwobble.org> | 2015-10-05 18:10:32 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2015-10-05 18:10:32 +0100 |
| commit | 27ffd2d94482ccdcd10acbb1111ce0a0ddae6c01 (patch) | |
| tree | 83104ba83bba3ccfd2dbf0bb1f0d9afc1ea076dd /src/main/java/org/zwobble/couscous/ast/LiteralNode.java | |
| parent | 9e850b3a09ceebf6140e77982b45abab0c57ad6c (diff) | |
Add types to expression nodes
Diffstat (limited to 'src/main/java/org/zwobble/couscous/ast/LiteralNode.java')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/ast/LiteralNode.java | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/main/java/org/zwobble/couscous/ast/LiteralNode.java b/src/main/java/org/zwobble/couscous/ast/LiteralNode.java index 05a599c..2d77cd4 100644 --- a/src/main/java/org/zwobble/couscous/ast/LiteralNode.java +++ b/src/main/java/org/zwobble/couscous/ast/LiteralNode.java @@ -1,31 +1,36 @@ package org.zwobble.couscous.ast; import org.zwobble.couscous.ast.visitors.ExpressionNodeVisitor; +import org.zwobble.couscous.values.BooleanValue; +import org.zwobble.couscous.values.IntegerValue; import org.zwobble.couscous.values.PrimitiveValue; +import org.zwobble.couscous.values.StringValue; +import org.zwobble.couscous.values.TypeReference; import static org.zwobble.couscous.values.PrimitiveValues.value; import lombok.Value; -@Value +@Value(staticConstructor="of") public class LiteralNode implements ExpressionNode { public static LiteralNode literal(PrimitiveValue value) { - return new LiteralNode(value); + return new LiteralNode(value, value.getType()); } public static LiteralNode literal(String value) { - return new LiteralNode(value(value)); + return new LiteralNode(value(value), StringValue.REF); } public static LiteralNode literal(int value) { - return new LiteralNode(value(value)); + return new LiteralNode(value(value), IntegerValue.REF); } public static LiteralNode literal(boolean value) { - return new LiteralNode(value(value)); + return new LiteralNode(value(value), BooleanValue.REF); } PrimitiveValue value; + TypeReference type; @Override public <T> T accept(ExpressionNodeVisitor<T> visitor) { |
