clang-tools  14.0.0git
Public Member Functions | List of all members
clang::clangd::OverlayCDB Class Reference

Wraps another compilation database, and supports overriding the commands using an in-memory mapping. More...

#include <GlobalCompilationDatabase.h>

Inheritance diagram for clang::clangd::OverlayCDB:
Inheritance graph
[legend]
Collaboration diagram for clang::clangd::OverlayCDB:
Collaboration graph
[legend]

Public Member Functions

 OverlayCDB (const GlobalCompilationDatabase *Base, std::vector< std::string > FallbackFlags={}, tooling::ArgumentsAdjuster Adjuster=nullptr)
 
llvm::Optional< tooling::CompileCommand > getCompileCommand (PathRef File) const override
 If there are any known-good commands for building this file, returns one. More...
 
tooling::CompileCommand getFallbackCommand (PathRef File) const override
 Makes a guess at how to build a file. More...
 
void setCompileCommand (PathRef File, llvm::Optional< tooling::CompileCommand > CompilationCommand)
 Sets or clears the compilation command for a particular file. More...
 
- Public Member Functions inherited from clang::clangd::DelegatingCDB
 DelegatingCDB (const GlobalCompilationDatabase *Base)
 
 DelegatingCDB (std::unique_ptr< GlobalCompilationDatabase > Base)
 
llvm::Optional< ProjectInfogetProjectInfo (PathRef File) const override
 Finds the closest project to File. More...
 
bool blockUntilIdle (Deadline D) const override
 If the CDB does any asynchronous work, wait for it to complete. More...
 
- Public Member Functions inherited from clang::clangd::GlobalCompilationDatabase
virtual ~GlobalCompilationDatabase ()=default
 
CommandChanged::Subscription watch (CommandChanged::Listener L) const
 The callback is notified when files may have new compile commands. More...
 

Additional Inherited Members

- Public Types inherited from clang::clangd::GlobalCompilationDatabase
using CommandChanged = Event< std::vector< std::string > >
 
- Protected Attributes inherited from clang::clangd::GlobalCompilationDatabase
CommandChanged OnCommandChanged
 

Detailed Description

Wraps another compilation database, and supports overriding the commands using an in-memory mapping.

Definition at line 174 of file GlobalCompilationDatabase.h.

Constructor & Destructor Documentation

◆ OverlayCDB()

clang::clangd::OverlayCDB::OverlayCDB ( const GlobalCompilationDatabase Base,
std::vector< std::string >  FallbackFlags = {},
tooling::ArgumentsAdjuster  Adjuster = nullptr 
)

Definition at line 746 of file GlobalCompilationDatabase.cpp.

Member Function Documentation

◆ getCompileCommand()

llvm::Optional< tooling::CompileCommand > clang::clangd::OverlayCDB::getCompileCommand ( PathRef  File) const
overridevirtual

If there are any known-good commands for building this file, returns one.

Reimplemented from clang::clangd::DelegatingCDB.

Definition at line 753 of file GlobalCompilationDatabase.cpp.

◆ getFallbackCommand()

tooling::CompileCommand clang::clangd::OverlayCDB::getFallbackCommand ( PathRef  File) const
overridevirtual

Makes a guess at how to build a file.

The default implementation just runs clang on the file. Clangd should treat the results as unreliable.

Reimplemented from clang::clangd::DelegatingCDB.

Definition at line 770 of file GlobalCompilationDatabase.cpp.

◆ setCompileCommand()

void clang::clangd::OverlayCDB::setCompileCommand ( PathRef  File,
llvm::Optional< tooling::CompileCommand >  CompilationCommand 
)

Sets or clears the compilation command for a particular file.

Definition at line 780 of file GlobalCompilationDatabase.cpp.


The documentation for this class was generated from the following files: