From f31fc1043d384e0b699fcb114694a5d8e1f51784 Mon Sep 17 00:00:00 2001 From: Kadir Cetinkaya Date: Wed, 26 Feb 2020 18:22:27 +0100 Subject: [PATCH] [clangd] Get rid of lexer usage in AST.cpp Reviewers: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D75193 --- clang-tools-extra/clangd/AST.cpp | 11 +---------- clang-tools-extra/clangd/AST.h | 1 - 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/clang-tools-extra/clangd/AST.cpp b/clang-tools-extra/clangd/AST.cpp index 836eb6a36459..021080c301f7 100644 --- a/clang-tools-extra/clangd/AST.cpp +++ b/clang-tools-extra/clangd/AST.cpp @@ -25,7 +25,6 @@ #include "clang/Basic/SourceManager.h" #include "clang/Basic/Specifiers.h" #include "clang/Index/USRGeneration.h" -#include "clang/Lex/Lexer.h" #include "llvm/ADT/ArrayRef.h" #include "llvm/ADT/Optional.h" #include "llvm/ADT/STLExtras.h" @@ -417,16 +416,8 @@ public: llvm::Optional getDeducedType(ASTContext &ASTCtx, SourceLocation Loc) { - Token Tok; - // Only try to find a deduced type if the token is auto or decltype. - if (!Loc.isValid() || - Lexer::getRawToken(Loc, Tok, ASTCtx.getSourceManager(), - ASTCtx.getLangOpts(), false) || - !Tok.is(tok::raw_identifier) || - !(Tok.getRawIdentifier() == "auto" || - Tok.getRawIdentifier() == "decltype")) { + if (!Loc.isValid()) return {}; - } DeducedTypeVisitor V(Loc); V.TraverseAST(ASTCtx); if (V.DeducedType.isNull()) diff --git a/clang-tools-extra/clangd/AST.h b/clang-tools-extra/clangd/AST.h index a40aeaf32a77..c8b6008339e2 100644 --- a/clang-tools-extra/clangd/AST.h +++ b/clang-tools-extra/clangd/AST.h @@ -109,7 +109,6 @@ NestedNameSpecifierLoc getQualifierLoc(const NamedDecl &ND); QualType declaredType(const TypeDecl *D); /// Retrieves the deduced type at a given location (auto, decltype). -/// Retuns None unless Loc starts an auto/decltype token. /// It will return the underlying type. llvm::Optional getDeducedType(ASTContext &, SourceLocation Loc);