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

@ -164,13 +164,13 @@
// lldb-command:continue
// lldb-command:print simple_struct_ident
// lldbg-check:[...]$22 = Struct { x: 3537, y: 35437.5, z: true }
// lldbr-check:(destructured_for_loop_variable::Struct) simple_struct_ident = Struct { x: 3537, y: 35437.5, z: true }
// lldbg-check:[...]$22 = { x = 3537 y = 35437.5 z = true }
// lldbr-check:(destructured_for_loop_variable::Struct) simple_struct_ident = { x = 3537 y = 35437.5 z = true }
// lldb-command:continue
// lldb-command:print simple_tuple_ident
// lldbg-check:[...]$23 = (34903493, 232323)
// lldbr-check:((u32, i64)) simple_tuple_ident = { = 34903493 = 232323 }
// lldbg-check:[...]$23 = { 0 = 34903493 1 = 232323 }
// lldbr-check:((u32, i64)) simple_tuple_ident = { 0 = 34903493 1 = 232323 }
// lldb-command:continue
#![allow(unused_variables)]