private InternalSyntaxTrivia AddDiagnostic(InternalSyntaxTrivia token, int tokenIndex) { string errorMessage; if (this.Antlr4Errors.TryGetValue(tokenIndex, out errorMessage)) { SyntaxDiagnosticInfo diagnosticInfo = this.MakeError(token.GetLeadingTriviaWidth(), token.Width, Antlr4RoslynErrorCode.ERR_SyntaxError, errorMessage); return((InternalSyntaxTrivia)token.WithDiagnostics(new DiagnosticInfo[] { diagnosticInfo })); } return(token); }
private GreenNode GetLeadingTrivia(IToken token, IToken previousToken) { int startIndex = this.GetLeadingTriviaTokenStartIndex(token, previousToken); int endIndex = token.TokenIndex - 1; if (startIndex >= 0 && startIndex <= endIndex) { InternalSyntaxTrivia[] triviaArray = new InternalSyntaxTrivia[endIndex - startIndex + 1]; for (int i = startIndex; i <= endIndex; i++) { IToken t = this.tokens[i]; int type = t.Type; SyntaxKind kind = type.FromAntlr4(_syntaxFacts.SyntaxKindType); InternalSyntaxTrivia trivia = this.factory.Trivia(kind, t.Text); trivia = this.AddDiagnostic(trivia, i); triviaArray[i - startIndex] = trivia; } return(this.factory.List(triviaArray).Node); } return(null); }
public virtual TResult VisitTrivia(InternalSyntaxTrivia trivia) { return(this.DefaultVisit(trivia)); }