LLDB mainline
Public Member Functions | Private Attributes | List of all members
lldb_private::ClangUserExpression::ClangUserExpressionHelper Class Reference

#include <ClangUserExpression.h>

Inheritance diagram for lldb_private::ClangUserExpression::ClangUserExpressionHelper:
Inheritance graph
[legend]
Collaboration diagram for lldb_private::ClangUserExpression::ClangUserExpressionHelper:
Collaboration graph
[legend]

Public Member Functions

 ClangUserExpressionHelper (Target &target, bool top_level)
 
 ~ClangUserExpressionHelper () override=default
 
ClangExpressionDeclMapDeclMap () override
 Return the object that the parser should use when resolving external values.
 
void ResetDeclMap ()
 
void ResetDeclMap (ExecutionContext &exe_ctx, Materializer::PersistentVariableDelegate &result_delegate, bool keep_result_in_memory, ValueObject *ctx_obj)
 
clang::ASTConsumer * ASTTransformer (clang::ASTConsumer *passthrough) override
 Return the object that the parser should allow to access ASTs.
 
void CommitPersistentDecls () override
 
- Public Member Functions inherited from lldb_private::ClangExpressionHelper
 ClangExpressionHelper ()
 
virtual ~ClangExpressionHelper ()=default
 Destructor.
 
virtual ClangExpressionDeclMapDeclMap ()=0
 Return the object that the parser should use when resolving external values.
 
virtual clang::ASTConsumer * ASTTransformer (clang::ASTConsumer *passthrough)=0
 Return the object that the parser should allow to access ASTs.
 
virtual void CommitPersistentDecls ()
 
- Public Member Functions inherited from lldb_private::ExpressionTypeSystemHelper
LLVMCastKind getKind () const
 
 ExpressionTypeSystemHelper (LLVMCastKind kind)
 
 ~ExpressionTypeSystemHelper ()=default
 

Private Attributes

Targetm_target
 
std::unique_ptr< ClangExpressionDeclMapm_expr_decl_map_up
 
std::unique_ptr< ASTStructExtractorm_struct_extractor_up
 The class that generates the argument struct layout.
 
std::unique_ptr< ASTResultSynthesizerm_result_synthesizer_up
 
bool m_top_level
 

Additional Inherited Members

- Public Types inherited from lldb_private::ExpressionTypeSystemHelper
enum  LLVMCastKind { eKindClangHelper , eKindSwiftHelper , eKindGoHelper , kNumKinds }
 
- Static Public Member Functions inherited from lldb_private::ClangExpressionHelper
static bool classof (const ExpressionTypeSystemHelper *ts)
 
- Protected Attributes inherited from lldb_private::ExpressionTypeSystemHelper
LLVMCastKind m_kind
 

Detailed Description

Definition at line 54 of file ClangUserExpression.h.

Constructor & Destructor Documentation

◆ ClangUserExpressionHelper()

lldb_private::ClangUserExpression::ClangUserExpressionHelper::ClangUserExpressionHelper ( Target target,
bool  top_level 
)
inline

Definition at line 56 of file ClangUserExpression.h.

◆ ~ClangUserExpressionHelper()

lldb_private::ClangUserExpression::ClangUserExpressionHelper::~ClangUserExpressionHelper ( )
overridedefault

Member Function Documentation

◆ ASTTransformer()

clang::ASTConsumer * ClangUserExpression::ClangUserExpressionHelper::ASTTransformer ( clang::ASTConsumer *  passthrough)
overridevirtual

Return the object that the parser should allow to access ASTs.

May be NULL if the ASTs do not need to be transformed.

Parameters
[in]passthroughThe ASTConsumer that the returned transformer should send the ASTs to after transformation.

Implements lldb_private::ClangExpressionHelper.

Definition at line 1002 of file ClangUserExpression.cpp.

References lldb_private::LLVMUserExpression::m_target.

◆ CommitPersistentDecls()

void ClangUserExpression::ClangUserExpressionHelper::CommitPersistentDecls ( )
overridevirtual

Reimplemented from lldb_private::ClangExpressionHelper.

Definition at line 1010 of file ClangUserExpression.cpp.

◆ DeclMap()

ClangExpressionDeclMap * lldb_private::ClangUserExpression::ClangUserExpressionHelper::DeclMap ( )
inlineoverridevirtual

Return the object that the parser should use when resolving external values.

May be NULL if everything should be self-contained.

Implements lldb_private::ClangExpressionHelper.

Definition at line 63 of file ClangUserExpression.h.

References m_expr_decl_map_up.

Referenced by lldb_private::ClangUserExpression::DeclMap().

◆ ResetDeclMap() [1/2]

void lldb_private::ClangUserExpression::ClangUserExpressionHelper::ResetDeclMap ( )
inline

Definition at line 67 of file ClangUserExpression.h.

References m_expr_decl_map_up.

Referenced by lldb_private::ClangUserExpression::ResetDeclMap().

◆ ResetDeclMap() [2/2]

void ClangUserExpression::ClangUserExpressionHelper::ResetDeclMap ( ExecutionContext exe_ctx,
Materializer::PersistentVariableDelegate result_delegate,
bool  keep_result_in_memory,
ValueObject ctx_obj 
)

Member Data Documentation

◆ m_expr_decl_map_up

std::unique_ptr<ClangExpressionDeclMap> lldb_private::ClangUserExpression::ClangUserExpressionHelper::m_expr_decl_map_up
private

Definition at line 87 of file ClangUserExpression.h.

Referenced by DeclMap(), and ResetDeclMap().

◆ m_result_synthesizer_up

std::unique_ptr<ASTResultSynthesizer> lldb_private::ClangUserExpression::ClangUserExpressionHelper::m_result_synthesizer_up
private

Definition at line 92 of file ClangUserExpression.h.

◆ m_struct_extractor_up

std::unique_ptr<ASTStructExtractor> lldb_private::ClangUserExpression::ClangUserExpressionHelper::m_struct_extractor_up
private

The class that generates the argument struct layout.

Definition at line 88 of file ClangUserExpression.h.

◆ m_target

Target& lldb_private::ClangUserExpression::ClangUserExpressionHelper::m_target
private

Definition at line 86 of file ClangUserExpression.h.

◆ m_top_level

bool lldb_private::ClangUserExpression::ClangUserExpressionHelper::m_top_level
private

Definition at line 93 of file ClangUserExpression.h.


The documentation for this class was generated from the following files: