definitions = ''' enum class ScopedEnum { CaseA, CaseB, CaseC, }; enum class ScopedEnumInt8 : int8_t { CaseA = 2, CaseB = 3, CaseC = 4, }; enum UNSCOPED_ENUM { CASE_A = 5, CASE_B = -2, CASE_C = 20, }; struct Holder { enum { One, Two, } e; }; ''' [cases] [cases.scoped] param_types = ["ScopedEnum"] setup = "return {};" expect_json = '[{"staticSize":4, "dynamicSize":0}]' [cases.scoped_int8] param_types = ["ScopedEnumInt8"] setup = "return {};" expect_json = '[{"staticSize":1, "dynamicSize":0}]' [cases.unscoped] param_types = ["UNSCOPED_ENUM"] setup = "return {};" expect_json = '[{"staticSize":4, "dynamicSize":0}]' [cases.anonymous] skip = "TreeBuilder crashes" # https://github.com/facebookexperimental/object-introspection/issues/232 param_types = ["Holder&"] setup = "return {};" expect_json = '''[ {"staticSize":4, "dynamicSize":0, "exclusiveSize":0, "members":[ {"name":"e", "staticSize":4, "dynamicSize":0, "exclusiveSize":4} ]}]'''