LLDB mainline
|
#include "clang/AST/ASTContext.h"
#include "clang/AST/ASTDiagnostic.h"
#include "clang/AST/ExternalASTSource.h"
#include "clang/AST/PrettyPrinter.h"
#include "clang/Basic/Builtins.h"
#include "clang/Basic/DiagnosticIDs.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Basic/TargetInfo.h"
#include "clang/Basic/Version.h"
#include "clang/CodeGen/CodeGenAction.h"
#include "clang/CodeGen/ModuleBuilder.h"
#include "clang/Edit/Commit.h"
#include "clang/Edit/EditedSource.h"
#include "clang/Edit/EditsReceiver.h"
#include "clang/Frontend/CompilerInstance.h"
#include "clang/Frontend/CompilerInvocation.h"
#include "clang/Frontend/FrontendActions.h"
#include "clang/Frontend/FrontendDiagnostic.h"
#include "clang/Frontend/FrontendPluginRegistry.h"
#include "clang/Frontend/TextDiagnosticBuffer.h"
#include "clang/Frontend/TextDiagnosticPrinter.h"
#include "clang/Lex/Preprocessor.h"
#include "clang/Parse/ParseAST.h"
#include "clang/Rewrite/Core/Rewriter.h"
#include "clang/Rewrite/Frontend/FrontendActions.h"
#include "clang/Sema/CodeCompleteConsumer.h"
#include "clang/Sema/Sema.h"
#include "clang/Sema/SemaConsumer.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ExecutionEngine/ExecutionEngine.h"
#include "llvm/Support/CrashRecoveryContext.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/TargetSelect.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Module.h"
#include "llvm/Support/DynamicLibrary.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/Signals.h"
#include "llvm/TargetParser/Host.h"
#include "ClangDiagnostic.h"
#include "ClangExpressionParser.h"
#include "ClangUserExpression.h"
#include "ASTUtils.h"
#include "ClangASTSource.h"
#include "ClangExpressionDeclMap.h"
#include "ClangExpressionHelper.h"
#include "ClangHost.h"
#include "ClangModulesDeclVendor.h"
#include "ClangPersistentVariables.h"
#include "IRDynamicChecks.h"
#include "IRForTarget.h"
#include "ModuleDependencyCollector.h"
#include "Plugins/TypeSystem/Clang/TypeSystemClang.h"
#include "lldb/Core/Debugger.h"
#include "lldb/Core/Disassembler.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/StreamFile.h"
#include "lldb/Expression/IRExecutionUnit.h"
#include "lldb/Expression/IRInterpreter.h"
#include "lldb/Host/File.h"
#include "lldb/Host/HostInfo.h"
#include "lldb/Symbol/SymbolVendor.h"
#include "lldb/Target/ExecutionContext.h"
#include "lldb/Target/Language.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/Target.h"
#include "lldb/Target/ThreadPlanCallFunction.h"
#include "lldb/Utility/DataBufferHeap.h"
#include "lldb/Utility/LLDBAssert.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/Stream.h"
#include "lldb/Utility/StreamString.h"
#include "lldb/Utility/StringList.h"
#include "Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h"
#include <cctype>
#include <memory>
#include <optional>
#include "clang/Basic/TokenKinds.def"
Go to the source code of this file.
Classes | |
class | lldb_private::ClangExpressionParser::LLDBPreprocessorCallbacks |
class | ClangDiagnosticManagerAdapter |
Macros | |
#define | KEYWORD(NAME, FLAGS) RemoveCppKeyword(idents, llvm::StringRef(#NAME)); |
Functions | |
static void | AddAllFixIts (ClangDiagnostic *diag, const clang::Diagnostic &Info) |
static void | SetupModuleHeaderPaths (CompilerInstance *compiler, std::vector< std::string > include_directories, lldb::TargetSP target_sp) |
static void | RemoveCppKeyword (IdentifierTable &idents, llvm::StringRef token) |
Iff the given identifier is a C++ keyword, remove it from the identifier table (i.e., make the token a normal identifier). | |
static void | RemoveAllCppKeywords (IdentifierTable &idents) |
Remove all C++ keywords from the given identifier table. | |
static void | SetupDefaultClangDiagnostics (CompilerInstance &compiler) |
Configures Clang diagnostics for the expression parser. | |
static void | ApplyFixIt (const FixItHint &fixit, clang::edit::Commit &commit) |
Applies the given Fix-It hint to the given commit. | |
static bool | FindFunctionInModule (ConstString &mangled_name, llvm::Module *module, const char *orig_name) |
#define KEYWORD | ( | NAME, | |
FLAGS | |||
) | RemoveCppKeyword(idents, llvm::StringRef(#NAME)); |
|
static |
Definition at line 150 of file ClangExpressionParser.cpp.
References lldb_private::ClangDiagnostic::AddFixitHint().
Referenced by ClangDiagnosticManagerAdapter::HandleDiagnostic().
|
static |
Applies the given Fix-It hint to the given commit.
Definition at line 1202 of file ClangExpressionParser.cpp.
Referenced by lldb_private::ClangExpressionParser::RewriteExpression().
|
static |
Definition at line 1283 of file ClangExpressionParser.cpp.
References lldb_private::ConstString::SetString().
Referenced by lldb_private::ClangExpressionParser::PrepareForExecution().
|
static |
Remove all C++ keywords from the given identifier table.
Definition at line 335 of file ClangExpressionParser.cpp.
Referenced by lldb_private::ClangExpressionParser::ClangExpressionParser().
|
static |
Iff the given identifier is a C++ keyword, remove it from the identifier table (i.e., make the token a normal identifier).
Definition at line 307 of file ClangExpressionParser.cpp.
|
static |
Configures Clang diagnostics for the expression parser.
Definition at line 341 of file ClangExpressionParser.cpp.
Referenced by lldb_private::ClangExpressionParser::ClangExpressionParser().
|
static |
Definition at line 282 of file ClangExpressionParser.cpp.
References lldb_private::GetClangResourceDir(), lldb_private::ModuleList::GetGlobalModuleListProperties(), lldb_private::GetLog(), lldb_private::FileSpec::GetPath(), and LLDB_LOG.
Referenced by lldb_private::ClangExpressionParser::ClangExpressionParser().