public ExpectedTokenException(Token unexpectedToken, DiagnosticBuilder.ErrorBuilderDelegate errorFunc) : base() { // To avoid the squiggly spanning multiple lines, return a 0-length span at the end of the line for a newline token. var errorSpan = unexpectedToken.Type == TokenType.NewLine ? unexpectedToken.ToZeroLengthSpan() : unexpectedToken.Span; Error = errorFunc(DiagnosticBuilder.ForPosition(errorSpan)); }
private void AddDiagnostic(DiagnosticBuilder.ErrorBuilderDelegate diagnosticFunc) => AddDiagnostic(textWindow.GetSpan(), diagnosticFunc);
private void AddDiagnostic(TextSpan span, DiagnosticBuilder.ErrorBuilderDelegate diagnosticFunc) { var diagnostic = diagnosticFunc(DiagnosticBuilder.ForPosition(span)); this.diagnosticWriter.Write(diagnostic); }
public BannedFunction(string name, DiagnosticBuilder.ErrorBuilderDelegate errorFunc) { this.Name = name; this.errorFunc = errorFunc; }
protected ErrorDiagnostic CreateError(IPositionable positionable, DiagnosticBuilder.ErrorBuilderDelegate errorFunc) => errorFunc(DiagnosticBuilder.ForPosition(positionable));
private void SetRestoreFailure(ModuleDeclarationSyntax module, DiagnosticBuilder.ErrorBuilderDelegate failureBuilder) { this.restoreStatuses.AddOrUpdate(module, failureBuilder); }
public static ErrorBuilderAssertions Should(this DiagnosticBuilder.ErrorBuilderDelegate errorBuilder) => new(errorBuilder);