summaryrefslogtreecommitdiff
path: root/ast/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'ast/src/main/java')
-rw-r--r--ast/src/main/java/lv/enes/orang/ast/ExpressionVisitor.java1
-rw-r--r--ast/src/main/java/lv/enes/orang/ast/MapExpression.java13
2 files changed, 14 insertions, 0 deletions
diff --git a/ast/src/main/java/lv/enes/orang/ast/ExpressionVisitor.java b/ast/src/main/java/lv/enes/orang/ast/ExpressionVisitor.java
index 60ec3c2..410512f 100644
--- a/ast/src/main/java/lv/enes/orang/ast/ExpressionVisitor.java
+++ b/ast/src/main/java/lv/enes/orang/ast/ExpressionVisitor.java
@@ -17,6 +17,7 @@ public interface ExpressionVisitor<R, E extends OrangException> {
17 R visitIfElseExpression(IfElseExpression expr) throws E; 17 R visitIfElseExpression(IfElseExpression expr) throws E;
18 R visitIntLiteral(IntLiteral expr) throws E; 18 R visitIntLiteral(IntLiteral expr) throws E;
19 R visitLetInExpression(LetInExpression expr) throws E; 19 R visitLetInExpression(LetInExpression expr) throws E;
20 R visitMap(MapExpression expr) throws E;
20 R visitStringLiteral(StringLiteral expr) throws E; 21 R visitStringLiteral(StringLiteral expr) throws E;
21 R visitTupleExpression(TupleExpression expr) throws E; 22 R visitTupleExpression(TupleExpression expr) throws E;
22 R visitUnaryExpression(UnaryExpression expr) throws E; 23 R visitUnaryExpression(UnaryExpression expr) throws E;
diff --git a/ast/src/main/java/lv/enes/orang/ast/MapExpression.java b/ast/src/main/java/lv/enes/orang/ast/MapExpression.java
new file mode 100644
index 0000000..c758788
--- /dev/null
+++ b/ast/src/main/java/lv/enes/orang/ast/MapExpression.java
@@ -0,0 +1,13 @@
1package lv.enes.orang.ast;
2
3import lv.enes.orang.core.OrangException;
4
5import java.util.List;
6
7public record MapExpression(List<MapPair> entries) implements Expression {
8 public record MapPair(Expression from, Expression to) {}
9 @Override
10 public <R, E extends OrangException> R accept(ExpressionVisitor<R, E> visitor) throws E {
11 return visitor.visitMap(this);
12 }
13}