@@ -177,6 +177,7 @@ export class DiagnosticVisitor extends AbstractParseTreeVisitor<void> implements
177177 // }
178178
179179 visitObjectClass_drawModules ( ctx : ObjectClass_drawModulesContext ) : void {
180+ console . log ( list . customConditionStates )
180181 list . customConditionStates . clear ( )
181182 this . visitChildren ( ctx )
182183 }
@@ -402,6 +403,7 @@ export class DiagnosticVisitor extends AbstractParseTreeVisitor<void> implements
402403 }
403404 }
404405 }
406+ this . visitChildren ( ctx )
405407 }
406408
407409 visitDrawModule_transitionStateBlock ( ctx : DrawModule_transitionStateBlockContext ) : void {
@@ -410,7 +412,7 @@ export class DiagnosticVisitor extends AbstractParseTreeVisitor<void> implements
410412 if ( ! list . customConditionStates . find ( state . ID ( ) ! . getText ( ) ) ) {
411413 const severity = DiagnosticSeverity . Error
412414 const start = new Location ( state . ID ( ) ! . symbol . line , state . ID ( ) ! . symbol . column )
413- const msg = `Custom condition state ${ state . ID ( ) ! . getText ( ) } is not defined`
415+ const msg = `Custom condition state ${ state . ID ( ) ! . getText ( ) } is not defined. If this is a TransitionKey, please define it above this `
414416 this . addDiagnostic ( severity , start , start , msg )
415417 }
416418 }
@@ -419,12 +421,15 @@ export class DiagnosticVisitor extends AbstractParseTreeVisitor<void> implements
419421 }
420422
421423 visitDrawModule_transitionKeyProperty ( ctx : DrawModule_transitionKeyPropertyContext ) : void {
422- const ID_text = ctx . transitionKey_value ( ) . ID ( ) ! . getText ( )
423424
424- console . log ( `Adding ${ ID_text } to customConditionStates in context ${ ctx . getText ( ) } ` )
425+ if ( ctx . transitionKey_value ( ) . ID ( ) ) {
426+ const ID_text = ctx . transitionKey_value ( ) . ID ( ) ! . getText ( )
425427
426- list . customConditionStates . remove ( ID_text )
427- list . customConditionStates . insert ( ID_text )
428+ console . log ( `Adding ${ ID_text } to customConditionStates in context ${ ctx . getText ( ) } ` )
429+
430+ list . customConditionStates . remove ( ID_text )
431+ list . customConditionStates . insert ( ID_text )
432+ }
428433 }
429434
430435 private addDiagnostic ( severity : DiagnosticSeverity , start : Location , end : Location , msg : string , srcAppend : string = '' ) : void {
0 commit comments