public override CompilationAndGeneratorDriverTranslationAction?TryMergeWithPrior(CompilationAndGeneratorDriverTranslationAction priorAction) { if (priorAction is TouchAdditionalDocumentAction priorTouchAction && priorTouchAction._newState == this._oldState) { return(new TouchAdditionalDocumentAction(priorTouchAction._oldState, this._newState)); } return(null); }
/// <summary> /// When changes are made to a solution, we make a list of translation actions. If multiple similar changes happen in rapid /// succession, we may be able to merge them without holding onto intermediate state. /// </summary> /// <param name="priorAction">The action prior to this one. May be a different type.</param> /// <returns>A non-null <see cref="CompilationAndGeneratorDriverTranslationAction" /> if we could create a merged one, null otherwise.</returns> public virtual CompilationAndGeneratorDriverTranslationAction?TryMergeWithPrior(CompilationAndGeneratorDriverTranslationAction priorAction) => null;