Go to the documentation of this file.
9 #ifndef LLDB_SOURCE_PLUGINS_EXPRESSIONPARSER_CLANG_CLANGFUNCTIONCALLER_H
10 #define LLDB_SOURCE_PLUGINS_EXPRESSIONPARSER_CLANG_CLANGFUNCTIONCALLER_H
23 class ASTStructExtractor;
91 bool isA(
const void *ClassID)
const override {
114 const Address &function_address,
115 const ValueList &arg_value_list,
const char *name);
151 #endif // LLDB_SOURCE_PLUGINS_EXPRESSIONPARSER_CLANG_CLANGFUNCTIONCALLER_H
ExpressionTypeSystemHelper * GetTypeSystemHelper() override
clang::ASTConsumer * ASTTransformer(clang::ASTConsumer *passthrough) override
Return the object that the parser should allow to access ASTs.
~ClangFunctionCaller() override
virtual bool isA(const void *ClassID) const =0
static bool classof(const Expression *obj)
bool isA(const void *ClassID) const override
std::string m_wrapper_struct_name
The name of the struct that contains the target function address, arguments, and result.
~ClangFunctionCallerHelper() override=default
ClangExpressionDeclMap * DeclMap() override
Return the object that the parser should use when resolving external values.
unsigned CompileFunction(lldb::ThreadSP thread_to_use_sp, DiagnosticManager &diagnostic_manager) override
Compile the wrapper function.
const char * GetWrapperStructName()
ClangFunctionCaller & m_owner
ClangFunctionCallerHelper m_type_system_helper
ClangFunctionCallerHelper(ClangFunctionCaller &owner)
ClangFunctionCaller(ExecutionContextScope &exe_scope, const CompilerType &return_type, const Address &function_address, const ValueList &arg_value_list, const char *name)
Constructor.
Generic representation of a type in a programming language.
A class that represents a running process on the host machine.
std::unique_ptr< ASTStructExtractor > m_struct_extractor
The class that generates the argument struct layout.
bool isA(const void *ClassID) const override