diff --git a/Upsilon/Binder/Binder.cs b/Upsilon/Binder/Binder.cs index 45d231c..fed2e71 100644 --- a/Upsilon/Binder/Binder.cs +++ b/Upsilon/Binder/Binder.cs @@ -911,7 +911,8 @@ namespace Upsilon.Binder { BoundExpression indexableExpression; var value = BindExpression(e.Expression); - + if (e.TableExpression.Kind == SyntaxKind.BadExpression) + return new BoundExpressionStatement(new BoundBadExpression(e.Span), e.Span); if (e.TableExpression.Kind == SyntaxKind.IndexExpression) { @@ -936,9 +937,10 @@ namespace Upsilon.Binder } else { - var indexable = - (BoundFullStopIndexExpression) BindFullStopIndexExpression( + var indexableExp = BindFullStopIndexExpression( (FullStopIndexExpressionSyntax) e.TableExpression, true); + if (!(indexableExp is BoundFullStopIndexExpression indexable)) + return new BoundExpressionStatement(new BoundBadExpression(e.Span), e.Span); if (indexable.Expression.Kind == BoundKind.VariableExpression) {