xref: /llvm-project/lldb/test/API/functionalities/data-formatter/dump_dynamic/main.cpp (revision fdea9a4ec9b0d9585b8fe8a612686d9f44f40ddc)
1*99451b44SJordan Rupprecht class Base {
2*99451b44SJordan Rupprecht public:
3*99451b44SJordan Rupprecht   Base () = default;
func()4*99451b44SJordan Rupprecht   virtual int func() { return 1; }
5*99451b44SJordan Rupprecht   virtual ~Base() = default;
6*99451b44SJordan Rupprecht };
7*99451b44SJordan Rupprecht 
8*99451b44SJordan Rupprecht class Derived : public Base {
9*99451b44SJordan Rupprecht private:
10*99451b44SJordan Rupprecht   int m_derived_data;
11*99451b44SJordan Rupprecht public:
Derived()12*99451b44SJordan Rupprecht   Derived () : Base(), m_derived_data(0x0fedbeef) {}
13*99451b44SJordan Rupprecht   virtual ~Derived() = default;
func()14*99451b44SJordan Rupprecht   virtual int func() { return m_derived_data; }
15*99451b44SJordan Rupprecht };
16*99451b44SJordan Rupprecht 
main(int argc,char const * argv[])17*99451b44SJordan Rupprecht int main (int argc, char const *argv[])
18*99451b44SJordan Rupprecht {
19*99451b44SJordan Rupprecht   Base *base = new Derived();
20*99451b44SJordan Rupprecht     return 0; //% stream = lldb.SBStream()
21*99451b44SJordan Rupprecht     //% base = self.frame().FindVariable("base")
22*99451b44SJordan Rupprecht     //% base.SetPreferDynamicValue(lldb.eDynamicDontRunTarget)
23*99451b44SJordan Rupprecht     //% base.GetDescription(stream)
24*99451b44SJordan Rupprecht     //% if self.TraceOn(): print(stream.GetData())
25*99451b44SJordan Rupprecht     //% self.assertTrue(stream.GetData().startswith("(Derived *"))
26*99451b44SJordan Rupprecht }
27