diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-06-09 18:50:50 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-06-09 18:50:50 +0100 |
| commit | fa72b37cbffcd9dd35dbd70c98955bccb5f282f5 (patch) | |
| tree | 2848677fde9e8a71af8e1ab5b3066b0333af1b5d /src/main/java | |
| parent | b6fa0ee0ad8a7d2b4815ec912f4e64fb443718e5 (diff) | |
Add typed int literal node
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/shedlang/compiler/ast/typed/TypedExpressionNode.java | 2 | ||||
| -rw-r--r-- | src/main/java/org/shedlang/compiler/ast/typed/TypedIntLiteralNode.java | 17 |
2 files changed, 18 insertions, 1 deletions
diff --git a/src/main/java/org/shedlang/compiler/ast/typed/TypedExpressionNode.java b/src/main/java/org/shedlang/compiler/ast/typed/TypedExpressionNode.java index 3afb418b..5ec6216b 100644 --- a/src/main/java/org/shedlang/compiler/ast/typed/TypedExpressionNode.java +++ b/src/main/java/org/shedlang/compiler/ast/typed/TypedExpressionNode.java @@ -3,7 +3,7 @@ package org.shedlang.compiler.ast.typed; import org.shedlang.compiler.sources.Source; import org.shedlang.compiler.types.Type; -public sealed interface TypedExpressionNode permits TypedBoolLiteralNode, TypedReferenceNode, TypedStringLiteralNode { +public sealed interface TypedExpressionNode permits TypedBoolLiteralNode, TypedIntLiteralNode, TypedReferenceNode, TypedStringLiteralNode { Source source(); Type type(); } diff --git a/src/main/java/org/shedlang/compiler/ast/typed/TypedIntLiteralNode.java b/src/main/java/org/shedlang/compiler/ast/typed/TypedIntLiteralNode.java new file mode 100644 index 00000000..edb5f72c --- /dev/null +++ b/src/main/java/org/shedlang/compiler/ast/typed/TypedIntLiteralNode.java @@ -0,0 +1,17 @@ +package org.shedlang.compiler.ast.typed; + +import org.shedlang.compiler.sources.Source; +import org.shedlang.compiler.types.Type; +import org.shedlang.compiler.types.Types; + +import java.math.BigInteger; + +public record TypedIntLiteralNode( + BigInteger value, + Source source +) implements TypedExpressionNode { + @Override + public Type type() { + return Types.INT; + } +} |
