definitions = ''' struct Base_1 { int a; }; struct Base_2 { int b; }; struct Base_3 { int c; }; struct Derived_1: Base_2, Base_3 { int d; }; struct Base_4 { int e; }; struct Derived_2: Base_1, Derived_1, Base_4 { int f; }; ''' [cases] [cases.a] param_types = ["const Derived_2&"] setup = 'return {};' expect_json = '''[{ "staticSize":24, "dynamicSize":0, "members":[ {"name":"a", "staticSize":4, "dynamicSize":0}, {"name":"b", "staticSize":4, "dynamicSize":0}, {"name":"c", "staticSize":4, "dynamicSize":0}, {"name":"d", "staticSize":4, "dynamicSize":0}, {"name":"e", "staticSize":4, "dynamicSize":0}, {"name":"f", "staticSize":4, "dynamicSize":0} ]}]''' expect_json_v2 = '''[{ "staticSize":24, "exclusiveSize":0, "size":24, "members":[ {"name":"a", "staticSize":4, "exclusiveSize":4, "size":4}, {"name":"b", "staticSize":4, "exclusiveSize":4, "size":4}, {"name":"c", "staticSize":4, "exclusiveSize":4, "size":4}, {"name":"d", "staticSize":4, "exclusiveSize":4, "size":4}, {"name":"e", "staticSize":4, "exclusiveSize":4, "size":4}, {"name":"f", "staticSize":4, "exclusiveSize":4, "size":4} ]}]'''