private AnalysisResult(MarkerInsertionTypeOptions markerInsertionType, int markerLineNumberOffset, IAnalyseCharacters nextProcessor) { if (!Enum.IsDefined(typeof(MarkerInsertionTypeOptions), markerInsertionType)) { throw new ArgumentOutOfRangeException("markerInsertionType"); } if (markerLineNumberOffset < 0) { throw new ArgumentOutOfRangeException("markerLineNumberOffset", "must be zero or greater"); } if (nextProcessor == null) { throw new ArgumentNullException("nextProcessor"); } MarkerInsertionType = markerInsertionType; MarkerLineNumberOffset = markerLineNumberOffset; NextAnalyser = nextProcessor; }
public static AnalysisResult NoInsertion(IAnalyseCharacters nextProcessor) { return(new AnalysisResult(MarkerInsertionTypeOptions.NoInsertion, 0, nextProcessor)); }
public static AnalysisResult InsertBeforeCurrentCharacter(int markerLineNumberOffset, IAnalyseCharacters nextProcessor) { return(new AnalysisResult(MarkerInsertionTypeOptions.InsertBeforeCurrentCharacter, markerLineNumberOffset, nextProcessor)); }