xref: /llvm-project/lldb/test/API/lang/cpp/accelerator-table/main.cpp (revision 99451b4453688a94c6014cac233d371ab4cc342d)
1*99451b44SJordan Rupprecht #define CLASS(NAME)                             \
2*99451b44SJordan Rupprecht   class NAME {                                  \
3*99451b44SJordan Rupprecht   public:                                       \
4*99451b44SJordan Rupprecht     struct Inner;                               \
5*99451b44SJordan Rupprecht     Inner *i = nullptr;                         \
6*99451b44SJordan Rupprecht   };                                            \
7*99451b44SJordan Rupprecht NAME::Inner &getInner##NAME();
8*99451b44SJordan Rupprecht 
9*99451b44SJordan Rupprecht CLASS(A)
CLASS(B)10*99451b44SJordan Rupprecht CLASS(B)
11*99451b44SJordan Rupprecht CLASS(C)
12*99451b44SJordan Rupprecht CLASS(D)
13*99451b44SJordan Rupprecht CLASS(E)
14*99451b44SJordan Rupprecht CLASS(F)
15*99451b44SJordan Rupprecht CLASS(G)
16*99451b44SJordan Rupprecht 
17*99451b44SJordan Rupprecht int main()
18*99451b44SJordan Rupprecht {
19*99451b44SJordan Rupprecht   A::Inner &inner_a = getInnerA();
20*99451b44SJordan Rupprecht   B::Inner &inner_b = getInnerB();
21*99451b44SJordan Rupprecht   C::Inner &inner_c = getInnerC();
22*99451b44SJordan Rupprecht   D::Inner &inner_d = getInnerD();
23*99451b44SJordan Rupprecht   E::Inner &inner_e = getInnerE();
24*99451b44SJordan Rupprecht   F::Inner &inner_f = getInnerF();
25*99451b44SJordan Rupprecht   G::Inner &inner_g = getInnerG();
26*99451b44SJordan Rupprecht 
27*99451b44SJordan Rupprecht   return 0; // break here
28*99451b44SJordan Rupprecht }
29