diff options
author | Sean Callanan <scallanan@apple.com> | 2012-03-05 22:08:20 +0000 |
---|---|---|
committer | Sean Callanan <scallanan@apple.com> | 2012-03-05 22:08:20 +0000 |
commit | bb6e7edd32296962e1c1e2f73f10906a5952c4b5 (patch) | |
tree | bae462d335f80225f19ad157310089e3d65250cf | |
parent | e5307f9019e12c65b3e721d5c7f64a38dc1932fd (diff) | |
download | bcm5719-llvm-bb6e7edd32296962e1c1e2f73f10906a5952c4b5.tar.gz bcm5719-llvm-bb6e7edd32296962e1c1e2f73f10906a5952c4b5.zip |
Made sure to store the type for "this" when in a
C++ method.
llvm-svn: 152064
-rw-r--r-- | lldb/source/Expression/ClangExpressionDeclMap.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lldb/source/Expression/ClangExpressionDeclMap.cpp b/lldb/source/Expression/ClangExpressionDeclMap.cpp index 971a3f6416e..be783e5aa89 100644 --- a/lldb/source/Expression/ClangExpressionDeclMap.cpp +++ b/lldb/source/Expression/ClangExpressionDeclMap.cpp @@ -2433,6 +2433,18 @@ ClangExpressionDeclMap::FindExternalVisibleDecls (NameSearchContext &context, AddOneType(context, class_user_type, current_id, true); + if (method_decl->isInstance()) + { + // self is a pointer to the object + + QualType class_pointer_type = method_decl->getASTContext().getPointerType(class_qual_type); + + TypeFromUser self_user_type(class_pointer_type.getAsOpaquePtr(), + &method_decl->getASTContext()); + + m_struct_vars->m_object_pointer_type = self_user_type; + } + return; } |