clang-tools
9.0.0
|
Namespaces | |
detail | |
dex | |
riff | |
trace | |
Classes | |
class | Annotations |
Same as llvm::Annotations, but adjusts functions to LSP-specific types for positions and ranges. More... | |
struct | ApplyWorkspaceEditParams |
struct | ASTRetentionPolicy |
Configuration of the AST retention policy. More... | |
class | AsyncTaskRunner |
Runs tasks on separate (detached) threads and wait for all tasks to finish. More... | |
class | BackgroundIndex |
class | BackgroundIndexRebuilder |
class | BackgroundIndexRebuilderTest |
class | BackgroundIndexStorage |
class | BackgroundIndexTest |
class | BackgroundQueue |
class | CancelledError |
Conventional error when no result is returned due to cancellation. More... | |
class | CanonicalIncludes |
Maps a definition location onto an #include file, based on a set of filename rules. More... | |
struct | CheapUnresolvedName |
struct | ClangdCompileCommand |
Clangd extension that's used in the 'compilationDatabaseChanges' in workspace/didChangeConfiguration to record updates to the in-memory compilation database. More... | |
struct | ClangdDiagnosticOptions |
class | ClangdLSPServer |
This class exposes ClangdServer's capabilities via Language Server Protocol. More... | |
class | ClangdServer |
Manages a collection of source files and derived data (ASTs, indexes), and provides language-aware features such as code completion. More... | |
struct | ClientCapabilities |
struct | CodeAction |
A code action represents a change that can be performed in code, e.g. More... | |
struct | CodeActionContext |
struct | CodeActionParams |
struct | CodeCompleteOptions |
struct | CodeCompleteResult |
struct | CodeCompletion |
struct | Command |
struct | CompletionContext |
struct | CompletionItem |
struct | CompletionList |
Represents a collection of completion items to be presented in the editor. More... | |
struct | CompletionParams |
struct | CompletionPrefix |
struct | ConfigurationSettings |
Clangd extension: parameters configurable at any time, via the workspace/didChangeConfiguration notification. More... | |
class | Context |
A context is an immutable container for per-request data that must be propagated through layers that don't care about it. More... | |
class | Deadline |
A point in time we can wait for. More... | |
struct | DefinedMacro |
struct | Diag |
A top-level diagnostic that may have Notes and Fixes. More... | |
struct | DiagBase |
Contains basic information about a diagnostic. More... | |
struct | Diagnostic |
struct | DiagnosticRelatedInformation |
Represents a related message and source code location for a diagnostic. More... | |
class | DiagnosticsConsumer |
struct | DidChangeConfigurationParams |
struct | DidChangeTextDocumentParams |
struct | DidChangeWatchedFilesParams |
struct | DidCloseTextDocumentParams |
struct | DidOpenTextDocumentParams |
class | DirectoryBasedGlobalCompilationDatabase |
Gets compile args from tooling::CompilationDatabases built for parent directories. More... | |
struct | DocumentFormattingParams |
struct | DocumentHighlight |
A document highlight is a range inside a text document which deserves special attention. More... | |
struct | DocumentOnTypeFormattingParams |
struct | DocumentRangeFormattingParams |
struct | DocumentSymbol |
Represents programming constructs like variables, classes, interfaces etc. More... | |
struct | DocumentSymbolParams |
class | DraftStore |
A thread-safe container for files opened in a workspace, addressed by filenames. More... | |
class | Event |
An Event<T> allows events of type T to be broadcast to listeners. More... | |
struct | ExecuteCommandParams |
Exact commands are not specified in the protocol so we define the ones supported by Clangd here. More... | |
class | FileDistance |
struct | FileDistanceOptions |
struct | FileEvent |
class | FileIndex |
This manages symbols from files and an in-memory index on all symbols. More... | |
struct | FileStatus |
Clangd extension: indicates the current state of the file in clangd, sent from server via the textDocument/clangd.fileStatus notification. More... | |
class | FileSymbols |
A container of Symbols from several source files. More... | |
class | FileSystemProvider |
struct | Fix |
Represents a single fix-it that editor can apply to fix the error. More... | |
class | FormattedString |
A structured string representation that could be converted to markdown or plaintext upon requrest. More... | |
struct | ForwardBinder |
Stores a callable object (Func) and arguments (Args) and allows to call the callable with provided arguments later using operator () . More... | |
struct | FuzzyFindRequest |
class | FuzzyMatcher |
class | GlobalCompilationDatabase |
Provides compilation arguments used for parsing C and C++ files. More... | |
struct | HeaderFile |
Represents a header file to be #include'd. More... | |
struct | HighlightingToken |
struct | Hover |
struct | HoverInfo |
Contains detailed information about a Symbol. More... | |
class | IgnoreDiagnostics |
class | IncludeFixer |
Attempts to recover from error diagnostics by suggesting include insertion fixes. More... | |
struct | IncludeGraphNode |
class | IncludeInserter |
class | IncludeStructure |
struct | Inclusion |
struct | IndexFileIn |
struct | IndexFileOut |
struct | InitializationOptions |
Clangd extension: parameters configurable at initialize time. More... | |
struct | InitializeParams |
struct | InputsAndAST |
struct | InputsAndPreamble |
class | Key |
Values in a Context are indexed by typed keys. More... | |
struct | LoadedShard |
Represents a shard loaded from storage, stores contents in Shard and metadata about the source file that generated this shard. More... | |
struct | LocatedSymbol |
struct | Location |
class | Logger |
Interface to allow custom logging in clangd. More... | |
class | LoggingSession |
Only one LoggingSession can be active at a time. More... | |
struct | LookupRequest |
struct | LSPDiagnosticCompare |
A LSP-specific comparator used to find diagnostic in a container like std:map. More... | |
class | LSPError |
struct | MarkupContent |
class | MemIndex |
MemIndex is a naive in-memory index suitable for a small set of symbols. More... | |
class | MemoryShardStorage |
class | MergedIndex |
class | MockCompilationDatabase |
class | MockFSProvider |
struct | NoParams |
struct | Note |
Represents a note for the diagnostic. More... | |
class | Notification |
A threadsafe flag that is initially clear. More... | |
class | OpaqueType |
A representation of a type that can be computed based on clang AST and compared for equality. More... | |
class | OptionalMatcher |
class | OverlayCDB |
Wraps another compilation database, and supports overriding the commands using an in-memory mapping. More... | |
struct | ParameterInformation |
A single parameter of a particular signature. More... | |
class | ParsedAST |
Stores and provides access to parsed AST. More... | |
struct | ParseInputs |
Information required to run clang, e.g. to parse AST or do code completion. More... | |
struct | ParseOptions |
class | ParsingCallbacks |
class | PolySubsequenceMatcher |
struct | Position |
struct | PreambleData |
class | PreambleFileStatusCache |
Records status information for files open()ed or stat()ed during preamble build (except for the main file), so we can avoid stat()s on the underlying FS when reusing the preamble. More... | |
struct | ProjectInfo |
struct | Range |
class | RealFileSystemProvider |
struct | Ref |
Represents a symbol occurrence in the source file. More... | |
struct | ReferenceParams |
class | RefSlab |
An efficient structure of storing large set of symbol references in memory. More... | |
struct | RefsRequest |
struct | Relation |
Represents a relation between two symbols. More... | |
class | RelationSlab |
struct | RelationsRequest |
struct | RenameParams |
struct | ResolveTypeHierarchyItemParams |
Parameters for the typeHierarchy/resolve request. More... | |
class | ScopeDistance |
Support lookups like FileDistance, but the lookup keys are symbol scopes. More... | |
class | SelectionTree |
struct | SemanticHighlightingInformation |
Represents a semantic highlighting information that has to be applied on a specific line of the text document. More... | |
struct | SemanticHighlightingParams |
Parameters for the semantic highlighting (server-side) push notification. More... | |
class | Semaphore |
Limits the number of threads that can acquire the lock at the same time. More... | |
struct | ShowMessageParams |
The show message notification is sent from a server to a client to ask the client to display a particular message in the user interface. More... | |
struct | SignatureHelp |
Represents the signature of a callable. More... | |
struct | SignatureInformation |
Represents the signature of something callable. More... | |
struct | SignatureQualitySignals |
struct | SourceParams |
struct | SpeculativeFuzzyFind |
A speculative and asynchronous fuzzy find index request (based on cached request) that can be sent before parsing sema. More... | |
class | StoreDiags |
StoreDiags collects the diagnostics that can later be reported by clangd. More... | |
class | StreamLogger |
class | SubsequenceMatcher |
class | SwapIndex |
struct | Symbol |
The class presents a C++ symbol, e.g. More... | |
class | SymbolCollector |
Collect declarations (symbols) from an AST. More... | |
struct | SymbolDetails |
Represents information about identifier. More... | |
class | SymbolID |
class | SymbolIndex |
Interface for symbol indexes that can be used for searching or matching symbols among a set of symbols based on names or unique IDs. More... | |
struct | SymbolInformation |
Represents information about programming constructs like variables, classes, interfaces etc. More... | |
struct | SymbolLocation |
struct | SymbolQualitySignals |
Attributes of a symbol that affect how much we like it. More... | |
struct | SymbolRelevanceSignals |
Attributes of a symbol-query pair that affect how much we like it. More... | |
class | SymbolSlab |
An immutable symbol container that stores a set of symbols. More... | |
class | TestScheme |
unittest: is a scheme that refers to files relative to testRoot(). More... | |
struct | TestTU |
struct | TextDocumentContentChangeEvent |
struct | TextDocumentIdentifier |
struct | TextDocumentItem |
struct | TextDocumentPositionParams |
struct | TextEdit |
class | ThreadingTest |
class | TopN |
TopN<T> is a lossy container that preserves only the "best" N elements. More... | |
class | Transport |
struct | TUAction |
class | TUScheduler |
Handles running tasks for ClangdServer and managing the resources (e.g., preambles and ASTs) for opened files. More... | |
struct | TUStatus |
class | Tweak |
An interface base for small context-sensitive refactoring actions. More... | |
struct | TweakArgs |
Arguments for the 'applyTweak' command. More... | |
struct | TypeHierarchyItem |
struct | TypeHierarchyParams |
The type hierarchy params is an extension of the TextDocumentPositionsParams with optional properties which can be used to eagerly resolve the item when requesting from the server. More... | |
class | URI |
A URI describes the location of a source file. More... | |
class | URIDistance |
struct | URIForFile |
class | URIScheme |
URIScheme is an extension point for teaching clangd to recognize a custom URI scheme. More... | |
class | WithContext |
WithContext replaces Context::current() with a provided scope. More... | |
class | WithContextValue |
WithContextValue extends Context::current() with a single value. More... | |
struct | WorkspaceEdit |
struct | WorkspaceSymbolParams |
The parameters of a Workspace Symbol Request. More... | |
Typedefs | |
using | Canceler = std::function< void()> |
A canceller requests cancellation of a task, when called. More... | |
using | ClangTidyOptionsBuilder = std::function< tidy::ClangTidyOptions(llvm::vfs::FileSystem &, llvm::StringRef)> |
When set, used by ClangdServer to get clang-tidy options for each particular file. More... | |
using | PreambleParsedCallback = std::function< void(ASTContext &, std::shared_ptr< clang::Preprocessor >, const CanonicalIncludes &)> |
template<typename T > | |
using | Callback = llvm::unique_function< void(llvm::Expected< T >)> |
A Callback<T> is a void function that accepts Expected<T>. More... | |
using | CharTypeSet = unsigned char |
using | IncludeGraph = llvm::StringMap< IncludeGraphNode > |
using | SlabTuple = std::tuple< SymbolSlab, RefSlab, RelationSlab > |
using | Path = std::string |
A typedef to represent a file path. More... | |
using | PathRef = llvm::StringRef |
A typedef to represent a ref to file path. More... | |
using | ShutdownParams = NoParams |
using | ExitParams = NoParams |
using | CompletionItemKindBitset = std::bitset< CompletionItemKindMax+1 > |
using | SymbolKindBitset = std::bitset< SymbolKindMax+1 > |
typedef llvm::Registry< Tweak > | TweakRegistry |
A handy typedef to save some typing. More... | |
using | FileDigest = std::array< uint8_t, 8 > |
typedef llvm::Registry< URIScheme > | URISchemeRegistry |
By default, a "file" scheme is supported where URI paths are always absolute in the file system. More... | |
using | RecursionProtectionSet = llvm::SmallSet< const CXXRecordDecl *, 4 > |
Functions | |
bool | isSpelledInSourceCode (const Decl *D) |
bool | isImplementationDetail (const Decl *D) |
Returns true if the declaration is considered implementation detail based on heuristics. More... | |
SourceLocation | findNameLoc (const clang::Decl *D) |
Find the identifier source location of the given D. More... | |
std::string | printQualifiedName (const NamedDecl &ND) |
Returns the qualified name of ND. More... | |
std::string | printName (const ASTContext &Ctx, const NamedDecl &ND) |
Prints unqualified name of the decl for the purpose of displaying it to the user. More... | |
std::string | printTemplateSpecializationArgs (const NamedDecl &ND) |
Prints template arguments of a decl as written in the source code, including enclosing '<' and '>', e.g for a partial specialization like: template <typename u>=""> struct Foo<int, U> will return '<int, U>'. More... | |
std::string | printNamespaceScope (const DeclContext &DC) |
Returns the first enclosing namespace scope starting from DC . More... | |
llvm::Optional< SymbolID > | getSymbolID (const Decl *D) |
Gets the symbol ID for a declaration, if possible. More... | |
llvm::Optional< SymbolID > | getSymbolID (const IdentifierInfo &II, const MacroInfo *MI, const SourceManager &SM) |
Gets the symbol ID for a macro, if possible. More... | |
std::string | shortenNamespace (const llvm::StringRef OriginalName, const llvm::StringRef CurrentNamespace) |
Try to shorten the OriginalName by removing namespaces from the left of the string that are redundant in the CurrentNamespace. More... | |
std::string | printType (const QualType QT, const DeclContext &Context) |
Returns a QualType as string. More... | |
std::pair< Context, Canceler > | cancelableTask () |
Defines a new task whose cancellation may be requested. More... | |
bool | isCancelled (const Context &Ctx=Context::current()) |
True if the current context is within a cancelable task which was cancelled. More... | |
static std::vector< SymbolInformation > | flattenSymbolHierarchy (llvm::ArrayRef< DocumentSymbol > Symbols, const URIForFile &FileURI) |
The functions constructs a flattened view of the DocumentSymbol hierarchy. More... | |
static llvm::Optional< Command > | asCommand (const CodeAction &Action) |
static Location * | getToggle (const TextDocumentPositionParams &Point, LocatedSymbol &Sym) |
static llvm::Expected< Tweak::Selection > | tweakSelection (const Range &Sel, const InputsAndAST &AST) |
void | dumpAST (ParsedAST &AST, llvm::raw_ostream &OS) |
For testing/debugging purposes. More... | |
std::shared_ptr< const PreambleData > | buildPreamble (PathRef FileName, CompilerInvocation &CI, std::shared_ptr< const PreambleData > OldPreamble, const tooling::CompileCommand &OldCompileCommand, const ParseInputs &Inputs, bool StoreInMemory, PreambleParsedCallback PreambleCallback) |
Rebuild the preamble for the new inputs unless the old one can be reused. More... | |
llvm::Optional< ParsedAST > | buildAST (PathRef FileName, std::unique_ptr< CompilerInvocation > Invocation, const ParseInputs &Inputs, std::shared_ptr< const PreambleData > Preamble) |
Build an AST from provided user inputs. More... | |
SourceLocation | getBeginningOfIdentifier (const ParsedAST &Unit, const Position &Pos, const FileID FID) |
Get the beginning SourceLocation at a specified Pos . More... | |
CompletionPrefix | guessCompletionPrefix (llvm::StringRef Content, unsigned Offset) |
CodeCompleteResult | codeComplete (PathRef FileName, const tooling::CompileCommand &Command, const PreambleData *Preamble, llvm::StringRef Contents, Position Pos, llvm::IntrusiveRefCntPtr< llvm::vfs::FileSystem > VFS, CodeCompleteOptions Opts, SpeculativeFuzzyFind *SpecFuzzyFind) |
SignatureHelp | signatureHelp (PathRef FileName, const tooling::CompileCommand &Command, const PreambleData *Preamble, llvm::StringRef Contents, Position Pos, llvm::IntrusiveRefCntPtr< llvm::vfs::FileSystem > VFS, const SymbolIndex *Index) |
bool | isIndexedForCodeCompletion (const NamedDecl &ND, ASTContext &ASTCtx) |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &OS, const CodeCompletion &C) |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &OS, const CodeCompleteResult &R) |
raw_ostream & | operator<< (raw_ostream &, const CodeCompletion &) |
raw_ostream & | operator<< (raw_ostream &, const CodeCompleteResult &) |
CodeCompleteResult | codeComplete (PathRef FileName, const tooling::CompileCommand &Command, const PreambleData *Preamble, StringRef Contents, Position Pos, IntrusiveRefCntPtr< llvm::vfs::FileSystem > VFS, CodeCompleteOptions Opts, SpeculativeFuzzyFind *SpecFuzzyFind=nullptr) |
Gets code completions at a specified Pos in FileName . More... | |
SignatureHelp | signatureHelp (PathRef FileName, const tooling::CompileCommand &Command, const PreambleData *Preamble, StringRef Contents, Position Pos, IntrusiveRefCntPtr< llvm::vfs::FileSystem > VFS, const SymbolIndex *Index) |
Get signature help at a specified Pos in FileName . More... | |
std::string | getDocComment (const ASTContext &Ctx, const CodeCompletionResult &Result, bool CommentsFromHeaders) |
Gets a minimally formatted documentation comment of Result , with comment markers stripped. More... | |
std::string | getDeclComment (const ASTContext &Ctx, const NamedDecl &D) |
Similar to getDocComment, but returns the comment for a NamedDecl. More... | |
void | getSignature (const CodeCompletionString &CCS, std::string *Signature, std::string *Snippet, std::string *RequiredQualifiers=nullptr, bool CompletingPattern=false) |
Formats the signature for an item, as a display string and snippet. More... | |
std::string | formatDocumentation (const CodeCompletionString &CCS, llvm::StringRef DocComment) |
Assembles formatted documentation for a completion result. More... | |
std::string | getReturnType (const CodeCompletionString &CCS) |
Gets detail to be used as the detail field in an LSP completion item. More... | |
std::unique_ptr< CompilerInvocation > | buildCompilerInvocation (const ParseInputs &Inputs) |
Builds compiler invocation that could be used to build AST or preamble. More... | |
std::unique_ptr< CompilerInstance > | prepareCompilerInstance (std::unique_ptr< clang::CompilerInvocation > CI, const PrecompiledPreamble *Preamble, std::unique_ptr< llvm::MemoryBuffer > Buffer, llvm::IntrusiveRefCntPtr< llvm::vfs::FileSystem > VFS, DiagnosticConsumer &DiagsClient) |
std::unique_ptr< CompilerInstance > | prepareCompilerInstance (std::unique_ptr< clang::CompilerInvocation >, const PrecompiledPreamble *, std::unique_ptr< llvm::MemoryBuffer > MainFile, IntrusiveRefCntPtr< llvm::vfs::FileSystem >, DiagnosticConsumer &) |
Creates a compiler instance, configured so that: More... | |
static Context & | currentContext () |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &OS, const DiagBase &D) |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &OS, const Fix &F) |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &OS, const Diag &D) |
CodeAction | toCodeAction (const Fix &D, const URIForFile &File) |
Convert from Fix to LSP CodeAction. More... | |
void | toLSPDiags (const Diag &D, const URIForFile &File, const ClangdDiagnosticOptions &Opts, llvm::function_ref< void(clangd::Diagnostic, llvm::ArrayRef< Fix >)> OutFn) |
Conversion to LSP diagnostics. More... | |
int | getSeverity (DiagnosticsEngine::Level L) |
Convert from clang diagnostic level to LSP severity. More... | |
static void | writeCodeToFixMessage (llvm::raw_ostream &OS, llvm::StringRef Code) |
Sanitizes a piece for presenting it in a synthesized fix message. More... | |
static llvm::SmallString< 128 > | canonicalize (llvm::StringRef Path) |
static std::pair< std::string, int > | scopeToPath (llvm::StringRef Scope) |
static FileDistance | createScopeFileDistance (llvm::ArrayRef< std::string > QueryScopes) |
llvm::Expected< Location > | symbolToLocation (const Symbol &Sym, llvm::StringRef HintPath) |
Helper function for deriving an LSP Location for a Symbol. More... | |
llvm::Expected< std::vector< SymbolInformation > > | getWorkspaceSymbols (llvm::StringRef Query, int Limit, const SymbolIndex *const Index, llvm::StringRef HintPath) |
Searches for the symbols matching Query . More... | |
llvm::Expected< std::vector< DocumentSymbol > > | getDocumentSymbols (ParsedAST &AST) |
Retrieves the symbols contained in the "main file" section of an AST in the same order that they appear. More... | |
std::vector< tooling::Replacement > | formatIncremental (llvm::StringRef Code, unsigned Cursor, llvm::StringRef InsertedText, format::FormatStyle Style) |
Applies limited formatting around new InsertedText . More... | |
unsigned | transformCursorPosition (unsigned Offset, const std::vector< tooling::Replacement > &Replacements) |
Determine the new cursor position after applying Replacements . More... | |
Path | removeDots (PathRef File) |
Returns a version of File that doesn't contain dots and dot dots. More... | |
template<class Func , class... Args> | |
ForwardBinder< Func, Args... > | Bind (Func F, Args &&... As) |
Creates an object that stores a callable (F ) and first arguments to the callable (As ) and allows to call F with at a later point. More... | |
static char | lower (char C) |
static bool | isAwful (int S) |
template<typename T > | |
static T | packedLookup (const uint8_t *Data, int I) |
CharTypeSet | calculateRoles (llvm::StringRef Text, llvm::MutableArrayRef< CharRole > Roles) |
static std::string | getFallbackClangPath () |
static std::string | maybeCaseFoldPath (PathRef Path) |
static bool | pathEqual (PathRef A, PathRef B) |
std::unique_ptr< GlobalCompilationDatabase > | getQueryDriverDatabase (llvm::ArrayRef< std::string > QueryDriverGlobs, std::unique_ptr< GlobalCompilationDatabase > Base) |
Extracts system include search path from drivers matching QueryDriverGlobs and adds them to the compile flags. More... | |
bool | isLiteralInclude (llvm::StringRef Include) |
Returns true if Include is literal include like "path" or <path>. More... | |
llvm::Expected< HeaderFile > | toHeaderFile (llvm::StringRef Header, llvm::StringRef HintPath) |
Creates a HeaderFile from Header which can be either a URI or a literal include. More... | |
llvm::SmallVector< llvm::StringRef, 1 > | getRankedIncludes (const Symbol &Sym) |
std::unique_ptr< PPCallbacks > | collectIncludeStructureCallback (const SourceManager &SM, IncludeStructure *Out) |
Returns a PPCallback that visits all inclusions in the main file. More... | |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &OS, const Inclusion &Inc) |
IncludeGraphNode::SourceFlag | operator| (IncludeGraphNode::SourceFlag A, IncludeGraphNode::SourceFlag B) |
bool | operator & (IncludeGraphNode::SourceFlag A, IncludeGraphNode::SourceFlag B) |
IncludeGraphNode::SourceFlag & | operator|= (IncludeGraphNode::SourceFlag &A, IncludeGraphNode::SourceFlag B) |
llvm::Optional< std::string > | qualifiedByUnresolved (const SourceManager &SM, SourceLocation Loc, const LangOptions &LangOpts) |
llvm::Optional< CheapUnresolvedName > | extractUnresolvedNameCheaply (const SourceManager &SM, const DeclarationNameInfo &Unresolved, CXXScopeSpec *SS, const LangOptions &LangOpts, bool UnresolvedIsSpecifier) |
std::vector< std::string > | collectAccessibleScopes (Sema &Sem, const DeclarationNameInfo &Typo, Scope *S, Sema::LookupNameKind LookupKind) |
Returns all namespace scopes that the unqualified lookup would visit. More... | |
static llvm::StringRef | filenameWithoutExtension (llvm::StringRef Path) |
std::vector< LoadedShard > | loadIndexShards (llvm::ArrayRef< Path > MainFiles, BackgroundIndexStorage::Factory &IndexStorageFactory, const GlobalCompilationDatabase &CDB) |
Loads all shards for the TU MainFile from Storage . More... | |
std::unique_ptr< CommentHandler > | collectIWYUHeaderMaps (CanonicalIncludes *Includes) |
Returns a CommentHandler that parses pragma comment on include files to determine when we should include a different header from the header that directly defines a symbol. More... | |
void | addSystemHeadersMapping (CanonicalIncludes *Includes, const LangOptions &Language) |
Adds mapping for system headers and some special symbols (e.g. More... | |
static SlabTuple | indexSymbols (ASTContext &AST, std::shared_ptr< Preprocessor > PP, llvm::ArrayRef< Decl *> DeclsToIndex, const CanonicalIncludes &Includes, bool IsIndexMainAST) |
SlabTuple | indexMainDecls (ParsedAST &AST) |
Retrieves symbols and refs of local top level decls in AST (i.e. More... | |
SlabTuple | indexHeaderSymbols (ASTContext &AST, std::shared_ptr< Preprocessor > PP, const CanonicalIncludes &Includes) |
Idex declarations from AST and macros from PP that are declared in included headers. More... | |
bool | fromJSON (const llvm::json::Value &Parameters, FuzzyFindRequest &Request) |
llvm::json::Value | toJSON (const FuzzyFindRequest &Request) |
std::unique_ptr< FrontendAction > | createStaticIndexingAction (SymbolCollector::Options Opts, std::function< void(SymbolSlab)> SymbolsCallback, std::function< void(RefSlab)> RefsCallback, std::function< void(RelationSlab)> RelationsCallback, std::function< void(IncludeGraph)> IncludeGraphCallback) |
bool | prefer (const SymbolLocation &L, const SymbolLocation &R) |
Symbol | mergeSymbol (const Symbol &L, const Symbol &R) |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &OS, RefKind K) |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &OS, const Ref &R) |
RefKind | operator| (RefKind L, RefKind R) |
RefKind & | operator|= (RefKind &L, RefKind R) |
RefKind | operator & (RefKind A, RefKind B) |
bool | operator< (const Ref &L, const Ref &R) |
bool | operator== (const Ref &L, const Ref &R) |
RelationKind | symbolRoleToRelationKind (index::SymbolRole Role) |
index::SymbolRole | relationKindToSymbolRole (RelationKind Kind) |
void | writeYAML (const IndexFileOut &, llvm::raw_ostream &) |
llvm::Expected< IndexFileIn > | readYAML (llvm::StringRef) |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &OS, const IndexFileOut &O) |
llvm::Expected< IndexFileIn > | readIndexFile (llvm::StringRef Data) |
std::unique_ptr< SymbolIndex > | loadIndex (llvm::StringRef SymbolFilename, bool UseDex) |
std::string | toYAML (const Symbol &) |
std::string | toYAML (const std::pair< SymbolID, ArrayRef< Ref >> &) |
std::string | toYAML (const Relation &) |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &OS, Symbol::SymbolFlag F) |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &OS, const Symbol &S) |
float | quality (const Symbol &S) |
Computes query-independent quality score for a Symbol. More... | |
static void | own (Symbol &S, llvm::UniqueStringSaver &Strings) |
Symbol::SymbolFlag | operator| (Symbol::SymbolFlag A, Symbol::SymbolFlag B) |
Symbol::SymbolFlag & | operator|= (Symbol::SymbolFlag &A, Symbol::SymbolFlag B) |
template<typename Callback > | |
void | visitStrings (Symbol &S, const Callback &CB) |
Invokes Callback with each StringRef& contained in the Symbol. More... | |
static bool | isIf (llvm::StringRef Line) |
static bool | isErrorAboutInclude (llvm::StringRef Line) |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &OS, const SymbolID &ID) |
llvm::hash_code | hash_value (const SymbolID &ID) |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &OS, const SymbolLocation &L) |
bool | operator== (const SymbolLocation::Position &L, const SymbolLocation::Position &R) |
bool | operator< (const SymbolLocation::Position &L, const SymbolLocation::Position &R) |
bool | operator== (const SymbolLocation &L, const SymbolLocation &R) |
bool | operator< (const SymbolLocation &L, const SymbolLocation &R) |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &OS, SymbolOrigin O) |
SymbolOrigin | operator| (SymbolOrigin A, SymbolOrigin B) |
SymbolOrigin & | operator|= (SymbolOrigin &A, SymbolOrigin B) |
SymbolOrigin | operator & (SymbolOrigin A, SymbolOrigin B) |
std::string | toYAML (const std::pair< SymbolID, llvm::ArrayRef< Ref >> &Data) |
std::unique_ptr< Transport > | newJSONTransport (std::FILE *In, llvm::raw_ostream &Out, llvm::raw_ostream *InMirror, bool Pretty, JSONStreamStyle Style) |
template<typename... Ts> | |
void | elog (const char *Fmt, Ts &&... Vals) |
template<typename... Ts> | |
void | log (const char *Fmt, Ts &&... Vals) |
template<typename... Ts> | |
void | vlog (const char *Fmt, Ts &&... Vals) |
bool | fromJSON (const llvm::json::Value &E, URIForFile &R) |
llvm::json::Value | toJSON (const URIForFile &U) |
Serialize/deserialize URIForFile to/from a string URI. More... | |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &OS, const URIForFile &U) |
llvm::json::Value | toJSON (const TextDocumentIdentifier &R) |
bool | fromJSON (const llvm::json::Value &Params, TextDocumentIdentifier &R) |
bool | fromJSON (const llvm::json::Value &Params, Position &R) |
llvm::json::Value | toJSON (const Position &P) |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &OS, const Position &P) |
bool | fromJSON (const llvm::json::Value &Params, Range &R) |
llvm::json::Value | toJSON (const Range &P) |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &OS, const Range &R) |
llvm::json::Value | toJSON (const Location &P) |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &OS, const Location &L) |
bool | fromJSON (const llvm::json::Value &Params, TextDocumentItem &R) |
bool | fromJSON (const llvm::json::Value &Params, TextEdit &R) |
llvm::json::Value | toJSON (const TextEdit &P) |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &OS, const TextEdit &TE) |
bool | fromJSON (const llvm::json::Value &E, TraceLevel &Out) |
bool | fromJSON (const llvm::json::Value &E, SymbolKind &Out) |
bool | fromJSON (const llvm::json::Value &E, SymbolKindBitset &Out) |
SymbolKind | adjustKindToCapability (SymbolKind Kind, SymbolKindBitset &SupportedSymbolKinds) |
SymbolKind | indexSymbolKindToSymbolKind (index::SymbolKind Kind) |
bool | fromJSON (const llvm::json::Value &Params, ClientCapabilities &R) |
bool | fromJSON (const llvm::json::Value &Params, InitializeParams &R) |
llvm::json::Value | toJSON (const MessageType &R) |
llvm::json::Value | toJSON (const ShowMessageParams &R) |
bool | fromJSON (const llvm::json::Value &Params, DidOpenTextDocumentParams &R) |
bool | fromJSON (const llvm::json::Value &Params, DidCloseTextDocumentParams &R) |
bool | fromJSON (const llvm::json::Value &Params, DidChangeTextDocumentParams &R) |
bool | fromJSON (const llvm::json::Value &E, FileChangeType &Out) |
bool | fromJSON (const llvm::json::Value &Params, FileEvent &R) |
bool | fromJSON (const llvm::json::Value &Params, DidChangeWatchedFilesParams &R) |
bool | fromJSON (const llvm::json::Value &Params, TextDocumentContentChangeEvent &R) |
bool | fromJSON (const llvm::json::Value &Params, DocumentRangeFormattingParams &R) |
bool | fromJSON (const llvm::json::Value &Params, DocumentOnTypeFormattingParams &R) |
bool | fromJSON (const llvm::json::Value &Params, DocumentFormattingParams &R) |
bool | fromJSON (const llvm::json::Value &Params, DocumentSymbolParams &R) |
llvm::json::Value | toJSON (const DiagnosticRelatedInformation &DRI) |
llvm::json::Value | toJSON (const Diagnostic &D) |
bool | fromJSON (const llvm::json::Value &Params, Diagnostic &R) |
bool | fromJSON (const llvm::json::Value &Params, CodeActionContext &R) |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &OS, const Diagnostic &D) |
bool | fromJSON (const llvm::json::Value &Params, CodeActionParams &R) |
bool | fromJSON (const llvm::json::Value &Params, WorkspaceEdit &R) |
bool | fromJSON (const llvm::json::Value &Params, ExecuteCommandParams &R) |
llvm::json::Value | toJSON (const SymbolInformation &P) |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &O, const SymbolInformation &SI) |
bool | operator== (const SymbolDetails &LHS, const SymbolDetails &RHS) |
llvm::json::Value | toJSON (const SymbolDetails &P) |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &O, const SymbolDetails &S) |
bool | fromJSON (const llvm::json::Value &Params, WorkspaceSymbolParams &R) |
llvm::json::Value | toJSON (const Command &C) |
llvm::json::Value | toJSON (const CodeAction &CA) |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &O, const DocumentSymbol &S) |
llvm::json::Value | toJSON (const DocumentSymbol &S) |
llvm::json::Value | toJSON (const WorkspaceEdit &WE) |
bool | fromJSON (const llvm::json::Value &Params, TweakArgs &A) |
llvm::json::Value | toJSON (const TweakArgs &A) |
llvm::json::Value | toJSON (const ApplyWorkspaceEditParams &Params) |
bool | fromJSON (const llvm::json::Value &Params, TextDocumentPositionParams &R) |
bool | fromJSON (const llvm::json::Value &Params, CompletionContext &R) |
bool | fromJSON (const llvm::json::Value &Params, CompletionParams &R) |
static llvm::StringRef | toTextKind (MarkupKind Kind) |
bool | fromJSON (const llvm::json::Value &V, MarkupKind &K) |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &OS, MarkupKind K) |
llvm::json::Value | toJSON (const MarkupContent &MC) |
llvm::json::Value | toJSON (const Hover &H) |
bool | fromJSON (const llvm::json::Value &E, CompletionItemKind &Out) |
CompletionItemKind | adjustKindToCapability (CompletionItemKind Kind, CompletionItemKindBitset &SupportedCompletionItemKinds) |
bool | fromJSON (const llvm::json::Value &E, CompletionItemKindBitset &Out) |
llvm::json::Value | toJSON (const CompletionItem &CI) |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &O, const CompletionItem &I) |
bool | operator< (const CompletionItem &L, const CompletionItem &R) |
llvm::json::Value | toJSON (const CompletionList &L) |
llvm::json::Value | toJSON (const ParameterInformation &PI) |
llvm::json::Value | toJSON (const SignatureInformation &SI) |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &O, const SignatureInformation &I) |
llvm::json::Value | toJSON (const SignatureHelp &SH) |
bool | fromJSON (const llvm::json::Value &Params, RenameParams &R) |
llvm::json::Value | toJSON (const DocumentHighlight &DH) |
llvm::json::Value | toJSON (const FileStatus &FStatus) |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &O, const DocumentHighlight &V) |
bool | fromJSON (const llvm::json::Value &Params, DidChangeConfigurationParams &CCP) |
bool | fromJSON (const llvm::json::Value &Params, ClangdCompileCommand &CDbUpdate) |
bool | fromJSON (const llvm::json::Value &Params, ConfigurationSettings &S) |
bool | fromJSON (const llvm::json::Value &Params, InitializationOptions &Opts) |
bool | fromJSON (const llvm::json::Value &E, TypeHierarchyDirection &Out) |
bool | fromJSON (const llvm::json::Value &Params, TypeHierarchyParams &R) |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &O, const TypeHierarchyItem &I) |
llvm::json::Value | toJSON (const TypeHierarchyItem &I) |
bool | fromJSON (const llvm::json::Value &Params, TypeHierarchyItem &I) |
bool | fromJSON (const llvm::json::Value &Params, ResolveTypeHierarchyItemParams &P) |
bool | fromJSON (const llvm::json::Value &Params, ReferenceParams &R) |
static const char * | toString (OffsetEncoding OE) |
llvm::json::Value | toJSON (const OffsetEncoding &OE) |
bool | fromJSON (const llvm::json::Value &V, OffsetEncoding &OE) |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &OS, OffsetEncoding Enc) |
bool | operator== (const SemanticHighlightingInformation &Lhs, const SemanticHighlightingInformation &Rhs) |
llvm::json::Value | toJSON (const SemanticHighlightingInformation &Highlighting) |
llvm::json::Value | toJSON (const SemanticHighlightingParams &Highlighting) |
bool | operator== (const TextEdit &L, const TextEdit &R) |
bool | fromJSON (const llvm::json::Value &, NoParams &) |
static bool | isReserved (llvm::StringRef Name) |
static bool | hasDeclInMainFile (const Decl &D) |
static bool | hasUsingDeclInMainFile (const CodeCompletionResult &R) |
static SymbolQualitySignals::SymbolCategory | categorize (const NamedDecl &ND) |
static SymbolQualitySignals::SymbolCategory | categorize (const CodeCompletionResult &R) |
static SymbolQualitySignals::SymbolCategory | categorize (const index::SymbolInfo &D) |
static bool | isInstanceMember (const NamedDecl *ND) |
static bool | isInstanceMember (const index::SymbolInfo &D) |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &OS, const SymbolQualitySignals &S) |
static SymbolRelevanceSignals::AccessibleScope | computeScope (const NamedDecl *D) |
static std::pair< float, unsigned > | uriProximity (llvm::StringRef SymbolURI, URIDistance *D) |
static float | scopeBoost (ScopeDistance &Distance, llvm::Optional< llvm::StringRef > SymbolScope) |
static llvm::Optional< llvm::StringRef > | wordMatching (llvm::StringRef Name, const llvm::StringSet<> *ContextWords) |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &OS, const SymbolRelevanceSignals &S) |
float | evaluateSymbolAndRelevance (float SymbolQuality, float SymbolRelevance) |
Combine symbol quality and relevance into a single score. More... | |
static uint32_t | encodeFloat (float F) |
std::string | sortText (float Score, llvm::StringRef Tiebreak="") |
Returns a string that sorts in the same order as (-Score, Tiebreak), for LSP. More... | |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &OS, const SignatureQualitySignals &S) |
llvm::Expected< tooling::Replacements > | renameWithinFile (ParsedAST &AST, llvm::StringRef File, Position Pos, llvm::StringRef NewName, const SymbolIndex *Index=nullptr) |
Renames all occurrences of the symbol at Pos to NewName . More... | |
std::vector< std::unique_ptr< Tweak > > | prepareTweaks (const Tweak::Selection &S, llvm::function_ref< bool(const Tweak &)> Filter) |
Calls prepare() on all tweaks that satisfy the filter, returning those that can run on the selection. More... | |
llvm::Expected< std::unique_ptr< Tweak > > | prepareTweak (StringRef ID, const Tweak::Selection &S) |
static std::pair< unsigned, unsigned > | pointBounds (unsigned Offset, FileID FID, ASTContext &AST) |
bool | operator== (const HighlightingToken &Lhs, const HighlightingToken &Rhs) |
std::vector< HighlightingToken > | getSemanticHighlightings (ParsedAST &AST) |
std::vector< SemanticHighlightingInformation > | toSemanticHighlightingInformation (llvm::ArrayRef< HighlightingToken > Tokens) |
llvm::StringRef | toTextMateScope (HighlightingKind Kind) |
Converts a HighlightingKind to a corresponding TextMate scope (https://manual.macromates.com/en/language_grammars). More... | |
template<typename Callback > | |
static bool | iterateCodepoints (llvm::StringRef U8, const Callback &CB) |
static size_t | measureUnits (llvm::StringRef U8, int Units, OffsetEncoding Enc, bool &Valid) |
static OffsetEncoding | lspEncoding () |
size_t | lspLength (llvm::StringRef Code) |
llvm::Expected< size_t > | positionToOffset (llvm::StringRef Code, Position P, bool AllowColumnsBeyondLineLength=true) |
Turn a [line, column] pair into an offset in Code. More... | |
Position | offsetToPosition (llvm::StringRef Code, size_t Offset) |
Turn an offset in Code into a [line, column] pair. More... | |
Position | sourceLocToPosition (const SourceManager &SM, SourceLocation Loc) |
Turn a SourceLocation into a [line, column] pair. More... | |
llvm::Optional< Range > | getTokenRange (const SourceManager &SM, const LangOptions &LangOpts, SourceLocation TokLoc) |
Returns the taken range at TokLoc . More... | |
bool | isValidFileRange (const SourceManager &Mgr, SourceRange R) |
Returns true iff all of the following conditions hold: More... | |
bool | halfOpenRangeContains (const SourceManager &Mgr, SourceRange R, SourceLocation L) |
Returns true iff L is contained in R . More... | |
bool | halfOpenRangeTouches (const SourceManager &Mgr, SourceRange R, SourceLocation L) |
Returns true iff L is contained in R or L is equal to the end point of R . More... | |
static unsigned | getTokenLengthAtLoc (SourceLocation Loc, const SourceManager &SM, const LangOptions &LangOpts) |
static SourceLocation | getLocForTokenEnd (SourceLocation BeginLoc, const SourceManager &SM, const LangOptions &LangOpts) |
static SourceLocation | getLocForTokenBegin (SourceLocation EndLoc, const SourceManager &SM, const LangOptions &LangOpts) |
static SourceRange | toTokenRange (CharSourceRange Range, const SourceManager &SM, const LangOptions &LangOpts) |
static SourceRange | unionTokenRange (SourceRange R1, SourceRange R2, const SourceManager &SM, const LangOptions &LangOpts) |
static bool | inSameFile (SourceLocation Loc1, SourceLocation Loc2, const SourceManager &SM) |
static SourceRange | getExpansionTokenRangeInSameFile (SourceLocation Loc, const SourceManager &SM, const LangOptions &LangOpts) |
static SourceRange | getTokenFileRange (SourceLocation Loc, const SourceManager &SM, const LangOptions &LangOpts) |
bool | isInsideMainFile (SourceLocation Loc, const SourceManager &SM) |
Returns true iff Loc is inside the main file. More... | |
llvm::Optional< SourceRange > | toHalfOpenFileRange (const SourceManager &Mgr, const LangOptions &LangOpts, SourceRange R) |
Turns a token range into a half-open range and checks its correctness. More... | |
llvm::StringRef | toSourceCode (const SourceManager &SM, SourceRange R) |
Returns the source code covered by the source range. More... | |
llvm::Expected< SourceLocation > | sourceLocationInMainFile (const SourceManager &SM, Position P) |
Return the file location, corresponding to P . More... | |
Range | halfOpenToRange (const SourceManager &SM, CharSourceRange R) |
std::pair< size_t, size_t > | offsetToClangLineColumn (llvm::StringRef Code, size_t Offset) |
std::pair< StringRef, StringRef > | splitQualifiedName (StringRef QName) |
TextEdit | replacementToEdit (llvm::StringRef Code, const tooling::Replacement &R) |
std::vector< TextEdit > | replacementsToEdits (llvm::StringRef Code, const tooling::Replacements &Repls) |
llvm::Optional< std::string > | getCanonicalPath (const FileEntry *F, const SourceManager &SourceMgr) |
Get the canonical path of F . More... | |
TextEdit | toTextEdit (const FixItHint &FixIt, const SourceManager &M, const LangOptions &L) |
bool | isRangeConsecutive (const Range &Left, const Range &Right) |
FileDigest | digest (llvm::StringRef Content) |
llvm::Optional< FileDigest > | digestFile (const SourceManager &SM, FileID FID) |
format::FormatStyle | getFormatStyleForFile (llvm::StringRef File, llvm::StringRef Content, llvm::vfs::FileSystem *FS) |
Choose the clang-format style we should apply to a certain file. More... | |
llvm::Expected< tooling::Replacements > | cleanupAndFormat (StringRef Code, const tooling::Replacements &Replaces, const format::FormatStyle &Style) |
template<typename Action > | |
static void | lex (llvm::StringRef Code, const format::FormatStyle &Style, Action A) |
llvm::StringMap< unsigned > | collectIdentifiers (llvm::StringRef Content, const format::FormatStyle &Style) |
Collects identifiers with counts in the source code. More... | |
std::vector< std::string > | visibleNamespaces (llvm::StringRef Code, const format::FormatStyle &Style) |
Heuristically determine namespaces visible at a point, without parsing Code. More... | |
llvm::StringSet | collectWords (llvm::StringRef Content) |
Collects words from the source code. More... | |
llvm::Optional< DefinedMacro > | locateMacroAt (SourceLocation Loc, Preprocessor &PP) |
FileDigest | digest (StringRef Content) |
size_t | lspLength (StringRef Code) |
std::pair< llvm::StringRef, llvm::StringRef > | splitQualifiedName (llvm::StringRef QName) |
From "a::b::c", return {"a::b::", "c"}. More... | |
TextEdit | replacementToEdit (StringRef Code, const tooling::Replacement &R) |
std::vector< TextEdit > | replacementsToEdits (StringRef Code, const tooling::Replacements &Repls) |
Deadline | timeoutSeconds (llvm::Optional< double > Seconds) |
Makes a deadline from a timeout in seconds. None means wait forever. More... | |
void | wait (std::unique_lock< std::mutex > &Lock, std::condition_variable &CV, Deadline D) |
Wait once on CV for the specified duration. More... | |
template<typename Func > | |
LLVM_NODISCARD bool | wait (std::unique_lock< std::mutex > &Lock, std::condition_variable &CV, Deadline D, Func F) |
Waits on a condition variable until F() is true or D expires. More... | |
unsigned | getDefaultAsyncThreadsCount () |
Returns a number of a default async threads to use for TUScheduler. More... | |
template<typename T > | |
std::future< T > | runAsync (llvm::unique_function< T()> Action) |
Runs Action asynchronously with a new std::thread. More... | |
static clangd::Range | toLSPRange (llvm::StringRef Code, Annotations::Range R) |
MATCHER_P (Named, N, "") | |
MATCHER (Declared, "") | |
MATCHER (Defined, "") | |
MATCHER_P (FileURI, F, "") | |
::testing::Matcher< const RefSlab & > | RefsAre (std::vector<::testing::Matcher< Ref >> Matchers) |
MATCHER (EmptyIncludeNode, "") | |
MATCHER (HadErrors, "") | |
MATCHER_P (NumReferences, N, "") | |
TEST_F (BackgroundIndexTest, NoCrashOnErrorFile) | |
TEST_F (BackgroundIndexTest, IndexTwoFiles) | |
TEST_F (BackgroundIndexTest, ShardStorageTest) | |
TEST_F (BackgroundIndexTest, DirectIncludesTest) | |
TEST_F (BackgroundIndexTest, ShardStorageLoad) | |
TEST_F (BackgroundIndexTest, ShardStorageEmptyFile) | |
TEST_F (BackgroundIndexTest, NoDotsInAbsPath) | |
TEST_F (BackgroundIndexTest, UncompilableFiles) | |
TEST_F (BackgroundIndexTest, CmdLineHash) | |
TEST_F (BackgroundIndexRebuilderTest, IndexingTUs) | |
TEST_F (BackgroundIndexRebuilderTest, LoadingShards) | |
TEST (BackgroundQueueTest, Priority) | |
TEST (BackgroundQueueTest, Boost) | |
TEST (ContextTests, Simple) | |
TEST (ContextTests, MoveOps) | |
TEST (ContextTests, Builders) | |
TEST_F (WorkspaceSymbolsTest, Macros) | |
TEST_F (WorkspaceSymbolsTest, NoLocals) | |
TEST_F (WorkspaceSymbolsTest, Globals) | |
TEST_F (WorkspaceSymbolsTest, Unnamed) | |
TEST_F (WorkspaceSymbolsTest, InMainFile) | |
TEST_F (WorkspaceSymbolsTest, Namespaces) | |
TEST_F (WorkspaceSymbolsTest, AnonymousNamespace) | |
TEST_F (WorkspaceSymbolsTest, MultiFile) | |
TEST_F (WorkspaceSymbolsTest, GlobalNamespaceQueries) | |
TEST_F (WorkspaceSymbolsTest, Enums) | |
TEST_F (WorkspaceSymbolsTest, Ranking) | |
TEST_F (WorkspaceSymbolsTest, WithLimit) | |
TEST_F (WorkspaceSymbolsTest, TempSpecs) | |
TEST_F (DocumentSymbolsTest, BasicSymbols) | |
TEST_F (DocumentSymbolsTest, DeclarationDefinition) | |
TEST_F (DocumentSymbolsTest, ExternSymbol) | |
TEST_F (DocumentSymbolsTest, NoLocals) | |
TEST_F (DocumentSymbolsTest, Unnamed) | |
TEST_F (DocumentSymbolsTest, InHeaderFile) | |
TEST_F (DocumentSymbolsTest, Template) | |
TEST_F (DocumentSymbolsTest, Namespaces) | |
TEST_F (DocumentSymbolsTest, Enums) | |
TEST_F (DocumentSymbolsTest, FromMacro) | |
TEST_F (DocumentSymbolsTest, FuncTemplates) | |
TEST_F (DocumentSymbolsTest, UsingDirectives) | |
TEST_F (DocumentSymbolsTest, TempSpecs) | |
template<typename... Args> | |
PolySubsequenceMatcher< Args... > | HasSubsequence (Args &&... M) |
template<typename InnerMatcher > | |
OptionalMatcher< InnerMatcher > | HasValue (const InnerMatcher &inner_matcher) |
void | runAddDocument (ClangdServer &Server, PathRef File, llvm::StringRef Contents, WantDiagnostics WantDiags) |
llvm::Expected< CodeCompleteResult > | runCodeComplete (ClangdServer &Server, PathRef File, Position Pos, clangd::CodeCompleteOptions Opts) |
llvm::Expected< SignatureHelp > | runSignatureHelp (ClangdServer &Server, PathRef File, Position Pos) |
llvm::Expected< std::vector< LocatedSymbol > > | runLocateSymbolAt (ClangdServer &Server, PathRef File, Position Pos) |
llvm::Expected< std::vector< DocumentHighlight > > | runFindDocumentHighlights (ClangdServer &Server, PathRef File, Position Pos) |
llvm::Expected< std::vector< TextEdit > > | runRename (ClangdServer &Server, PathRef File, Position Pos, llvm::StringRef NewName) |
std::string | runDumpAST (ClangdServer &Server, PathRef File) |
llvm::Expected< std::vector< SymbolInformation > > | runWorkspaceSymbols (ClangdServer &Server, llvm::StringRef Query, int Limit) |
llvm::Expected< std::vector< DocumentSymbol > > | runDocumentSymbols (ClangdServer &Server, PathRef File) |
SymbolSlab | runFuzzyFind (const SymbolIndex &Index, llvm::StringRef Query) |
SymbolSlab | runFuzzyFind (const SymbolIndex &Index, const FuzzyFindRequest &Req) |
RefSlab | getRefs (const SymbolIndex &Index, SymbolID ID) |
void | runAddDocument (ClangdServer &Server, PathRef File, StringRef Contents, WantDiagnostics WantDiags=WantDiagnostics::Auto) |
llvm::Expected< std::vector< TextEdit > > | runRename (ClangdServer &Server, PathRef File, Position Pos, StringRef NewName) |
llvm::Expected< std::vector< SymbolInformation > > | runWorkspaceSymbols (ClangdServer &Server, StringRef Query, int Limit) |
SymbolSlab | runFuzzyFind (const SymbolIndex &Index, StringRef Query) |
llvm::IntrusiveRefCntPtr< llvm::vfs::FileSystem > | buildTestFS (llvm::StringMap< std::string > const &Files, llvm::StringMap< time_t > const &Timestamps) |
const char * | testRoot () |
std::string | testPath (PathRef File) |
static URISchemeRegistry::Add< TestScheme > | X (TestScheme::Scheme, "Test schema") |
Symbol | symbol (llvm::StringRef QName) |
static std::string | replace (llvm::StringRef Haystack, llvm::StringRef Needle, llvm::StringRef Repl) |
Symbol | sym (llvm::StringRef QName, index::SymbolKind Kind, llvm::StringRef USRFormat) |
Symbol | func (llvm::StringRef Name) |
Symbol | cls (llvm::StringRef Name) |
Symbol | var (llvm::StringRef Name) |
Symbol | ns (llvm::StringRef Name) |
SymbolSlab | generateSymbols (std::vector< std::string > QualifiedNames) |
SymbolSlab | generateNumSymbols (int Begin, int End) |
std::string | getQualifiedName (const Symbol &Sym) |
std::vector< std::string > | match (const SymbolIndex &I, const FuzzyFindRequest &Req, bool *Incomplete) |
std::vector< std::string > | lookup (const SymbolIndex &I, llvm::ArrayRef< SymbolID > IDs) |
const Symbol & | findSymbol (const SymbolSlab &Slab, llvm::StringRef QName) |
const NamedDecl & | findDecl (ParsedAST &AST, llvm::StringRef QName) |
const NamedDecl & | findDecl (ParsedAST &AST, std::function< bool(const NamedDecl &)> Filter) |
const NamedDecl & | findUnqualifiedDecl (ParsedAST &AST, llvm::StringRef Name) |
TEST_F (ThreadingTest, TaskRunner) | |
xpc_object_t | jsonToXpc (const json::Value &JSON) |
json::Value | xpcToJson (const xpc_object_t &XPCObject) |
xpc_object_t | jsonToXpc (const llvm::json::Value &JSON) |
std::unique_ptr< Transport > | newXPCTransport () |
std::vector< LocatedSymbol > | locateSymbolAt (ParsedAST &AST, Position Pos, const SymbolIndex *Index=nullptr) |
Get definition of symbol at a specified Pos . More... | |
std::vector< DocumentHighlight > | findDocumentHighlights (ParsedAST &AST, Position Pos) |
Returns highlights for all usages of a symbol at Pos . More... | |
static PrintingPolicy | printingPolicyForDecls (PrintingPolicy Base) |
static std::string | getLocalScope (const Decl *D) |
Given a declaration D , return a human-readable string representing the local scope in which it is declared, i.e. More... | |
static std::string | getNamespaceScope (const Decl *D) |
Returns the human-readable representation for namespace containing the declaration D . More... | |
static std::string | printDefinition (const Decl *D) |
static void | printParams (llvm::raw_ostream &OS, const std::vector< HoverInfo::Param > &Params) |
static std::vector< HoverInfo::Param > | fetchTemplateParameters (const TemplateParameterList *Params, const PrintingPolicy &PP) |
static const FunctionDecl * | getUnderlyingFunction (const Decl *D) |
static void | enhanceFromIndex (HoverInfo &Hover, const Decl *D, const SymbolIndex *Index) |
static HoverInfo | getHoverContents (const Decl *D, const SymbolIndex *Index) |
Generate a Hover object given the declaration D . More... | |
static HoverInfo | getHoverContents (QualType T, const Decl *D, ASTContext &ASTCtx, const SymbolIndex *Index) |
Generate a Hover object given the type T . More... | |
static HoverInfo | getHoverContents (const DefinedMacro &Macro, ParsedAST &AST) |
Generate a Hover object given the macro MacroDecl . More... | |
llvm::Optional< QualType > | getDeducedType (ParsedAST &AST, SourceLocation SourceLocationBeg) |
Retrieves the deduced type at a given location (auto, decltype). More... | |
bool | hasDeducedType (ParsedAST &AST, SourceLocation SourceLocationBeg) |
Retrieves the deduced type at a given location (auto, decltype). More... | |
llvm::Optional< HoverInfo > | getHover (ParsedAST &AST, Position Pos, format::FormatStyle Style, const SymbolIndex *Index) |
Get the hover information when hovering at Pos . More... | |
std::vector< Location > | findReferences (ParsedAST &AST, Position Pos, uint32_t Limit, const SymbolIndex *Index=nullptr) |
Returns reference locations of the symbol at a specified Pos . More... | |
std::vector< SymbolDetails > | getSymbolInfo (ParsedAST &AST, Position Pos) |
Get info about symbols at Pos . More... | |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &OS, const LocatedSymbol &S) |
static llvm::Optional< TypeHierarchyItem > | declToTypeHierarchyItem (ASTContext &Ctx, const NamedDecl &ND) |
static Optional< TypeHierarchyItem > | symbolToTypeHierarchyItem (const Symbol &S, const SymbolIndex *Index, PathRef TUPath) |
static void | fillSubTypes (const SymbolID &ID, std::vector< TypeHierarchyItem > &SubTypes, const SymbolIndex *Index, int Levels, PathRef TUPath) |
static void | fillSuperTypes (const CXXRecordDecl &CXXRD, ASTContext &ASTCtx, std::vector< TypeHierarchyItem > &SuperTypes, RecursionProtectionSet &RPSet) |
const CXXRecordDecl * | findRecordTypeAt (ParsedAST &AST, Position Pos) |
Find the record type references at Pos . More... | |
std::vector< const CXXRecordDecl * > | typeParents (const CXXRecordDecl *CXXRD) |
Given a record type declaration, find its base (parent) types. More... | |
llvm::Optional< TypeHierarchyItem > | getTypeHierarchy (ParsedAST &AST, Position Pos, int Resolve, TypeHierarchyDirection Direction, const SymbolIndex *Index=nullptr, PathRef TUPath=PathRef{}) |
Get type hierarchy information at Pos . More... | |
void | resolveTypeHierarchy (TypeHierarchyItem &Item, int ResolveLevels, TypeHierarchyDirection Direction, const SymbolIndex *Index) |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &OS, const HoverInfo::Param &P) |
bool | operator== (const HoverInfo::Param &LHS, const HoverInfo::Param &RHS) |
Variables | |
static Key< std::shared_ptr< std::atomic< bool > > > | FlagKey |
static constexpr int | AwfulScore = -(1 << 13) |
static constexpr int | PerfectBonus = 4 |
static constexpr uint8_t | CharTypes [] |
static constexpr uint8_t | CharRoles [] |
static std::atomic< bool > | PreventStarvation = {false} |
constexpr auto | CompletionItemKindMin |
constexpr auto | CompletionItemKindMax |
constexpr auto | SymbolKindMin = static_cast<size_t>(SymbolKind::File) |
constexpr auto | SymbolKindMax = static_cast<size_t>(SymbolKind::TypeParameter) |
Key< OffsetEncoding > | kCurrentOffsetEncoding |
static clang::clangd::Key< std::string > | kFileBeingProcessed |
static int LLVM_ATTRIBUTE_UNUSED | UnittestSchemeAnchorDest |
volatile int | UnittestSchemeAnchorSource = 0 |
static int LLVM_ATTRIBUTE_UNUSED | UnittestSchemeAnchorDest |
using clang::clangd::Callback = typedef llvm::unique_function<void(llvm::Expected<T>)> |
A Callback<T> is a void function that accepts Expected<T>.
This is accepted by ClangdServer functions that logically return T.
Definition at line 28 of file Function.h.
using clang::clangd::Canceler = typedef std::function<void()> |
A canceller requests cancellation of a task, when called.
Calling it again has no effect.
Definition at line 70 of file Cancellation.h.
using clang::clangd::CharTypeSet = typedef unsigned char |
Definition at line 49 of file FuzzyMatch.h.
using clang::clangd::ClangTidyOptionsBuilder = typedef std::function<tidy::ClangTidyOptions( llvm::vfs::FileSystem &, llvm::StringRef )> |
When set, used by ClangdServer to get clang-tidy options for each particular file.
Must be thread-safe. We use this instead of ClangTidyOptionsProvider to allow reading tidy configs from the VFS used for parsing.
Definition at line 64 of file ClangdServer.h.
using clang::clangd::CompletionItemKindBitset = typedef std::bitset<CompletionItemKindMax + 1> |
Definition at line 292 of file Protocol.h.
using clang::clangd::ExitParams = typedef NoParams |
Definition at line 242 of file Protocol.h.
using clang::clangd::FileDigest = typedef std::array<uint8_t, 8> |
Definition at line 35 of file SourceCode.h.
using clang::clangd::IncludeGraph = typedef llvm::StringMap<IncludeGraphNode> |
using clang::clangd::Path = typedef std::string |
using clang::clangd::PathRef = typedef llvm::StringRef |
using clang::clangd::PreambleParsedCallback = typedef std::function<void(ASTContext &, std::shared_ptr<clang::Preprocessor>, const CanonicalIncludes &)> |
Definition at line 157 of file ClangdUnit.h.
using clang::clangd::RecursionProtectionSet = typedef llvm::SmallSet<const CXXRecordDecl *, 4> |
using clang::clangd::ShutdownParams = typedef NoParams |
Definition at line 241 of file Protocol.h.
using clang::clangd::SlabTuple = typedef std::tuple<SymbolSlab, RefSlab, RelationSlab> |
Definition at line 134 of file FileIndex.h.
using clang::clangd::SymbolKindBitset = typedef std::bitset<SymbolKindMax + 1> |
Definition at line 330 of file Protocol.h.
typedef llvm::Registry<Tweak> clang::clangd::TweakRegistry |
typedef llvm::Registry<URIScheme> clang::clangd::URISchemeRegistry |
enum clang::clangd::CharRole : unsigned char |
Enumerator | |
---|---|
Unknown | |
Tail | |
Head | |
Separator |
Definition at line 55 of file FuzzyMatch.h.
enum clang::clangd::CharType : unsigned char |
Enumerator | |
---|---|
Empty | |
Lower | |
Upper | |
Punctuation |
Definition at line 41 of file FuzzyMatch.h.
|
strong |
The kind of a completion entry.
Definition at line 259 of file Protocol.h.
|
strong |
Definition at line 881 of file Protocol.h.
|
strong |
Enumerator | |
---|---|
Text | |
Read | |
Write |
Definition at line 1075 of file Protocol.h.
|
strong |
How to handle duplicated symbols across multiple files.
Enumerator | |
---|---|
PickOne | |
Merge |
Definition at line 39 of file FileIndex.h.
|
strong |
Enumerator | |
---|---|
ParseError | |
InvalidRequest | |
MethodNotFound | |
InvalidParams | |
InternalError | |
ServerNotInitialized | |
UnknownErrorCode | |
RequestCancelled |
Definition at line 39 of file Protocol.h.
|
strong |
Enumerator | |
---|---|
Created | The file got created. |
Changed | The file got changed. |
Deleted | The file got deleted. |
Definition at line 560 of file Protocol.h.
|
strong |
Enumerator | |
---|---|
Variable | |
Function | |
Method | |
Field | |
Class | |
Enum | |
EnumConstant | |
Namespace | |
TemplateParameter | |
NumKinds |
Definition at line 26 of file SemanticHighlighting.h.
|
strong |
Enumerator | |
---|---|
RIFF | |
YAML |
Definition at line 36 of file Serialization.h.
|
strong |
Select between in-memory index implementations, which have tradeoffs.
Enumerator | |
---|---|
Light | |
Heavy |
Definition at line 31 of file FileIndex.h.
|
strong |
Defines whether the insert text in a completion item should be interpreted as plain text or a snippet.
Definition at line 924 of file Protocol.h.
Enumerator | |
---|---|
Standard | |
Delimited |
Definition at line 65 of file Transport.h.
|
strong |
Enumerator | |
---|---|
PlainText | |
Markdown |
Definition at line 358 of file Protocol.h.
|
strong |
Enumerator | |
---|---|
Error | An error message. |
Warning | A warning message. |
Info | An information message. |
Log | A log message. |
Definition at line 497 of file Protocol.h.
|
strong |
Enumerator | |
---|---|
UnsupportedEncoding | |
UTF16 | |
UTF8 | |
UTF32 |
Definition at line 342 of file Protocol.h.
|
strong |
|
strong |
Enumerator | |
---|---|
BaseOf |
Definition at line 87 of file Serialization.h.
|
strong |
A symbol kind.
Definition at line 299 of file Protocol.h.
|
strong |
Enumerator | |
---|---|
Unknown | |
AST | |
Dynamic | |
Static | |
Merge | |
Identifier |
Definition at line 21 of file SymbolOrigin.h.
|
strong |
Defines how the host (editor) should sync document changes to the language server.
Definition at line 246 of file Protocol.h.
|
strong |
Enumerator | |
---|---|
Off | |
Messages | |
Verbose |
Definition at line 232 of file Protocol.h.
|
strong |
Enumerator | |
---|---|
Children | |
Parents | |
Both |
Definition at line 1103 of file Protocol.h.
|
strong |
Determines whether diagnostics should be generated for a file snapshot.
Enumerator | |
---|---|
Yes | |
No | Diagnostics must be generated for this snapshot. |
Auto | Diagnostics must not be generated for this snapshot. |
Definition at line 43 of file TUScheduler.h.
void clang::clangd::addSystemHeadersMapping | ( | CanonicalIncludes * | Includes, |
const LangOptions & | Language | ||
) |
Adds mapping for system headers and some special symbols (e.g.
STL symbols in <iosfwd> need to be mapped individually). Approximately, the following system headers are handled:
Definition at line 89 of file CanonicalIncludes.cpp.
SymbolKind clang::clangd::adjustKindToCapability | ( | SymbolKind | Kind, |
SymbolKindBitset & | SupportedSymbolKinds | ||
) |
Definition at line 198 of file Protocol.cpp.
References Class, Enum, EnumMember, Kind, String, Struct, and SymbolKindMin.
CompletionItemKind clang::clangd::adjustKindToCapability | ( | CompletionItemKind | Kind, |
CompletionItemKindBitset & | SupportedCompletionItemKinds | ||
) |
Definition at line 760 of file Protocol.cpp.
References Class, CompletionItemKindMin, Enum, EnumMember, File, Folder, Kind, Struct, and Text.
|
static |
Definition at line 705 of file ClangdLSPServer.cpp.
References clang::clangd::CodeAction::command, Command, clang::clangd::CodeActionParams::context, D, clang::clangd::CodeActionContext::diagnostics, clang::clangd::CodeAction::edit, clang::clangd::URIForFile::file(), InvalidParams, clang::clangd::CodeAction::kind, None, clang::clangd::CodeAction::QUICKFIX_KIND, clang::clangd::CodeActionParams::textDocument, clang::clangd::CodeAction::title, and clang::clangd::TextDocumentIdentifier::uri.
ForwardBinder<Func, Args...> clang::clangd::Bind | ( | Func | F, |
Args &&... | As | ||
) |
Creates an object that stores a callable (F
) and first arguments to the callable (As
) and allows to call F
with at a later point.
Similar to std::bind, but also works with move-only F
and As
.
The returned object must be called no more than once, as As
are std::forwarded'ed (therefore can be moved) into F
during the call.
Definition at line 81 of file Function.h.
Referenced by clang::clangd::ClangdServer::documentSymbols(), clang::clangd::ClangdServer::dumpAST(), clang::clangd::ClangdServer::enumerateTweaks(), clang::clangd::ClangdServer::findDocumentHighlights(), clang::clangd::ClangdServer::findReferences(), flattenSymbolHierarchy(), clang::clangd::ClangdServer::locateSymbolAt(), clang::clangd::ClangdServer::signatureHelp(), clang::clangd::ClangdServer::symbolInfo(), and clang::clangd::ClangdServer::typeHierarchy().
llvm::Optional< ParsedAST > clang::clangd::buildAST | ( | PathRef | FileName, |
std::unique_ptr< CompilerInvocation > | Invocation, | ||
const ParseInputs & | Inputs, | ||
std::shared_ptr< const PreambleData > | Preamble | ||
) |
Build an AST from provided user inputs.
This function does not check if preamble can be reused, as this function expects that Preamble
is the result of calling buildPreamble.
Definition at line 638 of file ClangdUnit.cpp.
Referenced by clang::clangd::TestTU::build().
std::unique_ptr< CompilerInvocation > clang::clangd::buildCompilerInvocation | ( | const ParseInputs & | Inputs | ) |
Builds compiler invocation that could be used to build AST or preamble.
Definition at line 44 of file Compiler.cpp.
References clang::clangd::ParseInputs::CompileCommand, clang::clangd::ParseInputs::FS, and clang::clangd::IgnoreDiagnostics::log().
Referenced by clang::clangd::TestTU::build().
std::shared_ptr< const PreambleData > clang::clangd::buildPreamble | ( | PathRef | FileName, |
CompilerInvocation & | CI, | ||
std::shared_ptr< const PreambleData > | OldPreamble, | ||
const tooling::CompileCommand & | OldCompileCommand, | ||
const ParseInputs & | Inputs, | ||
bool | StoreInMemory, | ||
PreambleParsedCallback | PreambleCallback | ||
) |
Rebuild the preamble for the new inputs unless the old one can be reused.
If OldPreamble
can be reused, it is returned unchanged. If OldPreamble
is null, always builds the preamble. If PreambleCallback
is set, it will be run on top of the AST while building the preamble. Note that if the old preamble was reused, no AST is built and, therefore, the callback will not be executed.
Definition at line 566 of file ClangdUnit.cpp.
References clang::clangd::ParseInputs::CompileCommand, clang::clangd::ParseInputs::Contents, clang::clangd::ParseInputs::FS, and vlog().
Referenced by clang::clangd::TestTU::build().
llvm::IntrusiveRefCntPtr< llvm::vfs::FileSystem > clang::clangd::buildTestFS | ( | llvm::StringMap< std::string > const & | Files, |
llvm::StringMap< time_t > const & | Timestamps | ||
) |
Definition at line 22 of file TestFS.cpp.
References InMemoryFileSystem, and testRoot().
Referenced by clang::clangd::TestTU::build(), and clang::clangd::MockFSProvider::getFileSystem().
CharTypeSet clang::clangd::calculateRoles | ( | llvm::StringRef | Text, |
llvm::MutableArrayRef< CharRole > | Roles | ||
) |
Definition at line 154 of file FuzzyMatch.cpp.
References AwfulScore, CharRoles, CharTypes, Empty, Head, Lower, lower(), Score, Tail, Type, and Upper.
Referenced by collectWords(), clang::clangd::FuzzyMatcher::FuzzyMatcher(), and clang::clangd::dex::generateIdentifierTrigrams().
Defines a new task whose cancellation may be requested.
The returned Context defines the scope of the task. When the context is active, isCancelled() is false until the Canceler is invoked, and true afterwards.
Definition at line 18 of file Cancellation.cpp.
References clang::clangd::Context::current(), and clang::clangd::Context::derive().
|
static |
Definition at line 46 of file FileDistance.cpp.
References hash_value(), Result, clang::clangd::FileDistance::RootHash, and clang::clangd::FileDistance::Unreachable.
Referenced by clang::clangd::FileDistance::distance().
|
static |
Definition at line 62 of file Quality.cpp.
References Constructor, Function, MAP, Namespace, clang::clangd::SymbolQualitySignals::Operator, Type, Unknown, and Variable.
Referenced by categorize(), and clang::clangd::SymbolQualitySignals::merge().
|
static |
Definition at line 92 of file Quality.cpp.
References categorize(), clang::clangd::SymbolQualitySignals::Constructor, clang::clangd::SymbolQualitySignals::Function, clang::clangd::SymbolQualitySignals::Keyword, clang::clangd::SymbolQualitySignals::Macro, clang::clangd::SymbolQualitySignals::Namespace, clang::clangd::SymbolQualitySignals::Type, and clang::clangd::SymbolQualitySignals::Variable.
|
static |
Definition at line 118 of file Quality.cpp.
References clang::clangd::SymbolQualitySignals::Constructor, clang::clangd::SymbolQualitySignals::Destructor, clang::clangd::SymbolQualitySignals::Function, clang::clangd::SymbolQualitySignals::Macro, clang::clangd::SymbolQualitySignals::Namespace, clang::clangd::SymbolQualitySignals::Type, Unknown, clang::clangd::SymbolQualitySignals::Unknown, and clang::clangd::SymbolQualitySignals::Variable.
llvm::Expected< tooling::Replacements > clang::clangd::cleanupAndFormat | ( | StringRef | Code, |
const tooling::Replacements & | Replaces, | ||
const format::FormatStyle & | Style | ||
) |
Definition at line 544 of file SourceCode.cpp.
Symbol clang::clangd::cls | ( | llvm::StringRef | Name | ) |
Definition at line 64 of file TestIndex.cpp.
References sym().
CodeCompleteResult clang::clangd::codeComplete | ( | PathRef | FileName, |
const tooling::CompileCommand & | Command, | ||
const PreambleData * | Preamble, | ||
StringRef | Contents, | ||
Position | Pos, | ||
IntrusiveRefCntPtr< llvm::vfs::FileSystem > | VFS, | ||
CodeCompleteOptions | Opts, | ||
SpeculativeFuzzyFind * | SpecFuzzyFind = nullptr |
||
) |
Gets code completions at a specified Pos
in FileName
.
If Preamble
is nullptr, this runs code completion without compiling the code.
If SpecFuzzyFind
is set, a speculative and asynchronous fuzzy find index request (based on cached request) will be run before parsing sema. In case the speculative result is used by code completion (e.g. speculation failed), the speculative result is not consumed, and SpecFuzzyFind
is only destroyed when the async request finishes.
CodeCompleteResult clang::clangd::codeComplete | ( | PathRef | FileName, |
const tooling::CompileCommand & | Command, | ||
const PreambleData * | Preamble, | ||
llvm::StringRef | Contents, | ||
Position | Pos, | ||
llvm::IntrusiveRefCntPtr< llvm::vfs::FileSystem > | VFS, | ||
CodeCompleteOptions | Opts, | ||
SpeculativeFuzzyFind * | SpecFuzzyFind | ||
) |
Definition at line 1729 of file CodeComplete.cpp.
std::vector<std::string> clang::clangd::collectAccessibleScopes | ( | Sema & | Sem, |
const DeclarationNameInfo & | Typo, | ||
Scope * | S, | ||
Sema::LookupNameKind | LookupKind | ||
) |
Returns all namespace scopes that the unqualified lookup would visit.
Definition at line 308 of file clangd/IncludeFixer.cpp.
Referenced by clang::clangd::IncludeFixer::UnresolvedNameRecorder::CorrectTypo().
llvm::StringMap< unsigned > clang::clangd::collectIdentifiers | ( | llvm::StringRef | Content, |
const format::FormatStyle & | Style | ||
) |
Collects identifiers with counts in the source code.
Definition at line 567 of file SourceCode.cpp.
std::unique_ptr< PPCallbacks > clang::clangd::collectIncludeStructureCallback | ( | const SourceManager & | SM, |
IncludeStructure * | Out | ||
) |
Returns a PPCallback that visits all inclusions in the main file.
Definition at line 113 of file Headers.cpp.
std::unique_ptr< CommentHandler > clang::clangd::collectIWYUHeaderMaps | ( | CanonicalIncludes * | Includes | ) |
Returns a CommentHandler that parses pragma comment on include files to determine when we should include a different header from the header that directly defines a symbol.
Mappinps are registered with Includes
.
Currently it only supports IWYU private pragma: https://github.com/include-what-you-use/include-what-you-use/blob/master/docs/IWYUPragmas.md#iwyu-pragma-private
Definition at line 64 of file CanonicalIncludes.cpp.
llvm::StringSet clang::clangd::collectWords | ( | llvm::StringRef | Content | ) |
Collects words from the source code.
Unlike collectIdentifiers:
Definition at line 758 of file SourceCode.cpp.
References calculateRoles(), Head, Result, Separator, Tail, Unknown, and Word.
|
static |
Definition at line 261 of file Quality.cpp.
References clang::clangd::SymbolRelevanceSignals::ClassScope, clang::clangd::SymbolRelevanceSignals::FileScope, clang::clangd::SymbolRelevanceSignals::FunctionScope, and clang::clangd::SymbolRelevanceSignals::GlobalScope.
Referenced by clang::clangd::SymbolRelevanceSignals::merge().
|
static |
Definition at line 186 of file FileDistance.cpp.
std::unique_ptr< FrontendAction > clang::clangd::createStaticIndexingAction | ( | SymbolCollector::Options | Opts, |
std::function< void(SymbolSlab)> | SymbolsCallback, | ||
std::function< void(RefSlab)> | RefsCallback, | ||
std::function< void(RelationSlab)> | RelationsCallback, | ||
std::function< void(IncludeGraph)> | IncludeGraphCallback | ||
) |
Definition at line 233 of file IndexAction.cpp.
|
static |
Definition at line 22 of file Context.cpp.
References clang::clangd::Context::empty().
Referenced by clang::clangd::Context::current(), and clang::clangd::Context::swapCurrent().
|
static |
Definition at line 1045 of file XRefs.cpp.
Referenced by getTypeHierarchy().
FileDigest clang::clangd::digest | ( | StringRef | Content | ) |
FileDigest clang::clangd::digest | ( | llvm::StringRef | Content | ) |
Definition at line 512 of file SourceCode.cpp.
References Result.
Optional< FileDigest > clang::clangd::digestFile | ( | const SourceManager & | SM, |
FileID | FID | ||
) |
Definition at line 522 of file SourceCode.cpp.
void clang::clangd::dumpAST | ( | ParsedAST & | AST, |
llvm::raw_ostream & | OS | ||
) |
For testing/debugging purposes.
Note that this method deserializes all unserialized Decls, so use with care.
Definition at line 282 of file ClangdUnit.cpp.
Referenced by clang::clangd::ClangdServer::dumpAST().
void clang::clangd::elog | ( | const char * | Fmt, |
Ts &&... | Vals | ||
) |
Definition at line 56 of file Logger.h.
References clang::clangd::Logger::Error, and clang::clangd::detail::log().
Referenced by clang::clangd::URIForFile::canonicalize(), filenameWithoutExtension(), clang::clangd::TUScheduler::getContents(), loadIndex(), clang::clangd::TUScheduler::remove(), and signatureHelp().
|
static |
Definition at line 469 of file Quality.cpp.
|
static |
Definition at line 606 of file XRefs.cpp.
References D, clang::clangd::HoverInfo::Documentation, and clang::clangd::SymbolCollector::shouldCollectSymbol().
float clang::clangd::evaluateSymbolAndRelevance | ( | float | SymbolQuality, |
float | SymbolRelevance | ||
) |
Combine symbol quality and relevance into a single score.
Definition at line 463 of file Quality.cpp.
llvm::Optional<CheapUnresolvedName> clang::clangd::extractUnresolvedNameCheaply | ( | const SourceManager & | SM, |
const DeclarationNameInfo & | Unresolved, | ||
CXXScopeSpec * | SS, | ||
const LangOptions & | LangOpts, | ||
bool | UnresolvedIsSpecifier | ||
) |
Definition at line 233 of file clangd/IncludeFixer.cpp.
Referenced by clang::clangd::IncludeFixer::UnresolvedNameRecorder::CorrectTypo().
|
static |
Definition at line 535 of file XRefs.cpp.
References clang::clangd::HoverInfo::Param::Default, clang::clangd::HoverInfo::Param::Name, and clang::clangd::HoverInfo::Param::Type.
Referenced by getHoverContents().
|
static |
Definition at line 194 of file Background.cpp.
References elog(), Error, FileName, and clang::clangd::BackgroundQueue::Task::QueuePri.
Referenced by clang::clangd::BackgroundIndex::boostRelated().
|
static |
|
static |
Definition at line 1135 of file XRefs.cpp.
Referenced by getTypeHierarchy().
const NamedDecl & clang::clangd::findDecl | ( | ParsedAST & | AST, |
llvm::StringRef | QName | ||
) |
Definition at line 114 of file TestTU.cpp.
References Ctx, clang::clangd::ParsedAST::getASTContext(), and Name.
Referenced by findUnqualifiedDecl().
const NamedDecl & clang::clangd::findDecl | ( | ParsedAST & | AST, |
std::function< bool(const NamedDecl &)> | Filter | ||
) |
Definition at line 135 of file TestTU.cpp.
std::vector< DocumentHighlight > clang::clangd::findDocumentHighlights | ( | ParsedAST & | AST, |
Position | Pos | ||
) |
Returns highlights for all usages of a symbol at Pos
.
Definition at line 436 of file XRefs.cpp.
Referenced by clang::clangd::ClangdServer::findDocumentHighlights().
SourceLocation clang::clangd::findNameLoc | ( | const clang::Decl * | D | ) |
Find the record type references at Pos
.
Definition at line 1164 of file XRefs.cpp.
References D, getBeginningOfIdentifier(), clang::clangd::ParsedAST::getSourceManager(), Method, and Symbols.
Referenced by getTypeHierarchy().
std::vector< Location > clang::clangd::findReferences | ( | ParsedAST & | AST, |
Position | Pos, | ||
uint32_t | Limit, | ||
const SymbolIndex * | Index = nullptr |
||
) |
Returns reference locations of the symbol at a specified Pos
.
Limit
limits the number of results returned (0 means no limit).
Definition at line 935 of file XRefs.cpp.
References Results.
Referenced by clang::clangd::ClangdServer::findReferences().
const Symbol & clang::clangd::findSymbol | ( | const SymbolSlab & | Slab, |
llvm::StringRef | QName | ||
) |
Definition at line 93 of file TestTU.cpp.
References Result.
const NamedDecl & clang::clangd::findUnqualifiedDecl | ( | ParsedAST & | AST, |
llvm::StringRef | Name | ||
) |
Definition at line 155 of file TestTU.cpp.
References findDecl().
|
static |
The functions constructs a flattened view of the DocumentSymbol hierarchy.
Used by the clients that do not support the hierarchical view.
Definition at line 662 of file ClangdLSPServer.cpp.
References Bind(), clang::clangd::DocumentSymbol::children, clang::clangd::SymbolInformation::containerName, Expected, clang::clangd::URIForFile::file(), clang::clangd::DocumentSymbol::kind, clang::clangd::SymbolInformation::kind, clang::clangd::SymbolInformation::location, clang::clangd::DocumentSymbol::name, clang::clangd::SymbolInformation::name, clang::clangd::Location::range, clang::clangd::DocumentSymbol::range, Results, Server, clang::clangd::DocumentSymbolParams::textDocument, clang::clangd::TextDocumentIdentifier::uri, and clang::clangd::Location::uri.
std::string clang::clangd::formatDocumentation | ( | const CodeCompletionString & | CCS, |
llvm::StringRef | DocComment | ||
) |
Assembles formatted documentation for a completion result.
This includes documentation comments and other relevant information like annotations.
DocComment | is a documentation comment for the original declaration, it should be obtained via getDocComment or getParameterDocComment. |
Definition at line 190 of file CodeCompletionStrings.cpp.
References Result.
std::vector< tooling::Replacement > clang::clangd::formatIncremental | ( | llvm::StringRef | Code, |
unsigned | Cursor, | ||
llvm::StringRef | InsertedText, | ||
format::FormatStyle | Style | ||
) |
Applies limited formatting around new InsertedText
.
The Code
already contains the updated text before Cursor
, and may have had additional / characters (such as indentation) inserted by the editor.
Example breaking a line (^ is the cursor): === before newline is typed === if(1){^} === after newline is typed and editor indents === if(1){ ^} === after formatIncremental(InsertedText="\n") === if (1) { ^ }
We return sorted vector<tooling::Replacement>, not tooling::Replacements! We may insert text both before and after the cursor. tooling::Replacements would merge these, and thus lose information about cursor position.
Definition at line 246 of file Format.cpp.
References Incremental, and Range.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Parameters, |
FuzzyFindRequest & | Request | ||
) |
Definition at line 34 of file Index.cpp.
Referenced by clang::clangd::Range::contains(), clang::clangd::FuzzyFindRequest::operator!=(), clang::clangd::LSPDiagnosticCompare::operator()(), and operator==().
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | E, |
URIForFile & | R | ||
) |
Definition at line 53 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
TextDocumentIdentifier & | R | ||
) |
Definition at line 87 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
Position & | R | ||
) |
Definition at line 92 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
Range & | R | ||
) |
Definition at line 108 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
TextDocumentItem & | R | ||
) |
Definition at line 135 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
TextEdit & | R | ||
) |
Definition at line 141 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | E, |
TraceLevel & | Out | ||
) |
Definition at line 159 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | E, |
SymbolKind & | Out | ||
) |
Definition at line 175 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | E, |
SymbolKindBitset & | Out | ||
) |
Definition at line 186 of file Protocol.cpp.
|
inline |
Definition at line 240 of file Protocol.h.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
ClientCapabilities & | R | ||
) |
Definition at line 271 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
InitializeParams & | R | ||
) |
Definition at line 354 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
DidOpenTextDocumentParams & | R | ||
) |
Definition at line 377 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
DidCloseTextDocumentParams & | R | ||
) |
Definition at line 382 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
DidChangeTextDocumentParams & | R | ||
) |
Definition at line 387 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | E, |
FileChangeType & | Out | ||
) |
Definition at line 394 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
FileEvent & | R | ||
) |
Definition at line 405 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
DidChangeWatchedFilesParams & | R | ||
) |
Definition at line 410 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
TextDocumentContentChangeEvent & | R | ||
) |
Definition at line 415 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
DocumentRangeFormattingParams & | R | ||
) |
Definition at line 422 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
DocumentOnTypeFormattingParams & | R | ||
) |
Definition at line 428 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
DocumentFormattingParams & | R | ||
) |
Definition at line 435 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
DocumentSymbolParams & | R | ||
) |
Definition at line 440 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
Diagnostic & | R | ||
) |
Definition at line 471 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
CodeActionContext & | R | ||
) |
Definition at line 482 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
CodeActionParams & | R | ||
) |
Definition at line 509 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
WorkspaceEdit & | R | ||
) |
Definition at line 515 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
ExecuteCommandParams & | R | ||
) |
Definition at line 525 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
WorkspaceSymbolParams & | R | ||
) |
Definition at line 594 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
TweakArgs & | A | ||
) |
Definition at line 654 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
TextDocumentPositionParams & | R | ||
) |
Definition at line 669 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
CompletionContext & | R | ||
) |
Definition at line 675 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
CompletionParams & | R | ||
) |
Definition at line 690 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | V, |
MarkupKind & | K | ||
) |
Definition at line 708 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | E, |
CompletionItemKind & | Out | ||
) |
Definition at line 748 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | E, |
CompletionItemKindBitset & | Out | ||
) |
Definition at line 781 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
RenameParams & | R | ||
) |
Definition at line 879 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
DidChangeConfigurationParams & | CCP | ||
) |
Definition at line 909 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
ClangdCompileCommand & | CDbUpdate | ||
) |
Definition at line 915 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
ConfigurationSettings & | S | ||
) |
Definition at line 922 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
InitializationOptions & | Opts | ||
) |
Definition at line 930 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | E, |
TypeHierarchyDirection & | Out | ||
) |
Definition at line 942 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
TypeHierarchyParams & | R | ||
) |
Definition at line 953 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
TypeHierarchyItem & | I | ||
) |
Definition at line 985 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
ResolveTypeHierarchyItemParams & | P | ||
) |
Definition at line 1005 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | Params, |
ReferenceParams & | R | ||
) |
Definition at line 1012 of file Protocol.cpp.
bool clang::clangd::fromJSON | ( | const llvm::json::Value & | V, |
OffsetEncoding & | OE | ||
) |
Definition at line 1031 of file Protocol.cpp.
Symbol clang::clangd::func | ( | llvm::StringRef | Name | ) |
Definition at line 60 of file TestIndex.cpp.
References sym().
SymbolSlab clang::clangd::generateNumSymbols | ( | int | Begin, |
int | End | ||
) |
Definition at line 83 of file TestIndex.cpp.
SymbolSlab clang::clangd::generateSymbols | ( | std::vector< std::string > | QualifiedNames | ) |
Definition at line 76 of file TestIndex.cpp.
References clang::clangd::SymbolSlab::Builder::insert(), QName, and symbol().
SourceLocation clang::clangd::getBeginningOfIdentifier | ( | const ParsedAST & | Unit, |
const Position & | Pos, | ||
const FileID | FID | ||
) |
Get the beginning SourceLocation at a specified Pos
.
May be invalid if Pos is, or if there's no identifier.
Definition at line 659 of file ClangdUnit.cpp.
References AST, and clang::clangd::ParsedAST::getASTContext().
Referenced by findRecordTypeAt().
llvm::Optional< std::string > clang::clangd::getCanonicalPath | ( | const FileEntry * | F, |
const SourceManager & | SourceMgr | ||
) |
Get the canonical path of F
.
This means:
This function should be used when paths needs to be used outside the component that generate it, so that paths are normalized as much as possible.
Definition at line 459 of file SourceCode.cpp.
Referenced by clang::clangd::StoreDiags::HandleDiagnostic().
std::string clang::clangd::getDeclComment | ( | const ASTContext & | Ctx, |
const NamedDecl & | Decl | ||
) |
Similar to getDocComment, but returns the comment for a NamedDecl.
Definition at line 58 of file CodeCompletionStrings.cpp.
Referenced by getDocComment(), and getHoverContents().
llvm::Optional< QualType > clang::clangd::getDeducedType | ( | ParsedAST & | AST, |
SourceLocation | SourceLocationBeg | ||
) |
Retrieves the deduced type at a given location (auto, decltype).
SourceLocationBeg must point to the first character of the token
Retuns None unless SourceLocationBeg starts an auto/decltype token. It will return the underlying type.
Definition at line 874 of file XRefs.cpp.
Referenced by hasDeducedType().
unsigned clang::clangd::getDefaultAsyncThreadsCount | ( | ) |
Returns a number of a default async threads to use for TUScheduler.
Returned value is always >= 1 (i.e. will not cause requests to be processed synchronously).
Definition at line 802 of file TUScheduler.cpp.
std::string clang::clangd::getDocComment | ( | const ASTContext & | Ctx, |
const CodeCompletionResult & | Result, | ||
bool | CommentsFromHeaders | ||
) |
Gets a minimally formatted documentation comment of Result
, with comment markers stripped.
See clang::RawComment::getFormattedText() for the detailed explanation of how the comment text is transformed. Returns empty string when no comment is available. If CommentsFromHeaders
parameter is set, only comments from the main file will be returned. It is used to workaround crashes when parsing comments in the stale headers, coming from completion preamble.
Definition at line 46 of file CodeCompletionStrings.cpp.
References getDeclComment().
llvm::Expected< std::vector< DocumentSymbol > > clang::clangd::getDocumentSymbols | ( | ParsedAST & | AST | ) |
Retrieves the symbols contained in the "main file" section of an AST in the same order that they appear.
Definition at line 276 of file FindSymbols.cpp.
Referenced by clang::clangd::ClangdServer::documentSymbols().
|
static |
Definition at line 308 of file SourceCode.cpp.
|
static |
Definition at line 66 of file GlobalCompilationDatabase.cpp.
Referenced by clang::clangd::GlobalCompilationDatabase::getFallbackCommand().
format::FormatStyle clang::clangd::getFormatStyleForFile | ( | llvm::StringRef | File, |
llvm::StringRef | Content, | ||
llvm::vfs::FileSystem * | FS | ||
) |
Choose the clang-format style we should apply to a certain file.
This will usually use FS to look for .clang-format directories. FIXME: should we be caching the .clang-format file search? This uses format::DefaultFormatStyle and format::DefaultFallbackStyle, though the latter may have been overridden in main()!
Definition at line 530 of file SourceCode.cpp.
llvm::Optional< HoverInfo > clang::clangd::getHover | ( | ParsedAST & | AST, |
Position | Pos, | ||
format::FormatStyle | Style, | ||
const SymbolIndex * | Index | ||
) |
Get the hover information when hovering at Pos
.
Definition at line 899 of file XRefs.cpp.
Referenced by operator==().
|
static |
Generate a Hover
object given the declaration D
.
Definition at line 630 of file XRefs.cpp.
References Ctx, clang::clangd::HoverInfo::Documentation, fetchTemplateParameters(), getDeclComment(), getLocalScope(), getNamespaceScope(), getSymbolInfo(), getUnderlyingFunction(), indexSymbolKindToSymbolKind(), Kind, clang::clangd::HoverInfo::Kind, clang::clangd::HoverInfo::LocalScope, clang::clangd::HoverInfo::Name, clang::clangd::HoverInfo::NamespaceScope, printingPolicyForDecls(), printName(), clang::clangd::HoverInfo::ReturnType, and clang::clangd::HoverInfo::TemplateParameters.
|
static |
|
static |
|
static |
Given a declaration D
, return a human-readable string representing the local scope in which it is declared, i.e.
class(es) and method name. Returns an empty string if it is not local.
Definition at line 477 of file XRefs.cpp.
Referenced by getHoverContents().
|
static |
Definition at line 273 of file SourceCode.cpp.
|
static |
Definition at line 265 of file SourceCode.cpp.
|
static |
Returns the human-readable representation for namespace containing the declaration D
.
Returns empty if it is contained global namespace.
Definition at line 502 of file XRefs.cpp.
Referenced by getHoverContents().
std::string clang::clangd::getQualifiedName | ( | const Symbol & | Sym | ) |
Definition at line 90 of file TestIndex.cpp.
References clang::clangd::Symbol::Name, clang::clangd::Symbol::Scope, and clang::clangd::Symbol::TemplateSpecializationArgs.
Referenced by lookup().
std::unique_ptr< GlobalCompilationDatabase > clang::clangd::getQueryDriverDatabase | ( | llvm::ArrayRef< std::string > | QueryDriverGlobs, |
std::unique_ptr< GlobalCompilationDatabase > | Base | ||
) |
Extracts system include search path from drivers matching QueryDriverGlobs and adds them to the compile flags.
Base may not be nullptr. Returns Base when QueryDriverGlobs
is empty.
Definition at line 275 of file QueryDriverDatabase.cpp.
llvm::SmallVector< llvm::StringRef, 1 > clang::clangd::getRankedIncludes | ( | const Symbol & | Sym | ) |
Definition at line 97 of file Headers.cpp.
RefSlab clang::clangd::getRefs | ( | const SymbolIndex & | Index, |
SymbolID | ID | ||
) |
Definition at line 142 of file SyncAPI.cpp.
std::string clang::clangd::getReturnType | ( | const CodeCompletionString & | CCS | ) |
Gets detail to be used as the detail field in an LSP completion item.
This is usually the return type of a function.
Definition at line 220 of file CodeCompletionStrings.cpp.
std::vector< HighlightingToken > clang::clangd::getSemanticHighlightings | ( | ParsedAST & | AST | ) |
Definition at line 269 of file SemanticHighlighting.cpp.
int clang::clangd::getSeverity | ( | DiagnosticsEngine::Level | L | ) |
Convert from clang diagnostic level to LSP severity.
Definition at line 378 of file Diagnostics.cpp.
References Error, and Warning.
Referenced by toLSPDiags().
void clang::clangd::getSignature | ( | const CodeCompletionString & | CCS, |
std::string * | Signature, | ||
std::string * | Snippet, | ||
std::string * | RequiredQualifiers = nullptr , |
||
bool | CompletingPattern = false |
||
) |
Formats the signature for an item, as a display string and snippet.
e.g. for const_reference std::vector<T>::at(size_type) const, this returns: *Signature = "(size_type) const" *Snippet = "(${1:size_type})" If set, RequiredQualifiers is the text that must be typed before the name. e.g "Base::" when calling a base class member function that's hidden.
When CompletingPattern
is true, the last placeholder will be of the form ${0:…}, indicating the cursor should stay there.
Definition at line 77 of file CodeCompletionStrings.cpp.
llvm::Optional< SymbolID > clang::clangd::getSymbolID | ( | const Decl * | D | ) |
llvm::Optional< SymbolID > clang::clangd::getSymbolID | ( | const IdentifierInfo & | II, |
const MacroInfo * | MI, | ||
const SourceManager & | SM | ||
) |
Gets the symbol ID for a macro, if possible.
Currently, this is an encoded USR of the macro, which incorporates macro locations (e.g. file name, offset in file). FIXME: the USR semantics might not be stable enough as the ID for index macro (e.g. a change in definition offset can result in a different USR). We could change these semantics in the future by reimplementing this funcure (e.g. avoid USR for macros).
std::vector< SymbolDetails > clang::clangd::getSymbolInfo | ( | ParsedAST & | AST, |
Position | Pos | ||
) |
Get info about symbols at Pos
.
Definition at line 992 of file XRefs.cpp.
Referenced by getHoverContents(), and clang::clangd::ClangdServer::symbolInfo().
|
static |
Definition at line 822 of file ClangdLSPServer.cpp.
References clang::clangd::Range::contains(), clang::clangd::LocatedSymbol::Definition, clang::clangd::URIForFile::file(), clang::clangd::TextDocumentPositionParams::position, clang::clangd::LocatedSymbol::PreferredDeclaration, clang::clangd::Location::range, clang::clangd::TextDocumentPositionParams::textDocument, clang::clangd::TextDocumentIdentifier::uri, and clang::clangd::Location::uri.
|
static |
Definition at line 347 of file SourceCode.cpp.
|
static |
Definition at line 249 of file SourceCode.cpp.
llvm::Optional< Range > clang::clangd::getTokenRange | ( | const SourceManager & | SM, |
const LangOptions & | LangOpts, | ||
SourceLocation | TokLoc | ||
) |
Returns the taken range at TokLoc
.
Definition at line 203 of file SourceCode.cpp.
Referenced by clang::tidy::modernize::UseOverrideCheck::check(), clang::tidy::readability::AvoidConstParamsInDecls::check(), clang::tidy::bugprone::SuspiciousMemsetUsageCheck::check(), clang::tidy::readability::DeleteNullPointerCheck::check(), clang::tidy::cppcoreguidelines::ProTypeCstyleCastCheck::check(), clang::tidy::modernize::ReturnBracedInitListCheck::check(), clang::tidy::abseil::StrCatAppendCheck::check(), clang::tidy::modernize::UseUncaughtExceptionsCheck::check(), clang::tidy::bugprone::InaccurateEraseCheck::check(), clang::tidy::performance::FasterStringFindCheck::check(), clang::tidy::modernize::UseEmplaceCheck::check(), clang::tidy::modernize::RawStringLiteralCheck::check(), clang::tidy::modernize::UseNoexceptCheck::check(), clang::tidy::readability::IdentifierNamingCheck::check(), clang::tidy::readability::BracesAroundStatementsCheck::check(), and clang::tidy::android::CloexecCheck::getSpellingArg().
llvm::Optional< TypeHierarchyItem > clang::clangd::getTypeHierarchy | ( | ParsedAST & | AST, |
Position | Pos, | ||
int | ResolveLevels, | ||
TypeHierarchyDirection | Direction, | ||
const SymbolIndex * | Index, | ||
PathRef | TUPath | ||
) |
Get type hierarchy information at Pos
.
Definition at line 1221 of file XRefs.cpp.
References Both, Children, declToTypeHierarchyItem(), fillSuperTypes(), findRecordTypeAt(), clang::clangd::ParsedAST::getASTContext(), None, Parents, and Result.
Referenced by clang::clangd::ClangdServer::typeHierarchy().
|
static |
Definition at line 588 of file XRefs.cpp.
Referenced by getHoverContents().
llvm::Expected< std::vector< SymbolInformation > > clang::clangd::getWorkspaceSymbols | ( | llvm::StringRef | Query, |
int | Limit, | ||
const SymbolIndex *const | Index, | ||
llvm::StringRef | HintPath | ||
) |
Searches for the symbols matching Query
.
The syntax of Query
can be the non-qualified name or fully qualified of a symbol. For example, "vector" will match the symbol std::vector and "std::vector" would also match it. Direct children of scopes (namepaces, etc) can be listed with a trailing "::". For example, "std::" will list all children of the std namespace and "::" alone will list all children of the global namespace. Limit
limits the number of results returned (0 means no limit). HintPath
This is used when resolving URIs. If empty, URI resolution can fail if a hint path is required for the scheme of a specific URI.
Definition at line 74 of file FindSymbols.cpp.
CompletionPrefix clang::clangd::guessCompletionPrefix | ( | llvm::StringRef | Content, |
unsigned | Offset | ||
) |
Definition at line 1706 of file CodeComplete.cpp.
References clang::clangd::CompletionPrefix::Name, Offset, clang::clangd::CompletionPrefix::Qualifier, and Result.
bool clang::clangd::halfOpenRangeContains | ( | const SourceManager & | Mgr, |
SourceRange | R, | ||
SourceLocation | L | ||
) |
Returns true iff L
is contained in R
.
EXPECTS: isValidFileRange(R) == true, L is a file location.
Definition at line 229 of file SourceCode.cpp.
References isValidFileRange().
Referenced by halfOpenRangeTouches().
bool clang::clangd::halfOpenRangeTouches | ( | const SourceManager & | Mgr, |
SourceRange | R, | ||
SourceLocation | L | ||
) |
Returns true iff L
is contained in R
or L
is equal to the end point of R
.
EXPECTS: isValidFileRange(R) == true, L is a file location.
Definition at line 244 of file SourceCode.cpp.
References halfOpenRangeContains().
Range clang::clangd::halfOpenToRange | ( | const SourceManager & | SM, |
CharSourceRange | R | ||
) |
Definition at line 418 of file SourceCode.cpp.
Referenced by toTextEdit().
|
static |
Definition at line 43 of file Quality.cpp.
Referenced by clang::clangd::SymbolRelevanceSignals::merge().
bool clang::clangd::hasDeducedType | ( | ParsedAST & | AST, |
SourceLocation | SourceLocationBeg | ||
) |
Retrieves the deduced type at a given location (auto, decltype).
Check if there is a deduced type at a given location (auto, decltype).
SourceLocationBeg must point to the first character of the token
Definition at line 895 of file XRefs.cpp.
References getDeducedType().
llvm::hash_code clang::clangd::hash_value | ( | const SymbolID & | ID | ) |
Definition at line 50 of file SymbolID.cpp.
Referenced by canonicalize(), clang::clangd::FileDistance::distance(), clang::clangd::URIDistance::distance(), llvm::DenseMapInfo< clang::clangd::SymbolID >::getHashValue(), and llvm::DenseMapInfo< clang::index::SymbolRole >::getHashValue().
PolySubsequenceMatcher<Args...> clang::clangd::HasSubsequence | ( | Args &&... | M | ) |
Definition at line 106 of file clangd/unittests/Matchers.h.
|
static |
Definition at line 52 of file Quality.cpp.
Referenced by clang::clangd::SymbolRelevanceSignals::merge().
|
inline |
Definition at line 193 of file clangd/unittests/Matchers.h.
SlabTuple clang::clangd::indexHeaderSymbols | ( | ASTContext & | AST, |
std::shared_ptr< Preprocessor > | PP, | ||
const CanonicalIncludes & | Includes | ||
) |
Idex declarations from AST
and macros from PP
that are declared in included headers.
Definition at line 85 of file FileIndex.cpp.
Referenced by clang::clangd::TestTU::headerSymbols().
Retrieves symbols and refs of local top level decls in AST
(i.e.
AST.getLocalTopLevelDecls()
). Exposed to assist in unit tests.
Definition at line 79 of file FileIndex.cpp.
References clang::clangd::ParsedAST::getASTContext(), clang::clangd::ParsedAST::getCanonicalIncludes(), clang::clangd::ParsedAST::getLocalTopLevelDecls(), clang::clangd::ParsedAST::getPreprocessorPtr(), and indexSymbols().
Referenced by clang::clangd::FileIndex::updateMain().
SymbolKind clang::clangd::indexSymbolKindToSymbolKind | ( | index::SymbolKind | Kind | ) |
Definition at line 216 of file Protocol.cpp.
References Class, Enum, EnumMember, Field, Function, Interface, Method, Module, Namespace, Property, String, Struct, Unknown, and Variable.
Referenced by getHoverContents(), and symbolToTypeHierarchyItem().
|
static |
Definition at line 31 of file FileIndex.cpp.
Referenced by indexMainDecls().
|
static |
Definition at line 300 of file SourceCode.cpp.
|
static |
Definition at line 73 of file FuzzyMatch.cpp.
Referenced by clang::clangd::FuzzyMatcher::match().
bool clang::clangd::isCancelled | ( | const Context & | Ctx = Context::current() | ) |
True if the current context is within a cancelable task which was cancelled.
Always false if there is no active cancelable task. This isn't free (context lookup) - don't call it in a tight loop.
Definition at line 26 of file Cancellation.cpp.
References clang::clangd::Context::get().
|
static |
Definition at line 711 of file SymbolCollector.cpp.
|
static |
Definition at line 703 of file SymbolCollector.cpp.
Referenced by isErrorAboutInclude().
bool clang::clangd::isImplementationDetail | ( | const Decl * | D | ) |
Returns true if the declaration is considered implementation detail based on heuristics.
For example, a declaration whose name is not explicitly spelled in code is considered implementation detail.
Definition at line 65 of file AST.cpp.
References isSpelledInSourceCode().
Referenced by clang::clangd::SymbolQualitySignals::merge().
bool clang::clangd::isIndexedForCodeCompletion | ( | const NamedDecl & | ND, |
ASTContext & | ASTCtx | ||
) |
Definition at line 1772 of file CodeComplete.cpp.
bool clang::clangd::isInsideMainFile | ( | SourceLocation | Loc, |
const SourceManager & | SM | ||
) |
Returns true iff Loc
is inside the main file.
This function handles file & macro locations. For macro locations, returns iff the macro is being expanded inside the main file.
The function is usually used to check whether a declaration is inside the the main file.
Definition at line 372 of file SourceCode.cpp.
Referenced by clang::clangd::IncludeFixer::UnresolvedNameRecorder::CorrectTypo(), and clang::clangd::StoreDiags::HandleDiagnostic().
|
static |
Definition at line 159 of file Quality.cpp.
Referenced by clang::clangd::SymbolRelevanceSignals::merge().
|
static |
Definition at line 169 of file Quality.cpp.
bool clang::clangd::isLiteralInclude | ( | llvm::StringRef | Include | ) |
Returns true if Include
is literal include like "path" or <path>.
Definition at line 68 of file Headers.cpp.
Referenced by clang::clangd::HeaderFile::valid().
Definition at line 507 of file SourceCode.cpp.
References clang::clangd::Position::character, clang::clangd::Range::end, clang::clangd::Position::line, and clang::clangd::Range::start.
|
static |
Definition at line 37 of file Quality.cpp.
Referenced by clang::clangd::SymbolQualitySignals::merge().
bool clang::clangd::isSpelledInSourceCode | ( | const Decl * | D | ) |
Definition at line 51 of file AST.cpp.
Referenced by isImplementationDetail().
bool clang::clangd::isValidFileRange | ( | const SourceManager & | Mgr, |
SourceRange | R | ||
) |
Returns true iff all of the following conditions hold:
Definition at line 214 of file SourceCode.cpp.
Referenced by halfOpenRangeContains().
|
static |
Definition at line 43 of file SourceCode.cpp.
Referenced by lspLength(), and measureUnits().
xpc_object_t clang::clangd::jsonToXpc | ( | const llvm::json::Value & | JSON | ) |
xpc_object_t clang::clangd::jsonToXpc | ( | const json::Value & | JSON | ) |
Definition at line 20 of file Conversion.cpp.
Referenced by main().
|
static |
Definition at line 553 of file SourceCode.cpp.
std::unique_ptr< SymbolIndex > clang::clangd::loadIndex | ( | llvm::StringRef | SymbolFilename, |
bool | UseDex | ||
) |
std::vector< LoadedShard > clang::clangd::loadIndexShards | ( | llvm::ArrayRef< Path > | MainFiles, |
BackgroundIndexStorage::Factory & | IndexStorageFactory, | ||
const GlobalCompilationDatabase & | CDB | ||
) |
Loads all shards for the TU MainFile
from Storage
.
Definition at line 131 of file BackgroundIndexLoader.cpp.
llvm::Optional< DefinedMacro > clang::clangd::locateMacroAt | ( | SourceLocation | Loc, |
Preprocessor & | PP | ||
) |
Definition at line 796 of file SourceCode.cpp.
std::vector< LocatedSymbol > clang::clangd::locateSymbolAt | ( | ParsedAST & | AST, |
Position | Pos, | ||
const SymbolIndex * | Index = nullptr |
||
) |
Get definition of symbol at a specified Pos
.
Multiple locations may be returned, corresponding to distinct symbols.
Definition at line 261 of file XRefs.cpp.
Referenced by clang::clangd::ClangdServer::locateSymbolAt().
void clang::clangd::log | ( | const char * | Fmt, |
Ts &&... | Vals | ||
) |
Definition at line 62 of file Logger.h.
References clang::clangd::Logger::Info, and clang::clangd::detail::log().
Referenced by clang::clangd::URIDistance::distance(), clang::clangd::DirectoryBasedGlobalCompilationDatabase::getCompileCommand(), and symbolToTypeHierarchyItem().
std::vector< std::string > clang::clangd::lookup | ( | const SymbolIndex & | I, |
llvm::ArrayRef< SymbolID > | IDs | ||
) |
Definition at line 106 of file TestIndex.cpp.
References getQualifiedName(), clang::clangd::LookupRequest::IDs, clang::clangd::SymbolIndex::lookup(), and Results.
Referenced by clang::clangd::RelationSlab::bytes(), and clang::clangd::SwapIndex::SwapIndex().
|
static |
Definition at line 68 of file FuzzyMatch.cpp.
Referenced by calculateRoles(), clang::clangd::FuzzyMatcher::FuzzyMatcher(), and clang::tidy::bugprone::isLikelyTypo().
|
static |
Definition at line 111 of file SourceCode.cpp.
References clang::clangd::Context::current(), clang::clangd::Context::get(), and UTF16.
Referenced by lspLength(), and positionToOffset().
size_t clang::clangd::lspLength | ( | StringRef | Code | ) |
size_t clang::clangd::lspLength | ( | llvm::StringRef | Code | ) |
Definition at line 117 of file SourceCode.cpp.
References iterateCodepoints(), lspEncoding(), UnsupportedEncoding, UTF16, UTF32, and UTF8.
Referenced by offsetToPosition().
std::vector< std::string > clang::clangd::match | ( | const SymbolIndex & | I, |
const FuzzyFindRequest & | Req, | ||
bool * | Incomplete | ||
) |
Definition at line 94 of file TestIndex.cpp.
Referenced by clang::tidy::abseil::TimeSubtractionCheck::check(), and clang::tidy::google::readability::AvoidCStyleCastsCheck::check().
clang::clangd::MATCHER | ( | Declared | , |
"" | |||
) |
Definition at line 27 of file BackgroundIndexTests.cpp.
clang::clangd::MATCHER | ( | Defined | , |
"" | |||
) |
Definition at line 30 of file BackgroundIndexTests.cpp.
clang::clangd::MATCHER | ( | EmptyIncludeNode | , |
"" | |||
) |
Definition at line 37 of file BackgroundIndexTests.cpp.
References clang::clangd::IncludeGraphNode::None.
clang::clangd::MATCHER | ( | HadErrors | , |
"" | |||
) |
Definition at line 42 of file BackgroundIndexTests.cpp.
References clang::clangd::IncludeGraphNode::HadErrors.
clang::clangd::MATCHER_P | ( | Named | , |
N | , | ||
"" | |||
) |
Definition at line 26 of file BackgroundIndexTests.cpp.
clang::clangd::MATCHER_P | ( | FileURI | , |
F | , | ||
"" | |||
) |
Definition at line 31 of file BackgroundIndexTests.cpp.
clang::clangd::MATCHER_P | ( | NumReferences | , |
N | , | ||
"" | |||
) |
Definition at line 46 of file BackgroundIndexTests.cpp.
|
static |
Definition at line 126 of file GlobalCompilationDatabase.cpp.
Referenced by pathEqual().
|
static |
Definition at line 73 of file SourceCode.cpp.
References iterateCodepoints(), Result, UnsupportedEncoding, UTF16, UTF32, and UTF8.
Referenced by positionToOffset().
Definition at line 165 of file Merge.cpp.
References clang::clangd::Symbol::CanonicalDeclaration, clang::clangd::Symbol::CompletionSnippetSuffix, clang::clangd::Symbol::Definition, clang::clangd::Symbol::Documentation, clang::clangd::SymbolLocation::FileURI, clang::clangd::Symbol::Flags, clang::clangd::Symbol::ID, clang::clangd::Symbol::IncludeHeaders, Merge, clang::clangd::Symbol::Origin, prefer(), clang::clangd::Symbol::References, clang::clangd::Symbol::ReturnType, clang::clangd::Symbol::Signature, and clang::clangd::Symbol::Type.
Referenced by clang::clangd::FileSymbols::buildIndex().
std::unique_ptr< Transport > clang::clangd::newJSONTransport | ( | std::FILE * | In, |
llvm::raw_ostream & | Out, | ||
llvm::raw_ostream * | InMirror, | ||
bool | Pretty, | ||
JSONStreamStyle | Style | ||
) |
Definition at line 292 of file JSONTransport.cpp.
std::unique_ptr<Transport> clang::clangd::newXPCTransport | ( | ) |
Definition at line 211 of file XPCTransport.cpp.
Symbol clang::clangd::ns | ( | llvm::StringRef | Name | ) |
Definition at line 72 of file TestIndex.cpp.
References sym().
std::pair< size_t, size_t > clang::clangd::offsetToClangLineColumn | ( | llvm::StringRef | Code, |
size_t | Offset | ||
) |
Definition at line 426 of file SourceCode.cpp.
Position clang::clangd::offsetToPosition | ( | llvm::StringRef | Code, |
size_t | Offset | ||
) |
Turn an offset in Code into a [line, column] pair.
The offset must be in range [0, Code.size()].
Definition at line 174 of file SourceCode.cpp.
References clang::clangd::Position::character, clang::clangd::Position::line, Lines, lspLength(), and Offset.
Referenced by clang::clangd::Annotations::point(), clang::clangd::Annotations::points(), replacementToEdit(), and toLSPRange().
|
inline |
Definition at line 38 of file SymbolOrigin.h.
References operator<<().
Definition at line 41 of file Ref.h.
References operator<<().
|
inline |
Definition at line 58 of file Ref.h.
References clang::clangd::Ref::Kind, and clang::clangd::Ref::Location.
|
inline |
Definition at line 71 of file SymbolLocation.h.
References clang::clangd::SymbolLocation::Position::column(), and clang::clangd::SymbolLocation::Position::line().
|
inline |
Definition at line 81 of file SymbolLocation.h.
References clang::clangd::SymbolLocation::End, clang::clangd::SymbolLocation::FileURI, operator<<(), and clang::clangd::SymbolLocation::Start.
bool clang::clangd::operator< | ( | const CompletionItem & | L, |
const CompletionItem & | R | ||
) |
Definition at line 824 of file Protocol.cpp.
References clang::clangd::CompletionItem::label, and clang::clangd::CompletionItem::sortText.
llvm::raw_ostream & clang::clangd::operator<< | ( | llvm::raw_ostream & | OS, |
RefKind | K | ||
) |
llvm::raw_ostream & clang::clangd::operator<< | ( | llvm::raw_ostream & | OS, |
Symbol::SymbolFlag | F | ||
) |
Definition at line 14 of file Symbol.cpp.
llvm::raw_ostream & clang::clangd::operator<< | ( | llvm::raw_ostream & | OS, |
SymbolOrigin | O | ||
) |
Definition at line 14 of file SymbolOrigin.cpp.
llvm::raw_ostream & clang::clangd::operator<< | ( | llvm::raw_ostream & | OS, |
const Symbol & | S | ||
) |
Definition at line 25 of file Symbol.cpp.
llvm::raw_ostream & clang::clangd::operator<< | ( | llvm::raw_ostream & | OS, |
const Ref & | R | ||
) |
llvm::raw_ostream & clang::clangd::operator<< | ( | llvm::raw_ostream & | OS, |
const SymbolLocation & | L | ||
) |
Definition at line 32 of file SymbolLocation.cpp.
llvm::raw_ostream & clang::clangd::operator<< | ( | llvm::raw_ostream & | OS, |
const SymbolID & | ID | ||
) |
Definition at line 46 of file SymbolID.cpp.
llvm::raw_ostream& clang::clangd::operator<< | ( | llvm::raw_ostream & | OS, |
const URIForFile & | U | ||
) |
Definition at line 79 of file Protocol.cpp.
llvm::raw_ostream & clang::clangd::operator<< | ( | llvm::raw_ostream & | OS, |
const Position & | P | ||
) |
Definition at line 104 of file Protocol.cpp.
llvm::raw_ostream & clang::clangd::operator<< | ( | llvm::raw_ostream & | OS, |
const Range & | R | ||
) |
Definition at line 120 of file Protocol.cpp.
llvm::raw_ostream & clang::clangd::operator<< | ( | llvm::raw_ostream & | OS, |
const Location & | L | ||
) |
Definition at line 131 of file Protocol.cpp.
llvm::raw_ostream & clang::clangd::operator<< | ( | llvm::raw_ostream & | OS, |
const TextEdit & | TE | ||
) |
Definition at line 153 of file Protocol.cpp.
raw_ostream& clang::clangd::operator<< | ( | raw_ostream & | , |
const CodeCompletion & | |||
) |
raw_ostream& clang::clangd::operator<< | ( | raw_ostream & | , |
const CodeCompleteResult & | |||
) |
llvm::raw_ostream & clang::clangd::operator<< | ( | llvm::raw_ostream & | OS, |
const Inclusion & | Inc | ||
) |
Definition at line 228 of file Headers.cpp.
llvm::raw_ostream & clang::clangd::operator<< | ( | llvm::raw_ostream & | OS, |
const SymbolQualitySignals & | S | ||
) |
Definition at line 250 of file Quality.cpp.
llvm::raw_ostream & clang::clangd::operator<< | ( | llvm::raw_ostream & | OS, |
const DiagBase & | D | ||
) |
Definition at line 267 of file Diagnostics.cpp.
References clang::clangd::Range::end, clang::clangd::DiagBase::File, clang::clangd::DiagBase::InsideMainFile, clang::clangd::DiagBase::Message, clang::clangd::DiagBase::Range, and clang::clangd::Range::start.
llvm::raw_ostream & clang::clangd::operator<< | ( | llvm::raw_ostream & | OS, |
const Fix & | F | ||
) |
Definition at line 276 of file Diagnostics.cpp.
llvm::raw_ostream & clang::clangd::operator<< | ( | llvm::raw_ostream & | OS, |
const Diag & | D | ||
) |
Definition at line 286 of file Diagnostics.cpp.
References D, Fix(), clang::clangd::Diag::Fixes, and clang::clangd::Diag::Notes.
llvm::raw_ostream & clang::clangd::operator<< | ( | llvm::raw_ostream & | OS, |
const SymbolRelevanceSignals & | S | ||
) |
Definition at line 424 of file Quality.cpp.
llvm::raw_ostream & clang::clangd::operator<< | ( | llvm::raw_ostream & | OS, |
const Diagnostic & | D | ||
) |
Definition at line 487 of file Protocol.cpp.
llvm::raw_ostream & clang::clangd::operator<< | ( | llvm::raw_ostream & | OS, |
const SignatureQualitySignals & | S | ||
) |
Definition at line 493 of file Quality.cpp.
llvm::raw_ostream & clang::clangd::operator<< | ( | llvm::raw_ostream & | O, |
const SymbolInformation & | SI | ||
) |
Definition at line 549 of file Protocol.cpp.
References clang::clangd::SymbolInformation::containerName, clang::clangd::SymbolInformation::name, and toJSON().
llvm::raw_ostream & clang::clangd::operator<< | ( | llvm::raw_ostream & | O, |
const SymbolDetails & | S | ||
) |
Definition at line 582 of file Protocol.cpp.
References clang::clangd::SymbolDetails::containerName, clang::clangd::SymbolDetails::name, and toJSON().
llvm::raw_ostream & clang::clangd::operator<< | ( | llvm::raw_ostream & | O, |
const DocumentSymbol & | S | ||
) |
Definition at line 625 of file Protocol.cpp.
References clang::clangd::DocumentSymbol::name, and toJSON().
llvm::raw_ostream & clang::clangd::operator<< | ( | llvm::raw_ostream & | OS, |
const IndexFileOut & | O | ||
) |
Definition at line 665 of file Serialization.cpp.
llvm::raw_ostream & clang::clangd::operator<< | ( | llvm::raw_ostream & | OS, |
MarkupKind | K | ||
) |
Definition at line 725 of file Protocol.cpp.
llvm::raw_ostream & clang::clangd::operator<< | ( | llvm::raw_ostream & | O, |
const CompletionItem & | I | ||
) |
Definition at line 819 of file Protocol.cpp.
References clang::clangd::CompletionItem::label, and toJSON().
llvm::raw_ostream & clang::clangd::operator<< | ( | llvm::raw_ostream & | O, |
const SignatureInformation & | I | ||
) |
Definition at line 861 of file Protocol.cpp.
References clang::clangd::SignatureInformation::label, and toJSON().
llvm::raw_ostream & clang::clangd::operator<< | ( | llvm::raw_ostream & | O, |
const DocumentHighlight & | V | ||
) |
Definition at line 899 of file Protocol.cpp.
References clang::clangd::DocumentHighlight::kind, clang::clangd::DocumentHighlight::range, Read, and Write.
llvm::raw_ostream & clang::clangd::operator<< | ( | llvm::raw_ostream & | O, |
const TypeHierarchyItem & | I | ||
) |
Definition at line 960 of file Protocol.cpp.
References clang::clangd::TypeHierarchyItem::name, and toJSON().
llvm::raw_ostream & clang::clangd::operator<< | ( | llvm::raw_ostream & | OS, |
const LocatedSymbol & | S | ||
) |
llvm::raw_ostream & clang::clangd::operator<< | ( | llvm::raw_ostream & | OS, |
OffsetEncoding | Enc | ||
) |
Definition at line 1042 of file Protocol.cpp.
llvm::raw_ostream & clang::clangd::operator<< | ( | llvm::raw_ostream & | OS, |
const HoverInfo::Param & | P | ||
) |
llvm::raw_ostream& clang::clangd::operator<< | ( | llvm::raw_ostream & | OS, |
const CodeCompletion & | C | ||
) |
Definition at line 1848 of file CodeComplete.cpp.
Referenced by clang::clangd::IndexFileOut::IndexFileOut(), operator &(), operator<(), operator==(), and operator|=().
llvm::raw_ostream& clang::clangd::operator<< | ( | llvm::raw_ostream & | OS, |
const CodeCompleteResult & | R | ||
) |
Definition at line 1853 of file CodeComplete.cpp.
Definition at line 61 of file Ref.h.
References clang::clangd::Ref::Kind, clang::clangd::Ref::Location, and operator<<().
|
inline |
Definition at line 66 of file SymbolLocation.h.
References clang::clangd::SymbolLocation::Position::column(), and clang::clangd::SymbolLocation::Position::line().
|
inline |
Definition at line 76 of file SymbolLocation.h.
References clang::clangd::SymbolLocation::End, clang::clangd::SymbolLocation::FileURI, and clang::clangd::SymbolLocation::Start.
|
inline |
Definition at line 113 of file XRefs.h.
References AST, clang::clangd::HoverInfo::Param::Default, FormatStyle(), getHover(), clang::clangd::HoverInfo::Param::Name, and clang::clangd::HoverInfo::Param::Type.
Definition at line 210 of file Protocol.h.
References fromJSON(), clang::clangd::TextEdit::newText, and clang::clangd::TextEdit::range.
bool clang::clangd::operator== | ( | const HighlightingToken & | Lhs, |
const HighlightingToken & | Rhs | ||
) |
Definition at line 265 of file SemanticHighlighting.cpp.
References clang::clangd::HighlightingToken::Kind, and clang::clangd::HighlightingToken::R.
bool clang::clangd::operator== | ( | const SymbolDetails & | LHS, |
const SymbolDetails & | RHS | ||
) |
Definition at line 555 of file Protocol.cpp.
References clang::clangd::SymbolDetails::containerName, clang::clangd::SymbolDetails::ID, clang::clangd::SymbolDetails::name, and clang::clangd::SymbolDetails::USR.
bool clang::clangd::operator== | ( | const SemanticHighlightingInformation & | Lhs, |
const SemanticHighlightingInformation & | Rhs | ||
) |
Definition at line 1046 of file Protocol.cpp.
References clang::clangd::SemanticHighlightingInformation::Line, and clang::clangd::SemanticHighlightingInformation::Tokens.
|
inline |
Definition at line 31 of file SymbolOrigin.h.
|
inline |
|
inline |
|
inline |
Definition at line 35 of file SymbolOrigin.h.
|
inline |
|
inline |
Definition at line 137 of file Symbol.h.
References operator<<().
|
static |
Definition at line 46 of file Symbol.cpp.
References visitStrings().
Referenced by clang::clangd::SymbolSlab::Builder::build(), and clang::clangd::SymbolSlab::Builder::insert().
|
static |
Definition at line 151 of file FuzzyMatch.cpp.
Definition at line 134 of file GlobalCompilationDatabase.cpp.
References clang::clangd::Event< T >::broadcast(), Error, File, maybeCaseFoldPath(), None, clang::clangd::GlobalCompilationDatabase::OnCommandChanged, removeDots(), and Result.
|
static |
Definition at line 323 of file Selection.cpp.
References Offset.
Referenced by clang::clangd::SelectionTree::SelectionTree().
llvm::Expected< size_t > clang::clangd::positionToOffset | ( | llvm::StringRef | Code, |
Position | P, | ||
bool | AllowColumnsBeyondLineLength = true |
||
) |
Turn a [line, column] pair into an offset in Code.
If P.character exceeds the line length, returns the offset at end-of-line. (If !AllowColumnsBeyondLineLength, then returns an error instead). If the line number is out of range, returns an error.
The returned value is in the range [0, Code.size()].
Definition at line 141 of file SourceCode.cpp.
References clang::clangd::Position::character, clang::clangd::Position::line, Line, lspEncoding(), and measureUnits().
Referenced by clang::clangd::ClangdServer::formatOnType(), and signatureHelp().
bool clang::clangd::prefer | ( | const SymbolLocation & | L, |
const SymbolLocation & | R | ||
) |
std::unique_ptr<CompilerInstance> clang::clangd::prepareCompilerInstance | ( | std::unique_ptr< clang::CompilerInvocation > | , |
const PrecompiledPreamble * | , | ||
std::unique_ptr< llvm::MemoryBuffer > | MainFile, | ||
IntrusiveRefCntPtr< llvm::vfs::FileSystem > | , | ||
DiagnosticConsumer & | |||
) |
Creates a compiler instance, configured so that:
MainFile
.MainFile
. std::unique_ptr<CompilerInstance> clang::clangd::prepareCompilerInstance | ( | std::unique_ptr< clang::CompilerInvocation > | CI, |
const PrecompiledPreamble * | Preamble, | ||
std::unique_ptr< llvm::MemoryBuffer > | Buffer, | ||
llvm::IntrusiveRefCntPtr< llvm::vfs::FileSystem > | VFS, | ||
DiagnosticConsumer & | DiagsClient | ||
) |
Definition at line 72 of file Compiler.cpp.
References VFS.
llvm::Expected< std::unique_ptr< Tweak > > clang::clangd::prepareTweak | ( | StringRef | ID, |
const Tweak::Selection & | S | ||
) |
Definition at line 69 of file Tweak.cpp.
Referenced by clang::clangd::ClangdServer::applyTweak().
std::vector< std::unique_ptr< Tweak > > clang::clangd::prepareTweaks | ( | const Tweak::Selection & | S, |
llvm::function_ref< bool(const Tweak &)> | Filter | ||
) |
Calls prepare() on all tweaks that satisfy the filter, returning those that can run on the selection.
Definition at line 51 of file Tweak.cpp.
Referenced by clang::clangd::ClangdServer::enumerateTweaks().
|
static |
Definition at line 515 of file XRefs.cpp.
References Definition.
|
static |
Definition at line 462 of file XRefs.cpp.
Referenced by getHoverContents().
std::string clang::clangd::printName | ( | const ASTContext & | Ctx, |
const NamedDecl & | ND | ||
) |
Prints unqualified name of the decl for the purpose of displaying it to the user.
Anonymous decls return names of the form "(anonymous {kind})", e.g. "(anonymous struct)" or "(anonymous namespace)".
Definition at line 90 of file AST.cpp.
References Name.
Referenced by getHoverContents().
std::string clang::clangd::printNamespaceScope | ( | const DeclContext & | DC | ) |
Returns the first enclosing namespace scope starting from DC
.
Definition at line 146 of file AST.cpp.
References Ctx, and printQualifiedName().
|
static |
std::string clang::clangd::printQualifiedName | ( | const NamedDecl & | ND | ) |
Returns the qualified name of ND.
The scope doesn't contain unwritten scopes like inline namespaces.
Definition at line 75 of file AST.cpp.
References QName.
Referenced by clang::clangd::IncludeFixer::fix(), and printNamespaceScope().
std::string clang::clangd::printTemplateSpecializationArgs | ( | const NamedDecl & | ND | ) |
Prints template arguments of a decl as written in the source code, including enclosing '<' and '>', e.g for a partial specialization like: template <typename u>=""> struct Foo<int, U> will return '<int, U>'.
Returns an empty string if decl is not a template specialization.
std::string clang::clangd::printType | ( | const QualType | QT, |
const DeclContext & | Context | ||
) |
llvm::Optional<std::string> clang::clangd::qualifiedByUnresolved | ( | const SourceManager & | SM, |
SourceLocation | Loc, | ||
const LangOptions & | LangOpts | ||
) |
Definition at line 197 of file clangd/IncludeFixer.cpp.
float clang::clangd::quality | ( | const Symbol & | S | ) |
Computes query-independent quality score for a Symbol.
This currently falls in the range [1, ln(#indexed documents)]. FIXME: this should probably be split into symbol -> signals and signals -> score, so it can be reused for Sema completions.
Definition at line 29 of file Symbol.cpp.
References clang::clangd::detail::log(), and clang::clangd::Symbol::References.
Referenced by visitStrings().
llvm::Expected< IndexFileIn > clang::clangd::readIndexFile | ( | llvm::StringRef | Data | ) |
Definition at line 677 of file Serialization.cpp.
References clang::clangd::riff::makeError(), readYAML(), and clang::tidy::cppcoreguidelines::toString().
Referenced by clang::clangd::MemoryShardStorage::loadShard().
llvm::Expected< IndexFileIn > clang::clangd::readYAML | ( | llvm::StringRef | Data | ) |
Definition at line 359 of file YAMLSerialization.cpp.
References Arena, Ctx, clang::clangd::RelationSlab::Builder::insert(), clang::clangd::RefSlab::Builder::insert(), clang::clangd::SymbolSlab::Builder::insert(), clang::clangd::IndexFileIn::Refs, Refs, clang::clangd::IndexFileIn::Relations, Relations, Result, Strings, clang::clangd::IndexFileIn::Symbols, and Symbols.
Referenced by readIndexFile().
::testing::Matcher<const RefSlab &> clang::clangd::RefsAre | ( | std::vector<::testing::Matcher< Ref >> | Matchers | ) |
Definition at line 33 of file BackgroundIndexTests.cpp.
Referenced by MATCHER_P().
index::SymbolRole clang::clangd::relationKindToSymbolRole | ( | RelationKind | Kind | ) |
Definition at line 46 of file Serialization.cpp.
References BaseOf.
Referenced by llvm::yaml::NormalizedSymbolRole::denormalize().
Returns a version of File
that doesn't contain dots and dot dots.
e.g /a/b/../c -> /a/c /a/b/./c -> /a/b/c FIXME: We should avoid encountering such paths in clangd internals by filtering everything we get over LSP, CDB, etc.
Definition at line 114 of file FS.cpp.
Referenced by clang::clangd::OverlayCDB::getCompileCommand(), clang::clangd::OverlayCDB::getProjectInfo(), pathEqual(), and clang::clangd::OverlayCDB::setCompileCommand().
llvm::Expected< tooling::Replacements > clang::clangd::renameWithinFile | ( | ParsedAST & | AST, |
llvm::StringRef | File, | ||
Position | Pos, | ||
llvm::StringRef | NewName, | ||
const SymbolIndex * | Index = nullptr |
||
) |
Renames all occurrences of the symbol at Pos
to NewName
.
Occurrences outside the current file are not modified. Returns an error if rename a symbol that's used in another file (per the index).
Definition at line 160 of file Rename.cpp.
Referenced by clang::clangd::ClangdServer::rename().
|
static |
Definition at line 30 of file TestIndex.cpp.
References clang::tidy::cppcoreguidelines::join().
Referenced by addModuleDescription(), clang::pp_trace::PPCallbacksTracker::appendFilePathArgument(), eatDiagnostics(), ensureVaidModuleName(), Modularize::ModularizeUtilities::getCanonicalPath(), clang::tidy::llvm_check::LLVMHeaderGuardCheck::getHeaderGuard(), main(), and sym().
std::vector<TextEdit> clang::clangd::replacementsToEdits | ( | StringRef | Code, |
const tooling::Replacements & | Repls | ||
) |
std::vector<TextEdit> clang::clangd::replacementsToEdits | ( | llvm::StringRef | Code, |
const tooling::Replacements & | Repls | ||
) |
Definition at line 451 of file SourceCode.cpp.
TextEdit clang::clangd::replacementToEdit | ( | StringRef | Code, |
const tooling::Replacement & | R | ||
) |
TextEdit clang::clangd::replacementToEdit | ( | llvm::StringRef | Code, |
const tooling::Replacement & | R | ||
) |
Definition at line 443 of file SourceCode.cpp.
References offsetToPosition().
void clang::clangd::resolveTypeHierarchy | ( | TypeHierarchyItem & | Item, |
int | ResolveLevels, | ||
TypeHierarchyDirection | Direction, | ||
const SymbolIndex * | Index | ||
) |
Definition at line 1255 of file XRefs.cpp.
References clang::clangd::TypeHierarchyItem::children, clang::clangd::TypeHierarchyItem::data, and Parents.
Referenced by clang::clangd::ClangdServer::resolveTypeHierarchy().
void clang::clangd::runAddDocument | ( | ClangdServer & | Server, |
PathRef | File, | ||
llvm::StringRef | Contents, | ||
WantDiagnostics | WantDiags | ||
) |
Definition at line 15 of file SyncAPI.cpp.
References clang::clangd::ClangdServer::addDocument(), and clang::clangd::ClangdServer::blockUntilIdleForTest().
void clang::clangd::runAddDocument | ( | ClangdServer & | Server, |
PathRef | File, | ||
StringRef | Contents, | ||
WantDiagnostics | WantDiags = WantDiagnostics::Auto |
||
) |
std::future<T> clang::clangd::runAsync | ( | llvm::unique_function< T()> | Action | ) |
Runs Action
asynchronously with a new std::thread.
The context will be propagated.
Definition at line 244 of file TUScheduler.h.
References Action, clang::clangd::Context::clone(), Ctx, and clang::clangd::Context::current().
Referenced by clang::clangd::AsyncTaskRunner::wait().
llvm::Expected< CodeCompleteResult > clang::clangd::runCodeComplete | ( | ClangdServer & | Server, |
PathRef | File, | ||
Position | Pos, | ||
clangd::CodeCompleteOptions | Opts | ||
) |
Definition at line 73 of file SyncAPI.cpp.
Expected< std::vector< DocumentSymbol > > clang::clangd::runDocumentSymbols | ( | ClangdServer & | Server, |
PathRef | File | ||
) |
Definition at line 123 of file SyncAPI.cpp.
References clang::clangd::ClangdServer::documentSymbols(), and Result.
Referenced by TEST_F().
std::string clang::clangd::runDumpAST | ( | ClangdServer & | Server, |
PathRef | File | ||
) |
Definition at line 109 of file SyncAPI.cpp.
References clang::clangd::ClangdServer::dumpAST(), and Result.
llvm::Expected< std::vector< DocumentHighlight > > clang::clangd::runFindDocumentHighlights | ( | ClangdServer & | Server, |
PathRef | File, | ||
Position | Pos | ||
) |
Definition at line 95 of file SyncAPI.cpp.
References clang::clangd::ClangdServer::findDocumentHighlights(), and Result.
SymbolSlab clang::clangd::runFuzzyFind | ( | const SymbolIndex & | Index, |
StringRef | Query | ||
) |
SymbolSlab clang::clangd::runFuzzyFind | ( | const SymbolIndex & | Index, |
llvm::StringRef | Query | ||
) |
Definition at line 129 of file SyncAPI.cpp.
SymbolSlab clang::clangd::runFuzzyFind | ( | const SymbolIndex & | Index, |
const FuzzyFindRequest & | Req | ||
) |
Definition at line 136 of file SyncAPI.cpp.
References Builder, clang::clangd::SymbolIndex::fuzzyFind(), and clang::clangd::SymbolSlab::Builder::insert().
llvm::Expected< std::vector< LocatedSymbol > > clang::clangd::runLocateSymbolAt | ( | ClangdServer & | Server, |
PathRef | File, | ||
Position | Pos | ||
) |
Definition at line 88 of file SyncAPI.cpp.
References clang::clangd::ClangdServer::locateSymbolAt(), and Result.
llvm::Expected<std::vector<TextEdit> > clang::clangd::runRename | ( | ClangdServer & | Server, |
PathRef | File, | ||
Position | Pos, | ||
StringRef | NewName | ||
) |
llvm::Expected<std::vector<TextEdit> > clang::clangd::runRename | ( | ClangdServer & | Server, |
PathRef | File, | ||
Position | Pos, | ||
llvm::StringRef | NewName | ||
) |
Definition at line 101 of file SyncAPI.cpp.
References clang::clangd::ClangdServer::rename(), and Result.
llvm::Expected< SignatureHelp > clang::clangd::runSignatureHelp | ( | ClangdServer & | Server, |
PathRef | File, | ||
Position | Pos | ||
) |
Definition at line 80 of file SyncAPI.cpp.
References Result, and clang::clangd::ClangdServer::signatureHelp().
llvm::Expected<std::vector<SymbolInformation> > clang::clangd::runWorkspaceSymbols | ( | ClangdServer & | Server, |
StringRef | Query, | ||
int | Limit | ||
) |
llvm::Expected<std::vector<SymbolInformation> > clang::clangd::runWorkspaceSymbols | ( | ClangdServer & | Server, |
llvm::StringRef | Query, | ||
int | Limit | ||
) |
Definition at line 116 of file SyncAPI.cpp.
|
static |
Definition at line 328 of file Quality.cpp.
References D, clang::clangd::ScopeDistance::distance(), and clang::clangd::FileDistance::Unreachable.
Referenced by clang::clangd::SymbolRelevanceSignals::evaluate().
|
static |
Definition at line 179 of file FileDistance.cpp.
References clang::tidy::cppcoreguidelines::join().
Referenced by clang::clangd::ScopeDistance::distance().
std::string clang::clangd::shortenNamespace | ( | const llvm::StringRef | OriginalName, |
const llvm::StringRef | CurrentNamespace | ||
) |
Try to shorten the OriginalName by removing namespaces from the left of the string that are redundant in the CurrentNamespace.
This way the type idenfier become shorter and easier to read. Limitation: It only handles the qualifier of the type itself, not that of templates. FIXME: change type of parameter CurrentNamespace to DeclContext , take in to account using directives etc Example: shortenNamespace("ns1::MyClass<ns1::OtherClass>", "ns1") –> "MyClass<ns1::OtherClass>"
Definition at line 172 of file AST.cpp.
References clang::tidy::cppcoreguidelines::join(), and Result.
SignatureHelp clang::clangd::signatureHelp | ( | PathRef | FileName, |
const tooling::CompileCommand & | Command, | ||
const PreambleData * | Preamble, | ||
StringRef | Contents, | ||
Position | Pos, | ||
IntrusiveRefCntPtr< llvm::vfs::FileSystem > | VFS, | ||
const SymbolIndex * | Index | ||
) |
Get signature help at a specified Pos
in FileName
.
SignatureHelp clang::clangd::signatureHelp | ( | PathRef | FileName, |
const tooling::CompileCommand & | Command, | ||
const PreambleData * | Preamble, | ||
llvm::StringRef | Contents, | ||
Position | Pos, | ||
llvm::IntrusiveRefCntPtr< llvm::vfs::FileSystem > | VFS, | ||
const SymbolIndex * | Index | ||
) |
Definition at line 1747 of file CodeComplete.cpp.
References Command, Contents, elog(), FileName, Offset, positionToOffset(), Preamble, and Result.
Referenced by clang::clangd::ClangdServer::signatureHelp().
std::string clang::clangd::sortText | ( | float | Score, |
llvm::StringRef | Tiebreak = "" |
||
) |
Returns a string that sorts in the same order as (-Score, Tiebreak), for LSP.
(The highest score compares smallest so it sorts at the top).
Definition at line 481 of file Quality.cpp.
Referenced by clang::clangd::TopN< T, Compare >::items().
llvm::Expected< SourceLocation > clang::clangd::sourceLocationInMainFile | ( | const SourceManager & | SM, |
Position | P | ||
) |
Return the file location, corresponding to P
.
Note that one should take care to avoid comparing the result with expansion locations.
Definition at line 408 of file SourceCode.cpp.
Position clang::clangd::sourceLocToPosition | ( | const SourceManager & | SM, |
SourceLocation | Loc | ||
) |
Turn a SourceLocation into a [line, column] pair.
FIXME: This should return an error if the location is invalid.
Definition at line 186 of file SourceCode.cpp.
std::pair<llvm::StringRef, llvm::StringRef> clang::clangd::splitQualifiedName | ( | llvm::StringRef | QName | ) |
From "a::b::c", return {"a::b::", "c"}.
Scope is empty if there's no qualifier.
std::pair<StringRef, StringRef> clang::clangd::splitQualifiedName | ( | StringRef | QName | ) |
Definition at line 436 of file SourceCode.cpp.
Symbol clang::clangd::sym | ( | llvm::StringRef | QName, |
index::SymbolKind | Kind, | ||
llvm::StringRef | USRFormat | ||
) |
Definition at line 39 of file TestIndex.cpp.
References clang::clangd::Symbol::Flags, clang::clangd::Symbol::ID, clang::clangd::Symbol::IndexedForCodeCompletion, Kind, clang::clangd::Symbol::Name, clang::clangd::Symbol::Origin, QName, replace(), clang::clangd::Symbol::Scope, Static, and clang::clangd::Symbol::SymInfo.
Symbol clang::clangd::symbol | ( | llvm::StringRef | QName | ) |
Definition at line 16 of file TestIndex.cpp.
References clang::clangd::Symbol::ID, clang::clangd::Symbol::Name, QName, and clang::clangd::Symbol::Scope.
Referenced by generateSymbols(), and MATCHER_P().
RelationKind clang::clangd::symbolRoleToRelationKind | ( | index::SymbolRole | Role | ) |
Definition at line 34 of file Serialization.cpp.
References BaseOf.
Referenced by llvm::yaml::NormalizedSymbolRole::NormalizedSymbolRole().
llvm::Expected< Location > clang::clangd::symbolToLocation | ( | const Symbol & | Sym, |
llvm::StringRef | HintPath | ||
) |
Helper function for deriving an LSP Location for a Symbol.
Definition at line 42 of file FindSymbols.cpp.
Referenced by symbolToTypeHierarchyItem().
|
static |
Definition at line 1091 of file XRefs.cpp.
References clang::clangd::TypeHierarchyItem::data, clang::clangd::Symbol::Deprecated, clang::clangd::TypeHierarchyItem::deprecated, clang::clangd::Symbol::Flags, clang::clangd::Symbol::ID, indexSymbolKindToSymbolKind(), clang::clangd::TypeHierarchyItem::kind, log(), clang::clangd::Symbol::Name, clang::clangd::TypeHierarchyItem::name, None, clang::clangd::TypeHierarchyItem::range, clang::clangd::TypeHierarchyItem::selectionRange, clang::clangd::SymbolID::str(), symbolToLocation(), clang::clangd::Symbol::SymInfo, clang::clangd::URIForFile::uri(), and clang::clangd::TypeHierarchyItem::uri.
clang::clangd::TEST | ( | ContextTests | , |
Simple | |||
) |
Definition at line 16 of file ContextTests.cpp.
References Ctx, clang::clangd::Context::derive(), clang::clangd::Context::empty(), and clang::clangd::Context::get().
clang::clangd::TEST | ( | ContextTests | , |
MoveOps | |||
) |
Definition at line 26 of file ContextTests.cpp.
References Ctx, clang::clangd::Context::derive(), clang::clangd::Context::empty(), and clang::clangd::Context::get().
clang::clangd::TEST | ( | ContextTests | , |
Builders | |||
) |
Definition at line 36 of file ContextTests.cpp.
References clang::clangd::Context::derive(), clang::clangd::Context::empty(), and clang::clangd::Context::get().
clang::clangd::TEST | ( | BackgroundQueueTest | , |
Priority | |||
) |
Definition at line 649 of file BackgroundIndexTests.cpp.
References clang::clangd::BackgroundQueue::append(), clang::clangd::BackgroundQueue::push(), clang::clangd::BackgroundQueue::Task::QueuePri, clang::clangd::AsyncTaskRunner::runAsync(), clang::clangd::BackgroundQueue::stop(), and clang::clangd::AsyncTaskRunner::wait().
clang::clangd::TEST | ( | BackgroundQueueTest | , |
Boost | |||
) |
Definition at line 681 of file BackgroundIndexTests.cpp.
clang::clangd::TEST_F | ( | ThreadingTest | , |
TaskRunner | |||
) |
Definition at line 17 of file ThreadingTests.cpp.
clang::clangd::TEST_F | ( | BackgroundIndexTest | , |
NoCrashOnErrorFile | |||
) |
Definition at line 88 of file BackgroundIndexTests.cpp.
References clang::clangd::MockFSProvider::Files, FS, and testPath().
clang::clangd::TEST_F | ( | WorkspaceSymbolsTest | , |
Macros | |||
) |
Definition at line 90 of file FindSymbolsTests.cpp.
clang::clangd::TEST_F | ( | WorkspaceSymbolsTest | , |
NoLocals | |||
) |
Definition at line 102 of file FindSymbolsTests.cpp.
clang::clangd::TEST_F | ( | BackgroundIndexTest | , |
IndexTwoFiles | |||
) |
Definition at line 107 of file BackgroundIndexTests.cpp.
References clang::clangd::MockFSProvider::Files, FS, and testPath().
clang::clangd::TEST_F | ( | WorkspaceSymbolsTest | , |
Globals | |||
) |
clang::clangd::TEST_F | ( | WorkspaceSymbolsTest | , |
Unnamed | |||
) |
Definition at line 129 of file FindSymbolsTests.cpp.
clang::clangd::TEST_F | ( | WorkspaceSymbolsTest | , |
InMainFile | |||
) |
Definition at line 145 of file FindSymbolsTests.cpp.
clang::clangd::TEST_F | ( | WorkspaceSymbolsTest | , |
Namespaces | |||
) |
Definition at line 153 of file FindSymbolsTests.cpp.
References QName.
clang::clangd::TEST_F | ( | BackgroundIndexTest | , |
ShardStorageTest | |||
) |
Definition at line 177 of file BackgroundIndexTests.cpp.
References clang::clangd::MockFSProvider::Files, FS, and testPath().
clang::clangd::TEST_F | ( | WorkspaceSymbolsTest | , |
AnonymousNamespace | |||
) |
Definition at line 181 of file FindSymbolsTests.cpp.
References QName.
clang::clangd::TEST_F | ( | WorkspaceSymbolsTest | , |
MultiFile | |||
) |
Definition at line 193 of file FindSymbolsTests.cpp.
References QName.
clang::clangd::TEST_F | ( | WorkspaceSymbolsTest | , |
GlobalNamespaceQueries | |||
) |
clang::clangd::TEST_F | ( | WorkspaceSymbolsTest | , |
Enums | |||
) |
Definition at line 234 of file FindSymbolsTests.cpp.
References QName.
clang::clangd::TEST_F | ( | BackgroundIndexTest | , |
DirectIncludesTest | |||
) |
Definition at line 249 of file BackgroundIndexTests.cpp.
References clang::clangd::MockFSProvider::Files, FS, and testPath().
clang::clangd::TEST_F | ( | WorkspaceSymbolsTest | , |
Ranking | |||
) |
Definition at line 274 of file FindSymbolsTests.cpp.
References QName.
clang::clangd::TEST_F | ( | WorkspaceSymbolsTest | , |
WithLimit | |||
) |
Definition at line 285 of file FindSymbolsTests.cpp.
clang::clangd::TEST_F | ( | BackgroundIndexTest | , |
ShardStorageLoad | |||
) |
Definition at line 300 of file BackgroundIndexTests.cpp.
References clang::clangd::MockFSProvider::Files, FS, and testPath().
clang::clangd::TEST_F | ( | WorkspaceSymbolsTest | , |
TempSpecs | |||
) |
Definition at line 303 of file FindSymbolsTests.cpp.
References clang::clangd::ClangdServer::addDocument(), clang::clangd::ClangdServer::blockUntilIdleForTest(), CDB, Class, Contents, DiagConsumer, File, clang::clangd::MockFSProvider::Files, FSProvider, QName, runDocumentSymbols(), and Server.
clang::clangd::TEST_F | ( | DocumentSymbolsTest | , |
BasicSymbols | |||
) |
Definition at line 346 of file FindSymbolsTests.cpp.
References Children, Class, Function, Method, Namespace, testPath(), and Variable.
clang::clangd::TEST_F | ( | BackgroundIndexTest | , |
ShardStorageEmptyFile | |||
) |
Definition at line 371 of file BackgroundIndexTests.cpp.
References clang::clangd::MockFSProvider::Files, FS, and testPath().
clang::clangd::TEST_F | ( | DocumentSymbolsTest | , |
DeclarationDefinition | |||
) |
Definition at line 434 of file FindSymbolsTests.cpp.
References Children, Class, Method, clang::clangd::Annotations::range(), and testPath().
clang::clangd::TEST_F | ( | BackgroundIndexTest | , |
NoDotsInAbsPath | |||
) |
Definition at line 439 of file BackgroundIndexTests.cpp.
References FS.
clang::clangd::TEST_F | ( | DocumentSymbolsTest | , |
ExternSymbol | |||
) |
Definition at line 454 of file FindSymbolsTests.cpp.
References testPath().
clang::clangd::TEST_F | ( | DocumentSymbolsTest | , |
NoLocals | |||
) |
Definition at line 466 of file FindSymbolsTests.cpp.
References testPath().
clang::clangd::TEST_F | ( | BackgroundIndexTest | , |
UncompilableFiles | |||
) |
Definition at line 468 of file BackgroundIndexTests.cpp.
References FS.
clang::clangd::TEST_F | ( | DocumentSymbolsTest | , |
Unnamed | |||
) |
Definition at line 477 of file FindSymbolsTests.cpp.
References Children, Field, Struct, testPath(), and Variable.
clang::clangd::TEST_F | ( | DocumentSymbolsTest | , |
InHeaderFile | |||
) |
Definition at line 495 of file FindSymbolsTests.cpp.
References testPath().
clang::clangd::TEST_F | ( | DocumentSymbolsTest | , |
Template | |||
) |
Definition at line 512 of file FindSymbolsTests.cpp.
References Children, Field, Struct, and testPath().
clang::clangd::TEST_F | ( | BackgroundIndexTest | , |
CmdLineHash | |||
) |
Definition at line 531 of file BackgroundIndexTests.cpp.
References FS.
clang::clangd::TEST_F | ( | DocumentSymbolsTest | , |
Namespaces | |||
) |
Definition at line 549 of file FindSymbolsTests.cpp.
References Children, and testPath().
clang::clangd::TEST_F | ( | DocumentSymbolsTest | , |
Enums | |||
) |
Definition at line 587 of file FindSymbolsTests.cpp.
References Children, and testPath().
clang::clangd::TEST_F | ( | BackgroundIndexRebuilderTest | , |
IndexingTUs | |||
) |
Definition at line 613 of file BackgroundIndexTests.cpp.
clang::clangd::TEST_F | ( | DocumentSymbolsTest | , |
FromMacro | |||
) |
Definition at line 615 of file FindSymbolsTests.cpp.
References clang::clangd::Annotations::range(), and testPath().
clang::clangd::TEST_F | ( | BackgroundIndexRebuilderTest | , |
LoadingShards | |||
) |
Definition at line 622 of file BackgroundIndexTests.cpp.
clang::clangd::TEST_F | ( | DocumentSymbolsTest | , |
FuncTemplates | |||
) |
Definition at line 636 of file FindSymbolsTests.cpp.
References testPath().
clang::clangd::TEST_F | ( | DocumentSymbolsTest | , |
UsingDirectives | |||
) |
Definition at line 651 of file FindSymbolsTests.cpp.
References testPath().
clang::clangd::TEST_F | ( | DocumentSymbolsTest | , |
TempSpecs | |||
) |
Definition at line 670 of file FindSymbolsTests.cpp.
References Class.
std::string clang::clangd::testPath | ( | PathRef | File | ) |
Definition at line 82 of file TestFS.cpp.
References File, and testRoot().
Referenced by clang::clangd::TestTU::build(), and TEST_F().
const char * clang::clangd::testRoot | ( | ) |
Definition at line 74 of file TestFS.cpp.
Referenced by clang::clangd::TestTU::build(), buildTestFS(), testPath(), and clang::clangd::TestScheme::uriFromAbsolutePath().
Deadline clang::clangd::timeoutSeconds | ( | llvm::Optional< double > | Seconds | ) |
Makes a deadline from a timeout in seconds. None means wait forever.
Definition at line 99 of file Threading.cpp.
References clang::clangd::Deadline::infinity().
Referenced by clang::clangd::BackgroundQueue::blockUntilIdleForTest(), clang::clangd::ClangdServer::blockUntilIdleForTest(), and clang::clangd::Deadline::operator==().
CodeAction clang::clangd::toCodeAction | ( | const Fix & | F, |
const URIForFile & | File | ||
) |
Convert from Fix to LSP CodeAction.
Definition at line 308 of file Diagnostics.cpp.
Referenced by toLSPDiags().
llvm::Optional< SourceRange > clang::clangd::toHalfOpenFileRange | ( | const SourceManager & | Mgr, |
const LangOptions & | LangOpts, | ||
SourceRange | R | ||
) |
Turns a token range into a half-open range and checks its correctness.
The resulting range will have only valid source location on both sides, both of which are file locations.
File locations always point to a particular offset in a file, i.e. they never refer to a location inside a macro expansion. Turning locations from macro expansions into file locations is ambiguous - one can use SourceManager::{getExpansion|getFile|getSpelling}Loc. This function calls SourceManager::getFileLoc on both ends of R
to do the conversion.
User input (e.g. cursor position) is expressed as a file location, so this function can be viewed as a way to normalize the ranges used in the clang AST so that they are comparable with ranges coming from the user input.
Definition at line 376 of file SourceCode.cpp.
llvm::Expected< HeaderFile > clang::clangd::toHeaderFile | ( | llvm::StringRef | Header, |
llvm::StringRef | HintPath | ||
) |
Creates a HeaderFile
from Header
which can be either a URI or a literal include.
Definition at line 77 of file Headers.cpp.
llvm::json::Value clang::clangd::toJSON | ( | const FuzzyFindRequest & | Request | ) |
Definition at line 48 of file Index.cpp.
Referenced by operator<<(), and clang::clangd::IncludeFixer::unresolvedNameRecorder().
llvm::json::Value clang::clangd::toJSON | ( | const URIForFile & | U | ) |
Serialize/deserialize URIForFile
to/from a string URI.
Definition at line 77 of file Protocol.cpp.
llvm::json::Value clang::clangd::toJSON | ( | const TextDocumentIdentifier & | R | ) |
Definition at line 83 of file Protocol.cpp.
llvm::json::Value clang::clangd::toJSON | ( | const Position & | P | ) |
Definition at line 97 of file Protocol.cpp.
llvm::json::Value clang::clangd::toJSON | ( | const Range & | P | ) |
Definition at line 113 of file Protocol.cpp.
llvm::json::Value clang::clangd::toJSON | ( | const Location & | P | ) |
Definition at line 124 of file Protocol.cpp.
llvm::json::Value clang::clangd::toJSON | ( | const TextEdit & | P | ) |
Definition at line 146 of file Protocol.cpp.
llvm::json::Value clang::clangd::toJSON | ( | const MessageType & | R | ) |
Definition at line 369 of file Protocol.cpp.
llvm::json::Value clang::clangd::toJSON | ( | const ShowMessageParams & | R | ) |
Definition at line 373 of file Protocol.cpp.
llvm::json::Value clang::clangd::toJSON | ( | const DiagnosticRelatedInformation & | DRI | ) |
Definition at line 445 of file Protocol.cpp.
llvm::json::Value clang::clangd::toJSON | ( | const Diagnostic & | D | ) |
Definition at line 452 of file Protocol.cpp.
llvm::json::Value clang::clangd::toJSON | ( | const SymbolInformation & | P | ) |
Definition at line 540 of file Protocol.cpp.
llvm::json::Value clang::clangd::toJSON | ( | const SymbolDetails & | P | ) |
Definition at line 560 of file Protocol.cpp.
llvm::json::Value clang::clangd::toJSON | ( | const Command & | C | ) |
Definition at line 599 of file Protocol.cpp.
llvm::json::Value clang::clangd::toJSON | ( | const CodeAction & | CA | ) |
Definition at line 612 of file Protocol.cpp.
llvm::json::Value clang::clangd::toJSON | ( | const DocumentSymbol & | S | ) |
Definition at line 629 of file Protocol.cpp.
llvm::json::Value clang::clangd::toJSON | ( | const WorkspaceEdit & | WE | ) |
Definition at line 645 of file Protocol.cpp.
llvm::json::Value clang::clangd::toJSON | ( | const TweakArgs & | A | ) |
Definition at line 660 of file Protocol.cpp.
llvm::json::Value clang::clangd::toJSON | ( | const ApplyWorkspaceEditParams & | Params | ) |
Definition at line 665 of file Protocol.cpp.
llvm::json::Value clang::clangd::toJSON | ( | const MarkupContent & | MC | ) |
Definition at line 729 of file Protocol.cpp.
llvm::json::Value clang::clangd::toJSON | ( | const Hover & | H | ) |
Definition at line 739 of file Protocol.cpp.
llvm::json::Value clang::clangd::toJSON | ( | const CompletionItem & | CI | ) |
Definition at line 793 of file Protocol.cpp.
llvm::json::Value clang::clangd::toJSON | ( | const CompletionList & | L | ) |
Definition at line 829 of file Protocol.cpp.
llvm::json::Value clang::clangd::toJSON | ( | const ParameterInformation & | PI | ) |
Definition at line 836 of file Protocol.cpp.
llvm::json::Value clang::clangd::toJSON | ( | const SignatureInformation & | SI | ) |
Definition at line 850 of file Protocol.cpp.
llvm::json::Value clang::clangd::toJSON | ( | const SignatureHelp & | SH | ) |
Definition at line 867 of file Protocol.cpp.
llvm::json::Value clang::clangd::toJSON | ( | const DocumentHighlight & | DH | ) |
Definition at line 885 of file Protocol.cpp.
llvm::json::Value clang::clangd::toJSON | ( | const FileStatus & | FStatus | ) |
Definition at line 892 of file Protocol.cpp.
llvm::json::Value clang::clangd::toJSON | ( | const TypeHierarchyItem & | I | ) |
Definition at line 965 of file Protocol.cpp.
llvm::json::Value clang::clangd::toJSON | ( | const OffsetEncoding & | OE | ) |
Definition at line 1030 of file Protocol.cpp.
llvm::json::Value clang::clangd::toJSON | ( | const SemanticHighlightingInformation & | Highlighting | ) |
Definition at line 1051 of file Protocol.cpp.
llvm::json::Value clang::clangd::toJSON | ( | const SemanticHighlightingParams & | Highlighting | ) |
Definition at line 1056 of file Protocol.cpp.
void clang::clangd::toLSPDiags | ( | const Diag & | D, |
const URIForFile & | File, | ||
const ClangdDiagnosticOptions & | Opts, | ||
llvm::function_ref< void(clangd::Diagnostic, llvm::ArrayRef< Fix >)> | OutFn | ||
) |
Conversion to LSP diagnostics.
Formats the error message of each diagnostic to include all its notes. Notes inside main file are also provided as separate diagnostics with their corresponding fixits. Notes outside main file do not have a corresponding LSP diagnostic, but can still be included as part of their main diagnostic's message.
Definition at line 318 of file Diagnostics.cpp.
References clang::clangd::URIForFile::canonicalize(), clang::clangd::DiagBase::Category, clang::clangd::Diagnostic::category, clang::clangd::Diag::Clang, clang::clangd::Diag::ClangTidy, clang::clangd::Diagnostic::code, clang::clangd::Diagnostic::codeActions, D, clang::clangd::ClangdDiagnosticOptions::EmbedFixesInDiagnostics, clang::clangd::ClangdDiagnosticOptions::EmitRelatedLocations, clang::clangd::URIForFile::file(), clang::clangd::Diag::Fixes, getSeverity(), clang::clangd::DiagnosticRelatedInformation::location, clang::clangd::DiagnosticRelatedInformation::message, clang::clangd::Diagnostic::message, clang::clangd::Diag::Name, clang::clangd::Diag::Notes, clang::clangd::DiagBase::Range, clang::clangd::Location::range, clang::clangd::Diagnostic::range, clang::clangd::Diagnostic::relatedInformation, clang::clangd::ClangdDiagnosticOptions::SendDiagnosticCategory, clang::clangd::DiagBase::Severity, clang::clangd::Diagnostic::severity, clang::clangd::Diag::Source, clang::clangd::Diagnostic::source, toCodeAction(), clang::clangd::Diag::Unknown, clang::clangd::Location::uri, and vlog().
|
static |
Definition at line 30 of file Annotations.cpp.
References clang::clangd::Range::end, offsetToPosition(), and clang::clangd::Range::start.
Referenced by clang::clangd::Annotations::range(), and clang::clangd::Annotations::ranges().
std::vector< SemanticHighlightingInformation > clang::clangd::toSemanticHighlightingInformation | ( | llvm::ArrayRef< HighlightingToken > | Tokens | ) |
Definition at line 274 of file SemanticHighlighting.cpp.
llvm::StringRef clang::clangd::toSourceCode | ( | const SourceManager & | SM, |
SourceRange | R | ||
) |
Returns the source code covered by the source range.
EXPECTS: isValidFileRange(R) == true.
Definition at line 397 of file SourceCode.cpp.
|
static |
Definition at line 1017 of file Protocol.cpp.
References UnsupportedEncoding, UTF16, UTF32, and UTF8.
Referenced by clang::clangd::dex::generateProximityURIs().
TextEdit clang::clangd::toTextEdit | ( | const FixItHint & | FixIt, |
const SourceManager & | M, | ||
const LangOptions & | L | ||
) |
Definition at line 498 of file SourceCode.cpp.
References halfOpenToRange(), clang::clangd::TextEdit::newText, clang::clangd::TextEdit::range, and Result.
|
static |
Definition at line 698 of file Protocol.cpp.
llvm::StringRef clang::clangd::toTextMateScope | ( | HighlightingKind | Kind | ) |
Converts a HighlightingKind to a corresponding TextMate scope (https://manual.macromates.com/en/language_grammars).
Definition at line 306 of file SemanticHighlighting.cpp.
References Class, Enum, EnumConstant, Field, Function, Method, Namespace, NumKinds, TemplateParameter, and Variable.
|
static |
Definition at line 281 of file SourceCode.cpp.
std::string clang::clangd::toYAML | ( | const Symbol & | S | ) |
Definition at line 391 of file YAMLSerialization.cpp.
std::string clang::clangd::toYAML | ( | const Relation & | R | ) |
Definition at line 413 of file YAMLSerialization.cpp.
Definition at line 402 of file YAMLSerialization.cpp.
References Refs.
unsigned clang::clangd::transformCursorPosition | ( | unsigned | Offset, |
const std::vector< tooling::Replacement > & | Replacements | ||
) |
Determine the new cursor position after applying Replacements
.
Analogue of tooling::Replacements::getShiftedCodePosition().
Definition at line 352 of file Format.cpp.
|
static |
Definition at line 322 of file ClangdServer.cpp.
Referenced by clang::clangd::ClangdServer::applyTweak(), and clang::clangd::ClangdServer::enumerateTweaks().
std::vector< const CXXRecordDecl * > clang::clangd::typeParents | ( | const CXXRecordDecl * | CXXRD | ) |
|
static |
Definition at line 290 of file SourceCode.cpp.
|
static |
Definition at line 319 of file Quality.cpp.
References clang::clangd::URIDistance::distance(), and clang::tidy::bugprone::f().
Referenced by clang::clangd::SymbolRelevanceSignals::evaluate().
Symbol clang::clangd::var | ( | llvm::StringRef | Name | ) |
Definition at line 68 of file TestIndex.cpp.
References sym().
std::vector< std::string > clang::clangd::visibleNamespaces | ( | llvm::StringRef | Code, |
const format::FormatStyle & | Style | ||
) |
Heuristically determine namespaces visible at a point, without parsing Code.
This considers using-directives and enclosing namespace-declarations that are visible (and not obfuscated) in the file itself (not headers). Code should be truncated at the point of interest.
The returned vector is always non-empty.
Using directives are resolved against all enclosing scopes, but no other namespace directives.
example: using namespace a; namespace foo { using namespace b;
visibleNamespaces are {"foo::", "", "a::", "b::", "foo::b::"}, not "a::b::".
Definition at line 708 of file SourceCode.cpp.
Invokes Callback with each StringRef& contained in the Symbol.
Useful for deduplicating backing strings.
Definition at line 147 of file Symbol.h.
References clang::clangd::Symbol::CanonicalDeclaration, clang::clangd::Symbol::CompletionSnippetSuffix, clang::clangd::Symbol::Definition, clang::clangd::Symbol::Documentation, clang::clangd::SymbolLocation::FileURI, clang::clangd::Symbol::IncludeHeaders, clang::clangd::Symbol::Name, quality(), clang::clangd::Symbol::ReturnType, clang::clangd::Symbol::Scope, clang::clangd::Symbol::Signature, clang::clangd::Symbol::TemplateSpecializationArgs, and clang::clangd::Symbol::Type.
Referenced by own().
void clang::clangd::vlog | ( | const char * | Fmt, |
Ts &&... | Vals | ||
) |
Definition at line 67 of file Logger.h.
References clang::clangd::detail::log(), and clang::clangd::Logger::Verbose.
Referenced by buildPreamble(), toLSPDiags(), and clang::clangd::IncludeFixer::unresolvedNameRecorder().
LLVM_NODISCARD bool clang::clangd::wait | ( | std::unique_lock< std::mutex > & | Lock, |
std::condition_variable & | CV, | ||
Deadline | D, | ||
Func | F | ||
) |
Waits on a condition variable until F() is true or D expires.
Definition at line 91 of file Threading.h.
void clang::clangd::wait | ( | std::unique_lock< std::mutex > & | Lock, |
std::condition_variable & | CV, | ||
Deadline | D | ||
) |
Wait once on CV for the specified duration.
Definition at line 107 of file Threading.cpp.
References clang::clangd::Deadline::infinity(), clang::clangd::Deadline::time(), and clang::clangd::Deadline::zero().
Referenced by clang::clangd::BackgroundQueue::blockUntilIdleForTest(), clang::clangd::AsyncTaskRunner::wait(), and clang::clangd::AsyncTaskRunner::~AsyncTaskRunner().
|
static |
Definition at line 339 of file Quality.cpp.
Referenced by clang::clangd::SymbolRelevanceSignals::evaluate().
|
static |
Sanitizes a piece for presenting it in a synthesized fix message.
Ensures the result is not too large and does not contain newlines.
Definition at line 457 of file Diagnostics.cpp.
void clang::clangd::writeYAML | ( | const IndexFileOut & | O, |
llvm::raw_ostream & | OS | ||
) |
Definition at line 338 of file YAMLSerialization.cpp.
|
static |
Referenced by clang::clangd::TestScheme::uriFromAbsolutePath().
llvm::json::Value clang::clangd::xpcToJson | ( | const xpc_object_t & | XPCObject | ) |
Definition at line 26 of file Conversion.cpp.
|
static |
Definition at line 72 of file FuzzyMatch.cpp.
Referenced by calculateRoles(), and clang::clangd::FuzzyMatcher::FuzzyMatcher().
|
static |
Definition at line 141 of file FuzzyMatch.cpp.
Referenced by calculateRoles().
|
static |
Definition at line 114 of file FuzzyMatch.cpp.
Referenced by calculateRoles().
constexpr auto clang::clangd::CompletionItemKindMax |
Definition at line 290 of file Protocol.h.
constexpr auto clang::clangd::CompletionItemKindMin |
Definition at line 288 of file Protocol.h.
Referenced by adjustKindToCapability().
|
static |
Definition at line 16 of file Cancellation.cpp.
Key< OffsetEncoding > clang::clangd::kCurrentOffsetEncoding |
Definition at line 110 of file SourceCode.cpp.
|
static |
Definition at line 71 of file TUScheduler.cpp.
|
static |
Definition at line 74 of file FuzzyMatch.cpp.
|
static |
Definition at line 14 of file BackgroundQueue.cpp.
constexpr auto clang::clangd::SymbolKindMax = static_cast<size_t>(SymbolKind::TypeParameter) |
Definition at line 329 of file Protocol.h.
constexpr auto clang::clangd::SymbolKindMin = static_cast<size_t>(SymbolKind::File) |
Definition at line 328 of file Protocol.h.
Referenced by adjustKindToCapability().
|
static |
Definition at line 19 of file URITests.cpp.
|
static |
Definition at line 36 of file QualityTests.cpp.
volatile int clang::clangd::UnittestSchemeAnchorSource = 0 |
Definition at line 132 of file TestFS.cpp.