[Lldb-commits] [PATCH] D145348: [lldb] Test 'v' support for direct ivar access (NFC)

Dave Lee via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Mon Mar 6 10:42:01 PST 2023


This revision was not accepted when it landed; it landed in state "Needs Review".
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG03e5c46e15b4: [lldb] Test 'v' support for direct ivar access (NFC) (authored by kastiglione).

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D145348/new/

https://reviews.llvm.org/D145348

Files:
  lldb/test/API/commands/frame/var/direct-ivar/Makefile
  lldb/test/API/commands/frame/var/direct-ivar/TestFrameVarDirectIvar.py
  lldb/test/API/commands/frame/var/direct-ivar/main.mm


Index: lldb/test/API/commands/frame/var/direct-ivar/main.mm
===================================================================
--- /dev/null
+++ lldb/test/API/commands/frame/var/direct-ivar/main.mm
@@ -0,0 +1,28 @@
+#include <objc/NSObject.h>
+
+struct Structure {
+  int m_field;
+  int fun() { return this->m_field; }
+};
+
+ at interface Classic : NSObject {
+ at public
+  int _ivar;
+}
+ at end
+
+ at implementation Classic
+- (int)fun {
+  return self->_ivar;
+}
+ at end
+
+int main() {
+  Structure s;
+  s.m_field = 30;
+  s.fun();
+
+  Classic *c = [Classic new];
+  c->_ivar = 41;
+  [c fun];
+}
Index: lldb/test/API/commands/frame/var/direct-ivar/TestFrameVarDirectIvar.py
===================================================================
--- /dev/null
+++ lldb/test/API/commands/frame/var/direct-ivar/TestFrameVarDirectIvar.py
@@ -0,0 +1,15 @@
+import lldb
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test import lldbutil
+
+
+class TestCase(TestBase):
+    def test_cpp_this(self):
+        self.build()
+        lldbutil.run_to_source_breakpoint(self, "this", lldb.SBFileSpec("main.mm"))
+        self.expect("frame variable m_field", startstr="(int) m_field = 30")
+
+    def test_objc_self(self):
+        self.build()
+        lldbutil.run_to_source_breakpoint(self, "self", lldb.SBFileSpec("main.mm"))
+        self.expect("frame variable _ivar", startstr="(int) _ivar = 41")
Index: lldb/test/API/commands/frame/var/direct-ivar/Makefile
===================================================================
--- /dev/null
+++ lldb/test/API/commands/frame/var/direct-ivar/Makefile
@@ -0,0 +1,2 @@
+OBJCXX_SOURCES := main.mm
+include Makefile.rules


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D145348.502717.patch
Type: text/x-patch
Size: 1663 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20230306/b1b5d0da/attachment.bin>


More information about the lldb-commits mailing list