summaryrefslogtreecommitdiffstats
path: root/lldb/source/Expression/ClangUserExpression.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Expression/ClangUserExpression.cpp')
-rw-r--r--lldb/source/Expression/ClangUserExpression.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/lldb/source/Expression/ClangUserExpression.cpp b/lldb/source/Expression/ClangUserExpression.cpp
index 25eb8c4bc13..4ae34a38d58 100644
--- a/lldb/source/Expression/ClangUserExpression.cpp
+++ b/lldb/source/Expression/ClangUserExpression.cpp
@@ -56,6 +56,7 @@ ClangUserExpression::ClangUserExpression (const char *expr,
m_objectivec (false),
m_needs_object_ptr (false),
m_const_object (false),
+ m_static_method(false),
m_target (NULL),
m_evaluated_statically (false),
m_const_result ()
@@ -167,7 +168,7 @@ ClangUserExpression::ScanContext(ExecutionContext &exe_ctx, Error &err)
}
else if (clang::ObjCMethodDecl *method_decl = llvm::dyn_cast<clang::ObjCMethodDecl>(decl_context))
{
- if (m_allow_objc && method_decl->isInstanceMethod())
+ if (m_allow_objc)
{
VariableList *vars = frame->GetVariableList(false);
@@ -193,6 +194,9 @@ ClangUserExpression::ScanContext(ExecutionContext &exe_ctx, Error &err)
m_objectivec = true;
m_needs_object_ptr = true;
+
+ if (!method_decl->isInstanceMethod())
+ m_static_method = true;
}
}
}
@@ -274,7 +278,7 @@ ClangUserExpression::Parse (Stream &error_stream,
else
lang_type = lldb::eLanguageTypeC;
- if (!source_code->GetText(m_transformed_text, lang_type, m_const_object))
+ if (!source_code->GetText(m_transformed_text, lang_type, m_const_object, m_static_method))
{
error_stream.PutCString ("error: couldn't construct expression body");
return false;
OpenPOWER on IntegriCloud