From 41149a17aa67be4586a38b22538996e27e937291 Mon Sep 17 00:00:00 2001 From: Sei Lisa Date: Mon, 4 Apr 2016 13:58:25 +0200 Subject: [PATCH] Report a type mismatch in globals in a more meaningful position. For example, this script reported the type mismatch in default: key k=0; default{timer(){}} Now it's reported at the semicolon, which is as early as it can be identified and much more meaningful. --- lslopt/lslparse.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lslopt/lslparse.py b/lslopt/lslparse.py index 5163a88..79caf74 100644 --- a/lslopt/lslparse.py +++ b/lslopt/lslparse.py @@ -2049,9 +2049,7 @@ list lazy_list_set(list L, integer i, list v) # Use LSL's dull global expression. value = self.Parse_simple_expr() self.expect(';') - self.NextToken() else: # must be semicolon - self.NextToken() value = None assert self.scopeindex == 0 @@ -2059,6 +2057,7 @@ list lazy_list_set(list L, integer i, list v) if value is not None: value = self.autocastcheck(value, typ) decl['ch'] = [value] + self.NextToken() self.AddSymbol('v', 0, name, Loc=len(self.tree), Type=typ) self.tree.append(decl)