From f73bd2003c814b404ea4f435511b94802177cea3 Mon Sep 17 00:00:00 2001 From: Deukhoofd Date: Sat, 15 Jun 2019 16:01:34 +0200 Subject: [PATCH] Don't cascade errors if index assignment index is error --- src/Binder/Binder.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Binder/Binder.cpp b/src/Binder/Binder.cpp index fbf12d4..c928202 100644 --- a/src/Binder/Binder.cpp +++ b/src/Binder/Binder.cpp @@ -75,7 +75,8 @@ BoundStatement *Binder::BindIndexAssignmentStatement(const ParsedStatement *stat auto s = (ParsedIndexAssignmentStatement*) statement; auto boundIndexExpression = this -> BindIndexExpression((IndexExpression*)s->GetIndexExpression(), true); auto valueExpression = this -> BindExpression(s->GetValueExpression()); - if (boundIndexExpression->GetType()->operator!=(valueExpression->GetType().get())){ + auto boundIndexType = boundIndexExpression -> GetType(); + if (boundIndexType ->GetClass() != TypeClass ::Error && boundIndexType->operator!=(valueExpression->GetType().get())){ this -> _scriptData -> Diagnostics -> LogError(DiagnosticCode::InvalidTableValueType, statement->GetStartPosition(), statement->GetLength()); return new BoundBadStatement(); }