about summary refs log tree commit diff
path: root/src/test/debuginfo/embedded-visualizer.py
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2022-05-29 00:40:45 +0000
committerbors <bors@rust-lang.org>2022-05-29 00:40:45 +0000
commit84288ed6d5307ed44a0f78e2f1ee55fbadf4e978 (patch)
tree5e504b24b4dab730b988db1166990259ba328c1e /src/test/debuginfo/embedded-visualizer.py
parent14f477e78adb9960f760e9bac812673f993d8dc2 (diff)
parent774d7ced10b30c480c63a8124f38bcf2f3d66464 (diff)
downloadrust-84288ed6d5307ed44a0f78e2f1ee55fbadf4e978.tar.gz
rust-84288ed6d5307ed44a0f78e2f1ee55fbadf4e978.zip
Auto merge of #97500 - GuillaumeGomez:rollup-ms1bvps, r=GuillaumeGomez
Rollup of 5 pull requests

Successful merges:

 - #96950 (Add regression test for #96395)
 - #97028 (Add support for embedding pretty printers via `#[debugger_visualizer]` attribute)
 - #97478 (Remove FIXME on `ExtCtxt::fn_decl()`)
 - #97479 (Make some tests check-pass)
 - #97482 (ptr::invalid is not equivalent to a int2ptr cast)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
Diffstat (limited to 'src/test/debuginfo/embedded-visualizer.py')
-rw-r--r--src/test/debuginfo/embedded-visualizer.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/test/debuginfo/embedded-visualizer.py b/src/test/debuginfo/embedded-visualizer.py
new file mode 100644
index 00000000000..8e4fab61614
--- /dev/null
+++ b/src/test/debuginfo/embedded-visualizer.py
@@ -0,0 +1,23 @@
+import gdb
+
+class LinePrinter:
+    "Print a Line"
+
+    def __init__(self, val):
+        self.val = val
+        self.a = val["a"]
+        self.b = val["b"]
+
+    def to_string(self):
+        return "({}, {})".format(self.a, self.b)
+
+def lookup(val):
+    lookup_tag = val.type.tag
+    if lookup_tag is None:
+        return None
+    if "embedded_visualizer::Line" == lookup_tag:
+        return LinePrinter(val)
+
+    return None
+
+gdb.current_objfile().pretty_printers.append(lookup)