includes = ["stack", "vector"] [cases] [cases.int_empty] oil_skip = 'not implemented for treebuilder v2' # https://github.com/facebookexperimental/object-introspection/issues/305 param_types = ["const std::stack&"] setup = "return {};" expect_json = '''[{ "typeName": "stack > >", "staticSize": 80, "dynamicSize": 0, "length": 0, "capacity": 0, "elementStaticSize": 4, "members": [ { "typeName": "deque >", "staticSize": 80, "dynamicSize": 0, "length": 0, "capacity": 0, "elementStaticSize": 4 } ]}]''' [cases.int_some] oil_skip = 'not implemented for treebuilder v2' # https://github.com/facebookexperimental/object-introspection/issues/305 param_types = ["const std::stack&"] setup = "return std::stack({1,2,3});" expect_json = '''[{ "typeName": "stack > >", "staticSize": 80, "dynamicSize": 12, "length": 3, "capacity": 3, "elementStaticSize": 4, "members": [ { "typeName": "deque >", "staticSize": 80, "dynamicSize": 12, "length": 3, "capacity": 3, "elementStaticSize": 4 } ]}]''' [cases.stack_int_empty] oil_skip = 'not implemented for treebuilder v2' # https://github.com/facebookexperimental/object-introspection/issues/305 param_types = ["const std::stack>&"] setup = "return {};" expect_json = '''[{ "staticSize": 80, "dynamicSize": 0, "length": 0, "capacity": 0, "elementStaticSize": 80, "members": [ { "staticSize": 80, "dynamicSize": 0, "length": 0, "capacity": 0, "elementStaticSize": 80 } ]}]''' [cases.stack_int_some] oil_skip = 'not implemented for treebuilder v2' # https://github.com/facebookexperimental/object-introspection/issues/305 param_types = ["const std::stack>&"] setup = ''' return std::stack>({ std::stack({1,2,3}), std::stack(), std::stack({4,5}) }); ''' expect_json = '''[{ "staticSize": 80, "dynamicSize": 260, "length": 3, "capacity": 3, "elementStaticSize": 80, "members": [ { "staticSize": 80, "dynamicSize": 260, "length": 3, "capacity": 3, "elementStaticSize": 80, "members": [ { "typeName": "stack > >", "staticSize": 80, "dynamicSize": 12, "length": 3, "capacity": 3, "elementStaticSize": 4, "members": [ { "typeName": "deque >", "staticSize": 80, "dynamicSize": 12, "length": 3, "capacity": 3, "elementStaticSize": 4 } ] }, { "typeName": "stack > >", "staticSize": 80, "dynamicSize": 0, "length": 0, "capacity": 0, "elementStaticSize": 4, "members": [ { "typeName": "deque >", "staticSize": 80, "dynamicSize": 0, "length": 0, "capacity": 0, "elementStaticSize": 4 } ] }, { "typeName": "stack > >", "staticSize": 80, "dynamicSize": 8, "length": 2, "capacity": 2, "elementStaticSize": 4, "members": [ { "typeName": "deque >", "staticSize": 80, "dynamicSize": 8, "length": 2, "capacity": 2, "elementStaticSize": 4 } ] } ] } ]}]''' [cases.adapter_vector_empty] oil_skip = 'not implemented for treebuilder v2' # https://github.com/facebookexperimental/object-introspection/issues/305 param_types = ["const std::stack>&"] setup = "return {};" expect_json = '''[{ "typeName": "stack > >", "staticSize": 24, "dynamicSize": 0, "length": 0, "capacity": 0, "elementStaticSize": 4, "members": [ { "typeName": "vector >", "staticSize": 24, "dynamicSize": 0, "length": 0, "capacity": 0, "elementStaticSize": 4 } ]}]''' [cases.adapter_vector_some] oil_skip = 'not implemented for treebuilder v2' # https://github.com/facebookexperimental/object-introspection/issues/305 param_types = ["const std::stack>&"] setup = "return std::stack>({1,2,3});" expect_json = '''[{ "typeName": "stack > >", "staticSize": 24, "dynamicSize": 12, "length": 3, "capacity": 3, "elementStaticSize": 4, "members": [ { "typeName": "vector >", "staticSize": 24, "dynamicSize": 12, "length": 3, "capacity": 3, "elementStaticSize": 4 } ]}]'''