/// <summary> /// Creates instance of <typeparamref name="TNewState"/> as result of accepting input item. /// Automatically shares context object. /// </summary> /// <typeparam name="TNewState">Type of new state.</typeparam> /// <returns>Instance of new state with shared context objekt.</returns> protected virtual TNewState Move <TNewState>() where TNewState : TState, new() { TNewState newState = new TNewState(); newState.Context = GetContextForNewState(); return(newState); }
protected override TNewState Move <TNewState>() { TNewState newState = base.Move <TNewState>(); newState.Configuration = Configuration; newState.HasToken = HasToken; newState.CurrentLineNumber = CurrentLineNumber; newState.CurrentColumnIndex = CurrentColumnIndex; newState.LineNumber = LineNumber; newState.ColumnIndex = ColumnIndex; return(newState); }