[lldb][NFC] Move Clang-specific flags to ClangUserExpression

LLVMUserExpression doesn't use these variables and they are all specific to Clang.

Also removes m_const_object as this was actually never used by anyone (and Clang
didn't report it as we assigned it in the constructor which seems to count as use).

llvm-svn: 370440
This commit is contained in:
Raphael Isemann
2019-08-30 07:44:29 +00:00
parent 688183ec54
commit b0ca908808
3 changed files with 18 additions and 19 deletions

View File

@@ -103,22 +103,6 @@ protected:
/// when running the
/// expression.
lldb::ModuleWP m_jit_module_wp;
bool m_enforce_valid_object; ///< True if the expression parser should enforce
///the presence of a valid class pointer
/// in order to generate the expression as a method.
bool m_in_cplusplus_method; ///< True if the expression is compiled as a C++
///member function (true if it was parsed
/// when exe_ctx was in a C++ method).
bool m_in_objectivec_method; ///< True if the expression is compiled as an
///Objective-C method (true if it was parsed
/// when exe_ctx was in an Objective-C method).
bool m_in_static_method; ///< True if the expression is compiled as a static
///(or class) method (currently true if it
/// was parsed when exe_ctx was in an Objective-C class method).
bool m_needs_object_ptr; ///< True if "this" or "self" must be looked up and
///passed in. False if the expression
/// doesn't really use them and they can be NULL.
bool m_const_object; ///< True if "this" is const.
Target *m_target; ///< The target for storing persistent data like types and
///variables.

View File

@@ -48,9 +48,7 @@ LLVMUserExpression::LLVMUserExpression(ExecutionContextScope &exe_scope,
m_stack_frame_bottom(LLDB_INVALID_ADDRESS),
m_stack_frame_top(LLDB_INVALID_ADDRESS), m_allow_cxx(false),
m_allow_objc(false), m_transformed_text(), m_execution_unit_sp(),
m_materializer_up(), m_jit_module_wp(), m_enforce_valid_object(true),
m_in_cplusplus_method(false), m_in_objectivec_method(false),
m_in_static_method(false), m_needs_object_ptr(false), m_target(nullptr),
m_materializer_up(), m_jit_module_wp(),
m_can_interpret(false), m_materialized_address(LLDB_INVALID_ADDRESS) {}
LLVMUserExpression::~LLVMUserExpression() {

View File

@@ -223,6 +223,23 @@ private:
/// True iff this expression explicitly imported C++ modules.
bool m_imported_cpp_modules = false;
/// True if the expression parser should enforce the presence of a valid class
/// pointer in order to generate the expression as a method.
bool m_enforce_valid_object = true;
/// True if the expression is compiled as a C++ member function (true if it
/// was parsed when exe_ctx was in a C++ method).
bool m_in_cplusplus_method = false;
/// True if the expression is compiled as an Objective-C method (true if it
/// was parsed when exe_ctx was in an Objective-C method).
bool m_in_objectivec_method = false;
/// True if the expression is compiled as a static (or class) method
/// (currently true if it was parsed when exe_ctx was in an Objective-C class
/// method).
bool m_in_static_method = false;
/// True if "this" or "self" must be looked up and passed in. False if the
/// expression doesn't really use them and they can be NULL.
bool m_needs_object_ptr = false;
};
} // namespace lldb_private