[Lldb-commits] [lldb] r333465 - [ObjC] Fix the formatter for NSOrderedSet.

Davide Italiano via lldb-commits lldb-commits at lists.llvm.org
Tue May 29 15:57:05 PDT 2018


I would like to apologize, I forgot to `git add `the Makefile and this
broke the bots. It should be fixed now. I'll keep an eye to make sure
everything stays green.
Sorry for the disruption, folks!

--
Davide

On Tue, May 29, 2018 at 3:08 PM, Davide Italiano via lldb-commits
<lldb-commits at lists.llvm.org> wrote:
> Author: davide
> Date: Tue May 29 15:08:07 2018
> New Revision: 333465
>
> URL: http://llvm.org/viewvc/llvm-project?rev=333465&view=rev
> Log:
> [ObjC] Fix the formatter for NSOrderedSet.
>
> While I'm here, delete some dead code.
>
> <rdar://problem/40622096>
>
> Added:
>     lldb/trunk/packages/Python/lldbsuite/test/lang/objc/orderedset/
>     lldb/trunk/packages/Python/lldbsuite/test/lang/objc/orderedset/TestOrderedSet.py
>     lldb/trunk/packages/Python/lldbsuite/test/lang/objc/orderedset/main.m
> Modified:
>     lldb/trunk/source/Plugins/Language/ObjC/NSSet.cpp
>
> Added: lldb/trunk/packages/Python/lldbsuite/test/lang/objc/orderedset/TestOrderedSet.py
> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lang/objc/orderedset/TestOrderedSet.py?rev=333465&view=auto
> ==============================================================================
> --- lldb/trunk/packages/Python/lldbsuite/test/lang/objc/orderedset/TestOrderedSet.py (added)
> +++ lldb/trunk/packages/Python/lldbsuite/test/lang/objc/orderedset/TestOrderedSet.py Tue May 29 15:08:07 2018
> @@ -0,0 +1,17 @@
> +import lldb
> +from lldbsuite.test.decorators import *
> +from lldbsuite.test.lldbtest import *
> +from lldbsuite.test import lldbutil
> +
> +class TestOrderedSet(TestBase):
> +  mydir = TestBase.compute_mydir(__file__)
> +
> +  def test_ordered_set(self):
> +    self.build()
> +    src_file = "main.m"
> +    src_file_spec = lldb.SBFileSpec(src_file)
> +    (target, process, thread, main_breakpoint) = lldbutil.run_to_source_breakpoint(self,
> +          "break here", src_file_spec, exe_name = "a.out")
> +    frame = thread.GetSelectedFrame()
> +    self.expect("expr -d run -- orderedSet", substrs=["3 elements"])
> +    self.expect("expr -d run -- *orderedSet", substrs=["(int)1", "(int)2", "(int)3"])
>
> Added: lldb/trunk/packages/Python/lldbsuite/test/lang/objc/orderedset/main.m
> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lang/objc/orderedset/main.m?rev=333465&view=auto
> ==============================================================================
> --- lldb/trunk/packages/Python/lldbsuite/test/lang/objc/orderedset/main.m (added)
> +++ lldb/trunk/packages/Python/lldbsuite/test/lang/objc/orderedset/main.m Tue May 29 15:08:07 2018
> @@ -0,0 +1,8 @@
> +#import <Foundation/Foundation.h>
> +
> +int main() {
> +  NSOrderedSet *orderedSet =
> +      [NSOrderedSet orderedSetWithArray:@[@1, at 2, at 3, at 1]];
> +  NSLog(@"%@",orderedSet);
> +  return 0; // break here
> +}
>
> Modified: lldb/trunk/source/Plugins/Language/ObjC/NSSet.cpp
> URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Language/ObjC/NSSet.cpp?rev=333465&r1=333464&r2=333465&view=diff
> ==============================================================================
> --- lldb/trunk/source/Plugins/Language/ObjC/NSSet.cpp (original)
> +++ lldb/trunk/source/Plugins/Language/ObjC/NSSet.cpp Tue May 29 15:08:07 2018
> @@ -269,7 +269,8 @@ bool lldb_private::formatters::NSSetSumm
>    if (!class_name || !*class_name)
>      return false;
>
> -  if (!strcmp(class_name, "__NSSetI")) {
> +  if (!strcmp(class_name, "__NSSetI") ||
> +      !strcmp(class_name, "__NSOrderedSetI")) {
>      Status error;
>      value = process_sp->ReadUnsignedIntegerFromMemory(valobj_addr + ptr_size,
>                                                        ptr_size, 0, error);
> @@ -289,32 +290,7 @@ bool lldb_private::formatters::NSSetSumm
>      }
>      if (error.Fail())
>        return false;
> -  }
> -  /*else if (!strcmp(class_name,"__NSCFSet"))
> -   {
> -   Status error;
> -   value = process_sp->ReadUnsignedIntegerFromMemory(valobj_addr + (is_64bit ?
> -   20 : 12), 4, 0, error);
> -   if (error.Fail())
> -   return false;
> -   if (is_64bit)
> -   value &= ~0x1fff000000000000UL;
> -   }
> -   else if (!strcmp(class_name,"NSCountedSet"))
> -   {
> -   Status error;
> -   value = process_sp->ReadUnsignedIntegerFromMemory(valobj_addr + ptr_size,
> -   ptr_size, 0, error);
> -   if (error.Fail())
> -   return false;
> -   value = process_sp->ReadUnsignedIntegerFromMemory(value + (is_64bit ? 20 :
> -   12), 4, 0, error);
> -   if (error.Fail())
> -   return false;
> -   if (is_64bit)
> -   value &= ~0x1fff000000000000UL;
> -   }*/
> -  else {
> +  } else {
>      auto &map(NSSet_Additionals::GetAdditionalSummaries());
>      auto iter = map.find(class_name_cs), end = map.end();
>      if (iter != end)
> @@ -371,7 +347,8 @@ lldb_private::formatters::NSSetSynthetic
>    if (!class_name || !*class_name)
>      return nullptr;
>
> -  if (!strcmp(class_name, "__NSSetI")) {
> +  if (!strcmp(class_name, "__NSSetI") ||
> +      !strcmp(class_name, "__NSOrderedSetI")) {
>      return (new NSSetISyntheticFrontEnd(valobj_sp));
>    } else if (!strcmp(class_name, "__NSSetM")) {
>      AppleObjCRuntime *apple_runtime =
>
>
> _______________________________________________
> lldb-commits mailing list
> lldb-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


More information about the lldb-commits mailing list