summaryrefslogtreecommitdiffstats
path: root/lldb/test/functionalities/data-formatter/data-formatter-objc
Commit message (Collapse)AuthorAgeFilesLines
...
* added a new formatter for CF(Mutable)BitVectorEnrico Granata2012-03-032-0/+32
| | | | | | | | fixed a few potential NULL-pointer derefs in ValueObject we have a way to provide docstrings for properties we add to the SWIG layer - a few of these properties have a docstring already, more will come in future commits added a new bunch of properties to SBData to make it more natural and Python-like to access the data they contain llvm-svn: 151962
* (a) adding formatters for:Enrico Granata2012-03-022-1/+40
| | | | | | | | NSTimeZone and CFTimeZonRef SEL and related types CFGregorianDate llvm-svn: 151866
* (a) adding an introspection formatter for NS(Mutable)IndexSetEnrico Granata2012-03-012-4/+117
| | | | | | | | | (b) fixes and improvements to the formatters for NSDate and NSString (c) adding an introspection formatter for NSCountedSet (d) making the Objective-C formatters test cases pass on both 64 and 32 bit one of the test cases is marked as expected failure on i386 - support needs to be added to the LLDB core for it to pass llvm-svn: 151826
* This commit:Enrico Granata2012-02-292-5/+146
| | | | | | | | | | | | | a) adds a Python summary provider for NSDate b) changes the initialization for ScriptInterpreter so that we are not passing a bulk of Python-specific function pointers around c) provides a new ScriptInterpreterObject class that allows for ref-count safe wrapping of scripting objects on the C++ side d) contains much needed performance improvements: 1) the pointer to the Python function generating a scripted summary is now cached instead of looked up every time 2) redundant memory reads in the Python ObjC runtime wrapper are eliminated 3) summaries now use the m_summary_str in ValueObject to store their data instead of passing around ( == copying) an std::string object e) contains other minor fixes, such as adding descriptive error messages for some cases of summary generation failure llvm-svn: 151703
* Reworking the ObjC formatters test case not to test everything in one huge ↵Enrico Granata2012-02-241-13/+97
| | | | | | code block - better for maintenance and debugging llvm-svn: 151390
* This patch provides a set of formatters for most of the commonly used Cocoa ↵Enrico Granata2012-02-231-0/+0
| | | | | | | | | | 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: 151301
* This patch provides a set of formatters for most of the commonly used Cocoa ↵Enrico Granata2012-02-234-415/+457
| | | | | | | | | | 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
* Adding formatters for several useful Objective-C/Cocoa data types. The new ↵Enrico Granata2012-02-172-2/+58
| | | | | | | | | | categories are not enabled at startup, but can be manually activated if desired. Adding new API calls to SBValue to be able to retrieve the associated formatters Some refactoring to FormatNavigator::Get() in order to shrink its size down to more manageable terms (a future, massive, refactoring effort will still be needed) Test cases added for the above llvm-svn: 150784
* Added support to the Objective-C language runtimeSean Callanan2011-11-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | to find Objective-C class types by looking in the symbol tables for the individual object files. I did this as follows: - I added code to SymbolFileSymtab that vends Clang types for symbols matching the pattern "_OBJC_CLASS_$_NSMyClassName," making them appear as Objective-C classes. This only occurs in modules that do not have debug information, since otherwise SymbolFileDWARF would be in charge of looking up types. - I made a new SymbolVendor subclass for the Apple Objective-C runtime that is in charge of making global lookups of Objective-C types. It currently just sends out type lookup requests to the appropriate SymbolFiles, but in the future we will probably extend it to query the runtime more completely. I also modified a testcase whose behavior is changed by the fact that we now actually return an Objective-C type for __NSCFString. llvm-svn: 145526
* Fixed a problem with the IR interpreter that causedSean Callanan2011-09-221-2/+0
| | | | | | | | | | | | it to generate result variables that were not bound to their underlying data. This allowed the SBValue class to use the interpreter (if possible). Also made sure that any result variables that point to stack allocations in the stack frame of the interpreted expressions do not get live data. llvm-svn: 140285
* Add four new expectedFailre decorators to new failures most likely due to ↵Johnny Chen2011-09-201-0/+4
| | | | | | r139772 check-in. llvm-svn: 140150
* Uniquefy the various data-formatter test class names so that:Johnny Chen2011-08-231-1/+1
| | | | | | | | ./dotest.py -v -f DataFormatterTestCase.test_with_dsym_and_run_command will not end up running 14 tests. llvm-svn: 138399
* Short option for --summary-string in 'type summary add' is now -s. This ↵Enrico Granata2011-08-231-3/+3
| | | | | | might be a breaking change for those who have summaries defined. llvm-svn: 138331
* Taking care of an issue with using lldb_private types in ↵Enrico Granata2011-08-191-2/+2
| | | | | | SBCommandInterpreter.cpp ; Making NSString test case work on Snow Leopard ; Removing an unused variable warning llvm-svn: 138105
* Fixed an issue where a pointer's address was being logged instead of its valueEnrico Granata2011-08-111-0/+4
| | | | | | | | | | | | | Access to synthetic children by name: if your object has a synthetic child named foo you can now type frame variable object.foo (or ->foo if you have a pointer) and that will print the value of the synthetic child (if your object has an actual child named foo, the actual child prevails!) this behavior should also work in summaries, and you should be able to use ${var.foo} and ${svar.foo} interchangeably (but using svar.foo will mask an actual child named foo) llvm-svn: 137314
* CFString.py now shows contents in a more NSString-like way (e.g. you get ↵Enrico Granata2011-08-091-9/+8
| | | | | | | | | | @"Hello" instead of "Hello") new --raw-output (-R) option to frame variable prevents using summaries and synthetic children other future formatting enhancements will be excluded by using the -R option test case enhanced to check that -R works correctly llvm-svn: 137185
* changing CFString.py to reflect the new behavior of CreateValueFromAddressEnrico Granata2011-08-041-1/+1
| | | | llvm-svn: 136887
* APIs to GetValueAsSigned/Unsigned() in SBValue now also accept an SBError ↵Enrico Granata2011-08-041-4/+4
| | | | | | | | | parameter to give more info about any problem The synthetic children providers now use the new (safer) APIs to get the values of objects As a side effect, fixed an issue in ValueObject where ResolveValue() was not always updating the value before reading it llvm-svn: 136861
* Fixed an issue where the KVO swizzled type would be returned as the dynamic ↵Enrico Granata2011-08-031-1/+4
| | | | | | | | | | type instead of the actual user-level type - see the test case in lang/objc/objc-dynamic-value for an example Objective-C dynamic type lookup now works for every Objective-C type - previously, true dynamic lookup was only performed for type id llvm-svn: 136763
* Fixed a bug where a variable could not be formatted in a summary if its ↵Enrico Granata2011-08-022-2/+23
| | | | | | | | | | | | | datatype already had a custom format Fixed a bug where Objective-C variables coming out of the expression parser could crash the Python synthetic providers: - expression parser output has a "frozen data" component, which is a byte-exact copy of the value (in host memory), if trying to read into memory based on the host address, LLDB would crash. we are now passing the correct (target) pointer to the Python code Objective-C "id" variables are now formatted according to their dynamic type, if the -d option to frame variable is used: - Code based on the Objective-C 2.0 runtime is used to obtain this information without running code on the target llvm-svn: 136695
* Cleaned up the NSString summary formatter to not print "<invalid object>" whenGreg Clayton2011-07-302-13/+30
| | | | | | | we have a nil NSString *. Also added blank lines between functions in the CFString.py files. llvm-svn: 136554
* changes in the new GetMinimumLanguages() ; robustness improvements in the ↵Enrico Granata2011-07-293-17/+33
| | | | | | CFStringSynthProvider object ; made a CFString_SummaryProvider function you can use if all you care about is the summary string for your NSString objects llvm-svn: 136544
* new synthetic children provider for CFString and related classes ; test case ↵Enrico Granata2011-07-293-3/+371
| | | | | | for it llvm-svn: 136525
* test cases for the new features just committedEnrico Granata2011-07-023-0/+200
llvm-svn: 134294
OpenPOWER on IntegriCloud