Go to the documentation of this file.
9 #ifndef LLDB_SOURCE_PLUGINS_EXPRESSIONPARSER_CLANG_CXXMODULEHANDLER_H
10 #define LLDB_SOURCE_PLUGINS_EXPRESSIONPARSER_CLANG_CXXMODULEHANDLER_H
12 #include "clang/AST/ASTImporter.h"
13 #include "clang/Sema/Sema.h"
14 #include "llvm/ADT/StringSet.h"
56 llvm::Optional<clang::Decl *>
Import(clang::Decl *d);
65 #endif // LLDB_SOURCE_PLUGINS_EXPRESSIONPARSER_CLANG_CXXMODULEHANDLER_H
llvm::Optional< clang::Decl * > Import(clang::Decl *d)
Attempts to import the given decl into the target ASTContext by deserializing it from the 'std' modul...
clang::ASTImporter * m_importer
The ASTImporter that should be used to import any Decls which aren't directly handled by this class i...
llvm::Optional< clang::Decl * > tryInstantiateStdTemplate(clang::Decl *d)
Tries to manually instantiate the given foreign template in the target context (designated by m_sema)...
Handles importing decls into an ASTContext with an attached C++ module.
clang::Sema * m_sema
The Sema instance of the target ASTContext.
llvm::StringSet m_supported_templates
List of template names this class currently supports.
CxxModuleHandler()=default
bool isValid() const
Returns true iff this instance is capable of importing any declarations in the target ASTContext.
A class that represents a running process on the host machine.