public override object VisitTransitionDefinition(CdeltaParser.TransitionDefinitionContext context) { Transition transition = new Transition(null, null, null) { DesiredSourceState = context.IDENTIFIER(0).GetText(), DesiredTargetState = context.IDENTIFIER(1).GetText() }; ((Automaton)contextWithStructure[context.Parent]).Transitions.Add(transition); contextWithStructure.Add(context, transition); return(base.VisitTransitionDefinition(context)); }
public override IEnumerable <StructureBase> VisitTransitionDefinition(CdeltaParser.TransitionDefinitionContext context) { var result = new Transition(context.IDENTIFIER(0).GetText(), context.IDENTIFIER(1).GetText()); foreach (var child in base.VisitTransitionDefinition(context)) { if (child is TransitionEnter enter) { enter.Parent = result; result.Enter = enter; } } yield return(result); }