dbf2fb0d760631d86ab93cc70c3bb05a4c514263 |
|
01-Feb-2013 |
Sean Callanan <scallanan@apple.com> |
Modified the expression parser's class wrapper to support reporting "this" as a templated class. The expression parser wraps expressions in C++ methods as methods with the signature $__lldb_class::$__lldb_expr(...) and previously responded to clang's queries about $__lldb_class with the type of *this. This didn't work if *this was a ClassTemplateSpecializationDecl because ClassTemplateSpecializationDecls can't be the result of simple name queries. Instead what we do now is respond that $__lldb_class is a typedef and that the target of the typedef is the (potentially templated) type of *this. That is much more robust. Thanks to John McCall for key insights. <rdar://problem/10987183> git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@174153 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lang/cpp/this/main.cpp
|
319df48a0962c8cd4ae9fe784e54a29bc169256c |
|
25-Aug-2011 |
Johnny Chen <johnny.chen@apple.com> |
Remove skip decorator now that crash has been fixed. Fix a compie warning for main.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138503 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lang/cpp/this/main.cpp
|
c617a4cb4a451be9d7e97d7af6e165d282b5390f |
|
06-Aug-2011 |
Sean Callanan <scallanan@apple.com> |
This is an overhaul of the expression parser code that detects what context the current expression is meant to execute in. LLDB now properly consults the method declaration in the debug information rather than trying to hunt down the "this" or "self" pointer by name, which can be misleading. Other fixes include: - LLDB now properly detects that it is inside an inlined C++ member function. - LLDB now allows access to non-const members when in const code. - The functions in SymbolFile that locate the DeclContext containing a DIE have been renamed to reflect what they actually do. I have added new functions that find the DeclContext for the DIE itself. I have also introduced testcases for C++ and Objective-C. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136999 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/test/lang/cpp/this/main.cpp
|