summaryrefslogtreecommitdiff
path: root/ast/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'ast/src/main')
-rw-r--r--ast/src/main/java/lv/enes/orang/ast/ArrayAccessExpression.java10
-rw-r--r--ast/src/main/java/lv/enes/orang/ast/ExpressionVisitor.java1
2 files changed, 11 insertions, 0 deletions
diff --git a/ast/src/main/java/lv/enes/orang/ast/ArrayAccessExpression.java b/ast/src/main/java/lv/enes/orang/ast/ArrayAccessExpression.java
new file mode 100644
index 0000000..784146c
--- /dev/null
+++ b/ast/src/main/java/lv/enes/orang/ast/ArrayAccessExpression.java
@@ -0,0 +1,10 @@
1package lv.enes.orang.ast;
2
3import lv.enes.orang.core.OrangException;
4
5public record ArrayAccessExpression(Expression array, Expression index) implements Expression {
6 @Override
7 public <R, E extends OrangException> R accept(ExpressionVisitor<R, E> visitor) throws E {
8 return visitor.visitArrayAccess(this);
9 }
10}
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 226b340..60ec3c2 100644
--- a/ast/src/main/java/lv/enes/orang/ast/ExpressionVisitor.java
+++ b/ast/src/main/java/lv/enes/orang/ast/ExpressionVisitor.java
@@ -8,6 +8,7 @@ public interface ExpressionVisitor<R, E extends OrangException> {
8 } 8 }
9 9
10 R visitArray(ArrayExpression array) throws E; 10 R visitArray(ArrayExpression array) throws E;
11 R visitArrayAccess(ArrayAccessExpression arrayAccess) throws E;
11 R visitBoolean(BooleanLiteral expr) throws E; 12 R visitBoolean(BooleanLiteral expr) throws E;
12 R visitBinaryExpression(BinaryExpression expr) throws E; 13 R visitBinaryExpression(BinaryExpression expr) throws E;
13 R visitCallExpression(CallExpression expr) throws E; 14 R visitCallExpression(CallExpression expr) throws E;