diff options
Diffstat (limited to 'ast/src/main')
| -rw-r--r-- | ast/src/main/java/lv/enes/orang/ast/ArrayAccessExpression.java | 10 | ||||
| -rw-r--r-- | ast/src/main/java/lv/enes/orang/ast/ExpressionVisitor.java | 1 |
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 @@ | |||
| 1 | package lv.enes.orang.ast; | ||
| 2 | |||
| 3 | import lv.enes.orang.core.OrangException; | ||
| 4 | |||
| 5 | public 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; |