@@ -281,36 +281,39 @@ export class SymbolResolver {
281281 }
282282
283283 let table = node . symbolTable . findTable ( node . tableIdentifier ) ;
284- if ( table == null ) this . pushError ( "Die Tabelle " + node . tableIdentifier + " ist nicht bekannt." , "error" , node . tableIdentifierPosition ) ;
285-
286- for ( let i = 0 ; i < node . columnIdentifiers . length ; i ++ ) {
287- let ci = node . columnIdentifiers [ i ] ;
288- let ciPos = node . columnIdentifierPositions [ i ] ;
289- let value = node . values [ i ] ;
290-
291- if ( ci == null ) continue ;
292- let column = table . columns . find ( c => c . identifier == ci ) ;
293-
294- if ( column == null ) {
295- this . pushError ( ci + " ist kein Bezeichner einer Spalte der Tabelle " + node . tableIdentifier + "." , "error" , ciPos ) ;
284+ if ( table == null ) {
285+ this . pushError ( "Die Tabelle " + node . tableIdentifier + " ist nicht bekannt." , "error" , node . tableIdentifierPosition ) ;
286+ } else {
287+ for ( let i = 0 ; i < node . columnIdentifiers . length ; i ++ ) {
288+ let ci = node . columnIdentifiers [ i ] ;
289+ let ciPos = node . columnIdentifierPositions [ i ] ;
290+ let value = node . values [ i ] ;
291+
292+ if ( ci == null ) continue ;
293+ let column = table . columns . find ( c => c . identifier == ci ) ;
294+
295+ if ( column == null ) {
296+ this . pushError ( ci + " ist kein Bezeichner einer Spalte der Tabelle " + node . tableIdentifier + "." , "error" , ciPos ) ;
297+ }
298+
299+ if ( value == null ) continue ;
300+ let symbolTable = this . pushNewSymbolTable ( node . valuePosBegin [ i ] , node . valuePosEnd [ i ] ) ;
301+ symbolTable . storeTableSymbols ( table ) ;
302+ this . resolveTerm ( value ) ;
303+ this . symbolTableStack . pop ( ) ;
304+
305+ }
306+
307+ if ( node . whereNodeBegin != null ) {
308+ let symbolTable = this . pushNewSymbolTable ( node . whereNodeBegin , node . whereNodeEnd ) ;
309+ symbolTable . storeTableSymbols ( table ) ;
310+ }
311+
312+ if ( node . whereNode != null ) {
313+ this . resolveTerm ( node . whereNode ) ;
296314 }
297-
298- if ( value == null ) continue ;
299- let symbolTable = this . pushNewSymbolTable ( node . valuePosBegin [ i ] , node . valuePosEnd [ i ] ) ;
300- symbolTable . storeTableSymbols ( table ) ;
301- this . resolveTerm ( value ) ;
302- this . symbolTableStack . pop ( ) ;
303-
304- }
305-
306- if ( node . whereNodeBegin != null ) {
307- let symbolTable = this . pushNewSymbolTable ( node . whereNodeBegin , node . whereNodeEnd ) ;
308- symbolTable . storeTableSymbols ( table ) ;
309315 }
310316
311- if ( node . whereNode != null ) {
312- this . resolveTerm ( node . whereNode ) ;
313- }
314317 this . symbolTableStack . pop ( ) ;
315318
316319 }
0 commit comments