From ccac9247fe4663874be8026ab9cc968ecec7157b Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Tue, 29 Sep 2015 20:14:34 +0100 Subject: Initial commit --- .../java/org/zwobble/couscous/ast/LiteralNode.java | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/main/java/org/zwobble/couscous/ast/LiteralNode.java (limited to 'src/main/java/org/zwobble/couscous/ast/LiteralNode.java') diff --git a/src/main/java/org/zwobble/couscous/ast/LiteralNode.java b/src/main/java/org/zwobble/couscous/ast/LiteralNode.java new file mode 100644 index 0000000..38688d8 --- /dev/null +++ b/src/main/java/org/zwobble/couscous/ast/LiteralNode.java @@ -0,0 +1,26 @@ +package org.zwobble.couscous.ast; + +import org.zwobble.couscous.ast.visitors.ExpressionNodeVisitor; +import org.zwobble.couscous.values.IntegerValue; +import org.zwobble.couscous.values.InterpreterValue; +import org.zwobble.couscous.values.StringValue; + +import lombok.Value; + +@Value +public class LiteralNode implements ExpressionNode { + public static LiteralNode of(String value) { + return new LiteralNode(new StringValue(value)); + } + + public static LiteralNode of(int value) { + return new LiteralNode(new IntegerValue(value)); + } + + InterpreterValue value; + + @Override + public T accept(ExpressionNodeVisitor visitor) { + return visitor.visit(this); + } +} -- cgit v1.2.3