xref: /llvm-project/lldb/test/API/commands/expression/context-object/main.cpp (revision 6a85b9d16387ddd7c356336c8a77ba6b88f9a610)
199451b44SJordan Rupprecht namespace cpp_namespace {
299451b44SJordan Rupprecht   struct CppStruct {
399451b44SJordan Rupprecht     int field = 1111;
499451b44SJordan Rupprecht 
functioncpp_namespace::CppStruct599451b44SJordan Rupprecht     int function() {
699451b44SJordan Rupprecht       return 2222;
799451b44SJordan Rupprecht     }
899451b44SJordan Rupprecht   };
999451b44SJordan Rupprecht 
1099451b44SJordan Rupprecht   union CppUnion {
1199451b44SJordan Rupprecht     char field_char;
1299451b44SJordan Rupprecht     short field_short;
1399451b44SJordan Rupprecht     int field_int;
1499451b44SJordan Rupprecht   };
1599451b44SJordan Rupprecht 
GetCppStruct()1699451b44SJordan Rupprecht   CppStruct GetCppStruct() {
1799451b44SJordan Rupprecht     return CppStruct();
1899451b44SJordan Rupprecht   }
1999451b44SJordan Rupprecht 
2099451b44SJordan Rupprecht   CppStruct global;
2199451b44SJordan Rupprecht 
GetCppStructPtr()2299451b44SJordan Rupprecht   CppStruct *GetCppStructPtr() {
2399451b44SJordan Rupprecht     return &global;
2499451b44SJordan Rupprecht   }
2599451b44SJordan Rupprecht }
2699451b44SJordan Rupprecht 
2799451b44SJordan Rupprecht int global = 3333;
2899451b44SJordan Rupprecht 
main()2999451b44SJordan Rupprecht int main()
3099451b44SJordan Rupprecht {
3199451b44SJordan Rupprecht   cpp_namespace::CppStruct cpp_struct = cpp_namespace::GetCppStruct();
3299451b44SJordan Rupprecht   cpp_struct.function();
3399451b44SJordan Rupprecht 
34*6a85b9d1SEmre Kultursay   cpp_namespace::CppStruct &cpp_struct_ref = cpp_struct;
35*6a85b9d1SEmre Kultursay   cpp_struct_ref.function();
36*6a85b9d1SEmre Kultursay 
3799451b44SJordan Rupprecht   int field = 4444;
3899451b44SJordan Rupprecht 
3999451b44SJordan Rupprecht   cpp_namespace::CppUnion cpp_union;
4099451b44SJordan Rupprecht   cpp_union.field_int = 5555;
4199451b44SJordan Rupprecht 
4299451b44SJordan Rupprecht   int cpp_scalar = 6666;
4399451b44SJordan Rupprecht 
4499451b44SJordan Rupprecht   cpp_namespace::CppStruct cpp_array[16];
4599451b44SJordan Rupprecht 
4699451b44SJordan Rupprecht   cpp_namespace::CppStruct *cpp_pointer = cpp_namespace::GetCppStructPtr();
4799451b44SJordan Rupprecht 
4899451b44SJordan Rupprecht   return 0; // Break here
4999451b44SJordan Rupprecht }
50