Implement new gdb/lldb pretty-printers

Replace old GDB and LLDB pretty-printers with new ones
which were originally written for IntelliJ Rust.
New LLDB pretty-printers support synthetic children.
New GDB/LLDB pretty-printers support all Rust types
supported by old pretty-printers, and also support:
Rc, Arc, Cell, Ref, RefCell, RefMut, HashMap, HashSet.
This commit is contained in:
ortem 2019-05-14 15:50:58 +03:00
parent a9ca1ec928
commit 47c26e69a9
59 changed files with 1871 additions and 1495 deletions

View file

@ -63,7 +63,7 @@
// STACK BY REF
// lldb-command:print *self
// lldbg-check:[...]$0 = Struct { x: 100 }
// lldbg-check:[...]$0 = { x = 100 }
// lldbr-check:(method_on_struct::Struct) *self = Struct { x: 100 }
// lldb-command:print arg1
// lldbg-check:[...]$1 = -1
@ -75,7 +75,7 @@
// STACK BY VAL
// lldb-command:print self
// lldbg-check:[...]$3 = Struct { x: 100 }
// lldbg-check:[...]$3 = { x = 100 }
// lldbr-check:(method_on_struct::Struct) self = Struct { x: 100 }
// lldb-command:print arg1
// lldbg-check:[...]$4 = -3
@ -87,7 +87,7 @@
// OWNED BY REF
// lldb-command:print *self
// lldbg-check:[...]$6 = Struct { x: 200 }
// lldbg-check:[...]$6 = { x = 200 }
// lldbr-check:(method_on_struct::Struct) *self = Struct { x: 200 }
// lldb-command:print arg1
// lldbg-check:[...]$7 = -5
@ -99,7 +99,7 @@
// OWNED BY VAL
// lldb-command:print self
// lldbg-check:[...]$9 = Struct { x: 200 }
// lldbg-check:[...]$9 = { x = 200 }
// lldbr-check:(method_on_struct::Struct) self = Struct { x: 200 }
// lldb-command:print arg1
// lldbg-check:[...]$10 = -7
@ -111,7 +111,7 @@
// OWNED MOVED
// lldb-command:print *self
// lldbg-check:[...]$12 = Struct { x: 200 }
// lldbg-check:[...]$12 = { x = 200 }
// lldbr-check:(method_on_struct::Struct) *self = Struct { x: 200 }
// lldb-command:print arg1
// lldbg-check:[...]$13 = -9