llvm-project/lldb
Enrico Granata 2543d29048 The data formatters for NSArray, NSDictionary and (only partially) NSSet contain logic to inspect the objects without running code.
However, they also contain fallback logic that - in cases where LLDB can't recognize the specific subclass - actually does run code in order to inspect those objects.

The argument for this logic was that these data types are critical enough that the risk of getting it wrong is outweighed by the advantage of always providing accurate child information.

Practical experience however shows that "po" - a code running data-inspection command - is quite frequently used, and not considered burdensome by users.
As such, this makes the code-running fallback in the data formatters a risk that carries very little actual reward. Also, unlike the time this code was originally written, we now have accurate class information for Objective-C, and thus we are less likely to improperly identify classes.

This commit removes support for the code-running fallback, and aligns the data formatters for NSArray, NSDictionary and NSSet to the general no-code-running behavior of other data formatters.

While it is possible for us to add support for some subclasses that are now no longer covered by static inspection alone, this is beyond the scope of this commit.

llvm-svn: 260664
2016-02-12 07:50:15 +00:00
..
cmake Fix the search path for CMake files 2016-02-04 23:28:57 +00:00
docs Include -c, -core in the lldb(1) man page 2015-12-16 15:37:21 +00:00
examples Python 3 - modernize exception catching syntax. 2015-11-03 19:49:05 +00:00
include/lldb When calling TypeSystemMap::Clear, objects being destroyed in the process of 2016-02-12 00:03:19 +00:00
lit Rename MSVC top-level folder to avoid name collision. 2016-01-13 22:00:44 +00:00
lldb.xcodeproj Don't enable -flimit-debug-info by default for the LLDB Xcode builds. This was put in back in 2011 when -flimit-debug-info did a lot less than it does now. With llvm-dsymutil doing ODR type unique stuff we still have reasonably sized dSYM files. 2016-02-09 21:18:44 +00:00
lldb.xcworkspace Working on getting the OSX build green 2015-05-12 02:20:27 +00:00
packages/Python/lldbsuite The data formatters for NSArray, NSDictionary and (only partially) NSSet contain logic to inspect the objects without running code. 2016-02-12 07:50:15 +00:00
resources Only export public symbols with the cmake build. 2015-09-04 00:00:41 +00:00
scripts Change lldb.value.__int__() so that it takes into account the signedness of the value being cast to return a Python number with the proper value 2016-02-10 02:12:42 +00:00
source The data formatters for NSArray, NSDictionary and (only partially) NSSet contain logic to inspect the objects without running code. 2016-02-12 07:50:15 +00:00
test Fix ResourceWarning about unclosed file in use_lldb_suite_root.py. 2016-01-15 22:22:35 +00:00
third_party/Python/module Put progress.py back, apparently this can't be deleted. 2015-12-09 21:32:28 +00:00
tools Add new option to lldb-server to display its version 2016-02-10 10:35:48 +00:00
unittests Change `CoreTests` to LLDBCoreTests to avoid name clash. 2016-02-09 23:45:21 +00:00
utils Python 3: Modernize exception raising syntax. 2015-11-03 21:01:45 +00:00
www Add status for LLDB on Windows to status.html. 2016-02-09 23:52:57 +00:00
.arcconfig
.clang-format Update .clang-format file to support break after return type. 2015-12-28 22:09:29 +00:00
.gitignore modify Xcode build to use cmake/ninja for internal llvm/clang 2016-01-28 07:36:44 +00:00
CMakeLists.txt Fix CMake dependency on lldb.py 2015-11-18 21:09:55 +00:00
CODE_OWNERS.txt Added myself to the CODE_OWNERS.txt list for a few subsystems. 2015-11-09 01:24:36 +00:00
INSTALL.txt Revert the patch to Test Commit Access 2015-07-06 11:26:51 +00:00
LICENSE.TXT
use_lldb_suite_root.py Preparation for turning lldbsuite into a Python package. 2015-10-27 22:33:47 +00:00