clang-tools 20.0.0git
Namespaces | Macros | Functions
CodeComplete.cpp File Reference
#include "CodeComplete.h"
#include "AST.h"
#include "CodeCompletionStrings.h"
#include "Compiler.h"
#include "Config.h"
#include "ExpectedTypes.h"
#include "Feature.h"
#include "FileDistance.h"
#include "FuzzyMatch.h"
#include "Headers.h"
#include "Hover.h"
#include "Preamble.h"
#include "Protocol.h"
#include "Quality.h"
#include "SourceCode.h"
#include "URI.h"
#include "index/Index.h"
#include "index/Symbol.h"
#include "index/SymbolOrigin.h"
#include "support/Logger.h"
#include "support/Markup.h"
#include "support/Threading.h"
#include "support/ThreadsafeFS.h"
#include "support/Trace.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclBase.h"
#include "clang/Basic/CharInfo.h"
#include "clang/Basic/LangOptions.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Basic/TokenKinds.h"
#include "clang/Format/Format.h"
#include "clang/Frontend/CompilerInstance.h"
#include "clang/Frontend/FrontendActions.h"
#include "clang/Lex/ExternalPreprocessorSource.h"
#include "clang/Lex/Lexer.h"
#include "clang/Lex/Preprocessor.h"
#include "clang/Lex/PreprocessorOptions.h"
#include "clang/Sema/CodeCompleteConsumer.h"
#include "clang/Sema/DeclSpec.h"
#include "clang/Sema/Sema.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/FormatVariadic.h"
#include "llvm/Support/ScopedPrinter.h"
#include <algorithm>
#include <iterator>
#include <limits>
#include <optional>
#include <utility>

Go to the source code of this file.

Namespaces

namespace  clang
 ===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
 
namespace  clang::clangd
 FIXME: Skip testing on windows temporarily due to the different escaping code mode.
 

Macros

#define DEBUG_TYPE   "CodeComplete"
 

Functions

CompletionPrefix clang::clangd::guessCompletionPrefix (llvm::StringRef Content, unsigned Offset)
 
CodeCompleteResult clang::clangd::codeCompleteComment (PathRef FileName, unsigned Offset, llvm::StringRef Prefix, const PreambleData *Preamble, const ParseInputs &ParseInput)
 
std::optional< unsigned > clang::clangd::maybeFunctionArgumentCommentStart (llvm::StringRef Content)
 
CodeCompleteResult clang::clangd::codeComplete (PathRef FileName, Position Pos, const PreambleData *Preamble, const ParseInputs &ParseInput, CodeCompleteOptions Opts, SpeculativeFuzzyFind *SpecFuzzyFind=nullptr)
 Gets code completions at a specified Pos in FileName.
 
SignatureHelp clang::clangd::signatureHelp (PathRef FileName, Position Pos, const PreambleData &Preamble, const ParseInputs &ParseInput, MarkupKind DocumentationFormat)
 Get signature help at a specified Pos in FileName.
 
bool clang::clangd::isIndexedForCodeCompletion (const NamedDecl &ND, ASTContext &ASTCtx)
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &OS, const CodeCompletion &C)
 
llvm::raw_ostream & clang::clangd::operator<< (llvm::raw_ostream &OS, const CodeCompleteResult &R)
 
bool clang::clangd::isIncludeFile (llvm::StringRef Line)
 
bool clang::clangd::allowImplicitCompletion (llvm::StringRef Content, unsigned Offset)
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "CodeComplete"

Definition at line 77 of file CodeComplete.cpp.

Variable Documentation

◆ AccessibleScopes

std::vector<std::string> AccessibleScopes

Definition at line 717 of file CodeComplete.cpp.

◆ AllowAllScopes

bool AllowAllScopes = false

Definition at line 727 of file CodeComplete.cpp.

◆ CCContext

CodeCompletionContext CCContext

Definition at line 914 of file CodeComplete.cpp.

◆ CCSema

Sema* CCSema = nullptr

Definition at line 915 of file CodeComplete.cpp.

◆ EnclosingNamespace

std::optional<std::string> EnclosingNamespace

Definition at line 725 of file CodeComplete.cpp.

◆ FileName

PathRef FileName

Definition at line 1333 of file CodeComplete.cpp.

◆ IdentifierResult

const RawIdentifier* IdentifierResult = nullptr

Definition at line 221 of file CodeComplete.cpp.

◆ IDForDoc

SymbolID IDForDoc

Definition at line 1026 of file CodeComplete.cpp.

◆ IndexResult

const Symbol* IndexResult = nullptr

◆ Name

llvm::StringRef Name

Definition at line 210 of file CodeComplete.cpp.

◆ Offset

size_t Offset

◆ ParseInput

const ParseInputs& ParseInput

◆ Patch

const std::optional<PreamblePatch> Patch

Definition at line 1336 of file CodeComplete.cpp.

Referenced by clang::clangd::ParsedAST::build().

◆ Preamble

const PreambleData& Preamble

◆ Quality

SignatureQualitySignals Quality

◆ QueryScopes

std::vector<std::string> QueryScopes

Definition at line 720 of file CodeComplete.cpp.

Referenced by clang::clangd::createScopeFileDistance().

◆ RankedIncludeHeaders

llvm::SmallVector<SymbolInclude, 1> RankedIncludeHeaders

Definition at line 222 of file CodeComplete.cpp.

◆ References

unsigned References

Definition at line 211 of file CodeComplete.cpp.

Referenced by clang::doc::genReferencesBlock().

◆ Results

std::vector<CodeCompletionResult> Results

◆ ReturnType

std::string ReturnType

◆ SemaResult

const CodeCompletionResult* SemaResult = nullptr

◆ Signature

SignatureInformation Signature

◆ SnippetSuffix

std::string SnippetSuffix

◆ UnresolvedQualifier

std::optional<std::string> UnresolvedQualifier

Definition at line 723 of file CodeComplete.cpp.