Mercurial > hg > CbC > CbC_llvm
view clang-tools-extra/clangd/HeaderSourceSwitch.h @ 214:0cf2d4ade63d
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 13 Jul 2021 09:53:52 +0900 |
parents | 2e18cbf3894f |
children | c4bab56944e8 |
line wrap: on
line source
//===--- HeaderSourceSwitch.h - ----------------------------------*- C++-*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef LLVM_CLANG_TOOLS_EXTRA_UNITTESTS_CLANGD_HEADERSOURCESWITCH_H #define LLVM_CLANG_TOOLS_EXTRA_UNITTESTS_CLANGD_HEADERSOURCESWITCH_H #include "ParsedAST.h" #include "llvm/ADT/Optional.h" namespace clang { namespace clangd { /// Given a header file, returns the best matching source file, and vice visa. /// It only uses the filename heuristics to do the inference. llvm::Optional<Path> getCorrespondingHeaderOrSource( PathRef OriginalFile, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> VFS); /// Given a header file, returns the best matching source file, and vice visa. /// The heuristics incorporate with the AST and the index (if provided). llvm::Optional<Path> getCorrespondingHeaderOrSource(PathRef OriginalFile, ParsedAST &AST, const SymbolIndex *Index); /// Returns all indexable decls that are present in the main file of the AST. /// Exposed for unittests. std::vector<const Decl *> getIndexableLocalDecls(ParsedAST &AST); } // namespace clangd } // namespace clang #endif // LLVM_CLANG_TOOLS_EXTRA_UNITTESTS_CLANGD_HEADERSOURCESWITCH_H