definitions = ''' class A { int f; int g; }; class B { int h; }; class C { public: // using T = std::conditional_t= sizeof(char), A, B>; std::conditional_t= sizeof(char), A, B> foo; }; ''' [cases] [cases.a] oil_skip = 'not implemented for treebuilder v2' # https://github.com/facebookexperimental/object-introspection/issues/317 param_types = ["const C&"] setup = ''' C foo; return {foo}; ''' expect_json = ''' [ { "typeName": "ns_std_conditional::C", "isTypedef": false, "staticSize": 8, "dynamicSize": 0, "members": [ { "name": "foo", "typePath": "foo", "isTypedef": true, "staticSize": 8, "dynamicSize": 0, "members": [ { "name": "", "typePath": "", "typeName": "type", "isTypedef": true, "staticSize": 8, "dynamicSize": 0, "members": [ { "name": "", "typePath": "", "typeName": "ns_std_conditional::A", "isTypedef": false, "staticSize": 8, "dynamicSize": 0, "members": [ { "name": "f", "typePath": "f", "isTypedef": false, "staticSize": 4, "dynamicSize": 0 }, { "name": "g", "typePath": "g", "isTypedef": false, "staticSize": 4, "dynamicSize": 0 } ] } ] } ] } ] } ] '''