summaryrefslogtreecommitdiffstats
path: root/lldb/source/Interpreter
diff options
context:
space:
mode:
authorEnrico Granata <egranata@apple.com>2012-02-23 23:10:03 +0000
committerEnrico Granata <egranata@apple.com>2012-02-23 23:10:03 +0000
commitd3d444f81144d95501b2db82cf7f5f69385a8ab2 (patch)
tree1782091ecbc6673e640525248d8123ba376cb816 /lldb/source/Interpreter
parent8195ad7b87aac00125490c1968d8054dac83a599 (diff)
downloadbcm5719-llvm-d3d444f81144d95501b2db82cf7f5f69385a8ab2.tar.gz
bcm5719-llvm-d3d444f81144d95501b2db82cf7f5f69385a8ab2.zip
This patch provides a set of formatters for most of the commonly used Cocoa classes.
The formatter for NSString is an improved version of the one previously shipped as an example, the others are new in design and implementation. A more robust and OO-compliant Objective-C runtime wrapper is provided for runtime versions 1 and 2 on 32 and 64 bit. The formatters are contained in a category named "AppKit", which is not enabled at startup. llvm-svn: 151299
Diffstat (limited to 'lldb/source/Interpreter')
-rw-r--r--lldb/source/Interpreter/ScriptInterpreterPython.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/lldb/source/Interpreter/ScriptInterpreterPython.cpp b/lldb/source/Interpreter/ScriptInterpreterPython.cpp
index 1d64e87755f..c584a819aa7 100644
--- a/lldb/source/Interpreter/ScriptInterpreterPython.cpp
+++ b/lldb/source/Interpreter/ScriptInterpreterPython.cpp
@@ -223,6 +223,11 @@ ScriptInterpreterPython::ScriptInterpreterPython (CommandInterpreter &interprete
run_string.Printf ("run_one_line (%s, 'import copy, os, re, sys, uuid, lldb, gnu_libstdcpp, objc')", m_dictionary_name.c_str());
PyRun_SimpleString (run_string.GetData());
+ // WARNING: temporary code that loads Cocoa formatters - this should be done on a per-platform basis rather than loading the whole set
+ // and letting the individual formatter classes exploit APIs to check whether they can/cannot do their task
+ run_string.Clear();
+ run_string.Printf ("run_one_line (%s, 'import CFString, CFArray, CFDictionary, NSData, NSMachPort, NSSet, NSNotification, NSException, CFBag, CFBinaryHeap, NSURL, NSBundle, NSNumber')", m_dictionary_name.c_str());
+ PyRun_SimpleString (run_string.GetData());
int new_count = Debugger::TestDebuggerRefCount();
OpenPOWER on IntegriCloud