Author: Eduardo Caldas Date: 2020-07-10T16:21:12Z New Revision: a474d5bae4773782d50d4a5a62300c0f4a2dff28
URL: https://github.com/llvm/llvm-project/commit/a474d5bae4773782d50d4a5a62300c0f4a2dff28 DIFF: https://github.com/llvm/llvm-project/commit/a474d5bae4773782d50d4a5a62300c0f4a2dff28.diff LOG: Use FileRange::text instead of Lexer::getSpelling * as we are using them only for integer and floating literals they have the same behavior * FileRange::text is simpler to call and is within the context of syntax trees Added: Modified: clang/lib/Tooling/Syntax/BuildTree.cpp Removed: ################################################################################ diff --git a/clang/lib/Tooling/Syntax/BuildTree.cpp b/clang/lib/Tooling/Syntax/BuildTree.cpp index 5afe4965793a..6d13f1ace83b 100644 --- a/clang/lib/Tooling/Syntax/BuildTree.cpp +++ b/clang/lib/Tooling/Syntax/BuildTree.cpp @@ -737,20 +737,18 @@ class BuildTreeVisitor : public RecursiveASTVisitor<BuildTreeVisitor> { // information from the token. As integer and floating point have the same // token kind, we run `NumericLiteralParser` again to distinguish them. auto TokLoc = S->getBeginLoc(); - auto buffer = SmallVector<char, 16>(); - bool invalidSpelling = false; auto TokSpelling = - Lexer::getSpelling(TokLoc, buffer, Context.getSourceManager(), - Context.getLangOpts(), &invalidSpelling); - assert(!invalidSpelling); + Builder.findToken(TokLoc)->text(Context.getSourceManager()); auto Literal = NumericLiteralParser(TokSpelling, TokLoc, Context.getSourceManager(), Context.getLangOpts(), Context.getTargetInfo(), Context.getDiagnostics()); if (Literal.isIntegerLiteral()) return new (allocator()) syntax::IntegerUserDefinedLiteralExpression; - else + else { + assert(Literal.isFloatingLiteral()); return new (allocator()) syntax::FloatUserDefinedLiteralExpression; + } } } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits