| { |
| "version": "0.0.1", |
| "name": "test.name", |
| "library_dependencies": [], |
| "bits_declarations": [], |
| "const_declarations": [], |
| "enum_declarations": [], |
| "interface_declarations": [ |
| { |
| "name": "test.name/TestProtocol", |
| "location": { |
| "filename": "garnet/go/src/fidl/compiler/backend/typestest/xunion.test.fidl", |
| "line": 38, |
| "column": 10 |
| }, |
| "methods": [ |
| { |
| "ordinal": 8188024295608287232, |
| "generated_ordinal": 3104541966783008990, |
| "name": "StrictXUnionHenceResponseMayBeStackAllocated", |
| "location": { |
| "filename": "garnet/go/src/fidl/compiler/backend/typestest/xunion.test.fidl", |
| "line": 39, |
| "column": 5 |
| }, |
| "has_request": true, |
| "maybe_request": [], |
| "maybe_request_type_shape_v1": { |
| "inline_size": 16, |
| "alignment": 8, |
| "depth": 0, |
| "max_handles": 0, |
| "max_out_of_line": 0, |
| "has_padding": false, |
| "has_flexible_envelope": false, |
| "contains_union": false |
| }, |
| "has_response": true, |
| "maybe_response": [ |
| { |
| "type": { |
| "kind": "identifier", |
| "identifier": "test.name/StrictBoundedXUnion", |
| "nullable": false |
| }, |
| "name": "xu", |
| "location": { |
| "filename": "garnet/go/src/fidl/compiler/backend/typestest/xunion.test.fidl", |
| "line": 39, |
| "column": 76 |
| }, |
| "field_shape_v1": { |
| "offset": 16, |
| "padding": 0 |
| } |
| } |
| ], |
| "maybe_response_payload": "test.name/SomeLongAnonymousPrefix1", |
| "maybe_response_type_shape_v1": { |
| "inline_size": 40, |
| "alignment": 8, |
| "depth": 2, |
| "max_handles": 0, |
| "max_out_of_line": 32, |
| "has_padding": true, |
| "has_flexible_envelope": false, |
| "contains_union": false |
| }, |
| "is_composed": false |
| }, |
| { |
| "ordinal": 4132614547208929280, |
| "generated_ordinal": 6831826128644306582, |
| "name": "FlexibleXUnionHenceResponseMustBeHeapAllocated", |
| "location": { |
| "filename": "garnet/go/src/fidl/compiler/backend/typestest/xunion.test.fidl", |
| "line": 40, |
| "column": 5 |
| }, |
| "has_request": true, |
| "maybe_request": [], |
| "maybe_request_type_shape_v1": { |
| "inline_size": 16, |
| "alignment": 8, |
| "depth": 0, |
| "max_handles": 0, |
| "max_out_of_line": 0, |
| "has_padding": false, |
| "has_flexible_envelope": false, |
| "contains_union": false |
| }, |
| "has_response": true, |
| "maybe_response": [ |
| { |
| "type": { |
| "kind": "identifier", |
| "identifier": "test.name/OlderSimpleUnion", |
| "nullable": false |
| }, |
| "name": "xu", |
| "location": { |
| "filename": "garnet/go/src/fidl/compiler/backend/typestest/xunion.test.fidl", |
| "line": 40, |
| "column": 75 |
| }, |
| "field_shape_v1": { |
| "offset": 16, |
| "padding": 0 |
| } |
| } |
| ], |
| "maybe_response_payload": "test.name/SomeLongAnonymousPrefix3", |
| "maybe_response_type_shape_v1": { |
| "inline_size": 40, |
| "alignment": 8, |
| "depth": 1, |
| "max_handles": 0, |
| "max_out_of_line": 8, |
| "has_padding": true, |
| "has_flexible_envelope": true, |
| "contains_union": false |
| }, |
| "is_composed": false |
| } |
| ] |
| } |
| ], |
| "service_declarations": [], |
| "struct_declarations": [ |
| { |
| "name": "test.name/SomeLongAnonymousPrefix1", |
| "location": { |
| "filename": "generated", |
| "line": 2, |
| "column": 1 |
| }, |
| "anonymous": true, |
| "members": [ |
| { |
| "type": { |
| "kind": "identifier", |
| "identifier": "test.name/StrictBoundedXUnion", |
| "nullable": false |
| }, |
| "name": "xu", |
| "location": { |
| "filename": "garnet/go/src/fidl/compiler/backend/typestest/xunion.test.fidl", |
| "line": 39, |
| "column": 76 |
| }, |
| "field_shape_v1": { |
| "offset": 0, |
| "padding": 0 |
| } |
| } |
| ], |
| "type_shape_v1": { |
| "inline_size": 24, |
| "alignment": 8, |
| "depth": 2, |
| "max_handles": 0, |
| "max_out_of_line": 32, |
| "has_padding": true, |
| "has_flexible_envelope": false, |
| "contains_union": false |
| } |
| }, |
| { |
| "name": "test.name/SomeLongAnonymousPrefix3", |
| "location": { |
| "filename": "generated", |
| "line": 4, |
| "column": 1 |
| }, |
| "anonymous": true, |
| "members": [ |
| { |
| "type": { |
| "kind": "identifier", |
| "identifier": "test.name/OlderSimpleUnion", |
| "nullable": false |
| }, |
| "name": "xu", |
| "location": { |
| "filename": "garnet/go/src/fidl/compiler/backend/typestest/xunion.test.fidl", |
| "line": 40, |
| "column": 75 |
| }, |
| "field_shape_v1": { |
| "offset": 0, |
| "padding": 0 |
| } |
| } |
| ], |
| "type_shape_v1": { |
| "inline_size": 24, |
| "alignment": 8, |
| "depth": 1, |
| "max_handles": 0, |
| "max_out_of_line": 8, |
| "has_padding": true, |
| "has_flexible_envelope": true, |
| "contains_union": false |
| } |
| }, |
| { |
| "name": "test.name/Empty", |
| "location": { |
| "filename": "garnet/go/src/fidl/compiler/backend/typestest/xunion.test.fidl", |
| "line": 25, |
| "column": 8 |
| }, |
| "anonymous": false, |
| "members": [], |
| "type_shape_v1": { |
| "inline_size": 1, |
| "alignment": 1, |
| "depth": 0, |
| "max_handles": 0, |
| "max_out_of_line": 0, |
| "has_padding": false, |
| "has_flexible_envelope": false, |
| "contains_union": false |
| } |
| }, |
| { |
| "name": "test.name/StructWithNullableXUnion", |
| "location": { |
| "filename": "garnet/go/src/fidl/compiler/backend/typestest/xunion.test.fidl", |
| "line": 43, |
| "column": 8 |
| }, |
| "anonymous": false, |
| "members": [ |
| { |
| "type": { |
| "kind": "identifier", |
| "identifier": "test.name/OlderSimpleUnion", |
| "nullable": true |
| }, |
| "name": "x1", |
| "location": { |
| "filename": "garnet/go/src/fidl/compiler/backend/typestest/xunion.test.fidl", |
| "line": 44, |
| "column": 23 |
| }, |
| "field_shape_v1": { |
| "offset": 0, |
| "padding": 0 |
| } |
| } |
| ], |
| "type_shape_v1": { |
| "inline_size": 24, |
| "alignment": 8, |
| "depth": 1, |
| "max_handles": 0, |
| "max_out_of_line": 8, |
| "has_padding": true, |
| "has_flexible_envelope": true, |
| "contains_union": false |
| } |
| } |
| ], |
| "table_declarations": [], |
| "union_declarations": [], |
| "xunion_declarations": [ |
| { |
| "name": "test.name/OlderSimpleUnion", |
| "location": { |
| "filename": "garnet/go/src/fidl/compiler/backend/typestest/xunion.test.fidl", |
| "line": 3, |
| "column": 8 |
| }, |
| "members": [ |
| { |
| "ordinal": 1, |
| "explicit_ordinal": 1, |
| "hashed_ordinal": 1026732503, |
| "reserved": false, |
| "name": "i", |
| "type": { |
| "kind": "primitive", |
| "subtype": "int64" |
| }, |
| "location": { |
| "filename": "garnet/go/src/fidl/compiler/backend/typestest/xunion.test.fidl", |
| "line": 4, |
| "column": 14 |
| } |
| }, |
| { |
| "ordinal": 2, |
| "explicit_ordinal": 2, |
| "hashed_ordinal": 1362546558, |
| "reserved": false, |
| "name": "f", |
| "type": { |
| "kind": "primitive", |
| "subtype": "float32" |
| }, |
| "location": { |
| "filename": "garnet/go/src/fidl/compiler/backend/typestest/xunion.test.fidl", |
| "line": 5, |
| "column": 16 |
| } |
| } |
| ], |
| "strict": false, |
| "type_shape_v1": { |
| "inline_size": 24, |
| "alignment": 8, |
| "depth": 1, |
| "max_handles": 0, |
| "max_out_of_line": 8, |
| "has_padding": true, |
| "has_flexible_envelope": true, |
| "contains_union": false |
| } |
| }, |
| { |
| "name": "test.name/NewerSimpleUnion", |
| "location": { |
| "filename": "garnet/go/src/fidl/compiler/backend/typestest/xunion.test.fidl", |
| "line": 8, |
| "column": 8 |
| }, |
| "members": [ |
| { |
| "ordinal": 1, |
| "explicit_ordinal": 1, |
| "hashed_ordinal": 693944286, |
| "reserved": false, |
| "name": "i", |
| "type": { |
| "kind": "primitive", |
| "subtype": "int64" |
| }, |
| "location": { |
| "filename": "garnet/go/src/fidl/compiler/backend/typestest/xunion.test.fidl", |
| "line": 11, |
| "column": 14 |
| } |
| }, |
| { |
| "ordinal": 2, |
| "explicit_ordinal": 2, |
| "hashed_ordinal": 473666119, |
| "reserved": false, |
| "name": "s", |
| "type": { |
| "kind": "string", |
| "nullable": false |
| }, |
| "location": { |
| "filename": "garnet/go/src/fidl/compiler/backend/typestest/xunion.test.fidl", |
| "line": 13, |
| "column": 15 |
| } |
| }, |
| { |
| "ordinal": 3, |
| "explicit_ordinal": 3, |
| "hashed_ordinal": 1815655055, |
| "reserved": false, |
| "name": "v", |
| "type": { |
| "kind": "vector", |
| "element_type": { |
| "kind": "string", |
| "nullable": false |
| }, |
| "nullable": false |
| }, |
| "location": { |
| "filename": "garnet/go/src/fidl/compiler/backend/typestest/xunion.test.fidl", |
| "line": 14, |
| "column": 23 |
| } |
| } |
| ], |
| "strict": false, |
| "type_shape_v1": { |
| "inline_size": 24, |
| "alignment": 8, |
| "depth": 3, |
| "max_handles": 0, |
| "max_out_of_line": 4294967295, |
| "has_padding": true, |
| "has_flexible_envelope": true, |
| "contains_union": false |
| } |
| }, |
| { |
| "name": "test.name/StrictSimpleXUnion", |
| "location": { |
| "filename": "garnet/go/src/fidl/compiler/backend/typestest/xunion.test.fidl", |
| "line": 19, |
| "column": 15 |
| }, |
| "members": [ |
| { |
| "ordinal": 1, |
| "explicit_ordinal": 1, |
| "hashed_ordinal": 1851697276, |
| "reserved": false, |
| "name": "i", |
| "type": { |
| "kind": "primitive", |
| "subtype": "int32" |
| }, |
| "location": { |
| "filename": "garnet/go/src/fidl/compiler/backend/typestest/xunion.test.fidl", |
| "line": 20, |
| "column": 14 |
| } |
| }, |
| { |
| "ordinal": 2, |
| "explicit_ordinal": 2, |
| "hashed_ordinal": 855207063, |
| "reserved": false, |
| "name": "f", |
| "type": { |
| "kind": "primitive", |
| "subtype": "float32" |
| }, |
| "location": { |
| "filename": "garnet/go/src/fidl/compiler/backend/typestest/xunion.test.fidl", |
| "line": 21, |
| "column": 16 |
| } |
| }, |
| { |
| "ordinal": 3, |
| "explicit_ordinal": 3, |
| "hashed_ordinal": 850602487, |
| "reserved": false, |
| "name": "s", |
| "type": { |
| "kind": "string", |
| "nullable": false |
| }, |
| "location": { |
| "filename": "garnet/go/src/fidl/compiler/backend/typestest/xunion.test.fidl", |
| "line": 22, |
| "column": 15 |
| } |
| } |
| ], |
| "strict": true, |
| "type_shape_v1": { |
| "inline_size": 24, |
| "alignment": 8, |
| "depth": 2, |
| "max_handles": 0, |
| "max_out_of_line": 4294967295, |
| "has_padding": true, |
| "has_flexible_envelope": false, |
| "contains_union": false |
| } |
| }, |
| { |
| "name": "test.name/XUnionContainingEmptyStruct", |
| "location": { |
| "filename": "garnet/go/src/fidl/compiler/backend/typestest/xunion.test.fidl", |
| "line": 28, |
| "column": 8 |
| }, |
| "members": [ |
| { |
| "ordinal": 1, |
| "explicit_ordinal": 1, |
| "hashed_ordinal": 424858069, |
| "reserved": false, |
| "name": "empty", |
| "type": { |
| "kind": "identifier", |
| "identifier": "test.name/Empty", |
| "nullable": false |
| }, |
| "location": { |
| "filename": "garnet/go/src/fidl/compiler/backend/typestest/xunion.test.fidl", |
| "line": 31, |
| "column": 14 |
| } |
| } |
| ], |
| "strict": false, |
| "type_shape_v1": { |
| "inline_size": 24, |
| "alignment": 8, |
| "depth": 1, |
| "max_handles": 0, |
| "max_out_of_line": 8, |
| "has_padding": true, |
| "has_flexible_envelope": true, |
| "contains_union": false |
| } |
| }, |
| { |
| "name": "test.name/StrictBoundedXUnion", |
| "location": { |
| "filename": "garnet/go/src/fidl/compiler/backend/typestest/xunion.test.fidl", |
| "line": 34, |
| "column": 15 |
| }, |
| "members": [ |
| { |
| "ordinal": 1, |
| "explicit_ordinal": 1, |
| "hashed_ordinal": 2024555624, |
| "reserved": false, |
| "name": "v", |
| "type": { |
| "kind": "vector", |
| "element_type": { |
| "kind": "primitive", |
| "subtype": "uint8" |
| }, |
| "maybe_element_count": 10, |
| "nullable": false |
| }, |
| "location": { |
| "filename": "garnet/go/src/fidl/compiler/backend/typestest/xunion.test.fidl", |
| "line": 35, |
| "column": 25 |
| } |
| } |
| ], |
| "strict": true, |
| "type_shape_v1": { |
| "inline_size": 24, |
| "alignment": 8, |
| "depth": 2, |
| "max_handles": 0, |
| "max_out_of_line": 32, |
| "has_padding": true, |
| "has_flexible_envelope": false, |
| "contains_union": false |
| } |
| }, |
| { |
| "name": "test.name/ExplicitXUnion", |
| "location": { |
| "filename": "garnet/go/src/fidl/compiler/backend/typestest/xunion.test.fidl", |
| "line": 47, |
| "column": 8 |
| }, |
| "members": [ |
| { |
| "ordinal": 3, |
| "explicit_ordinal": 3, |
| "reserved": true, |
| "location": { |
| "filename": "garnet/go/src/fidl/compiler/backend/typestest/xunion.test.fidl", |
| "line": 48, |
| "column": 5 |
| } |
| }, |
| { |
| "ordinal": 2, |
| "explicit_ordinal": 2, |
| "reserved": true, |
| "location": { |
| "filename": "garnet/go/src/fidl/compiler/backend/typestest/xunion.test.fidl", |
| "line": 49, |
| "column": 5 |
| } |
| }, |
| { |
| "ordinal": 1, |
| "explicit_ordinal": 1, |
| "hashed_ordinal": 625512649, |
| "reserved": false, |
| "name": "i", |
| "type": { |
| "kind": "primitive", |
| "subtype": "int64" |
| }, |
| "location": { |
| "filename": "garnet/go/src/fidl/compiler/backend/typestest/xunion.test.fidl", |
| "line": 50, |
| "column": 14 |
| } |
| }, |
| { |
| "ordinal": 4, |
| "explicit_ordinal": 4, |
| "hashed_ordinal": 182552961, |
| "reserved": false, |
| "name": "f", |
| "type": { |
| "kind": "primitive", |
| "subtype": "float32" |
| }, |
| "location": { |
| "filename": "garnet/go/src/fidl/compiler/backend/typestest/xunion.test.fidl", |
| "line": 51, |
| "column": 16 |
| } |
| } |
| ], |
| "strict": false, |
| "type_shape_v1": { |
| "inline_size": 24, |
| "alignment": 8, |
| "depth": 1, |
| "max_handles": 0, |
| "max_out_of_line": 8, |
| "has_padding": true, |
| "has_flexible_envelope": true, |
| "contains_union": false |
| } |
| } |
| ], |
| "type_alias_declarations": [], |
| "declaration_order": [ |
| "test.name/StructWithNullableXUnion", |
| "test.name/StrictSimpleXUnion", |
| "test.name/StrictBoundedXUnion", |
| "test.name/OlderSimpleUnion", |
| "test.name/TestProtocol", |
| "test.name/NewerSimpleUnion", |
| "test.name/ExplicitXUnion", |
| "test.name/Empty", |
| "test.name/XUnionContainingEmptyStruct" |
| ], |
| "declarations": { |
| "test.name/TestProtocol": "interface", |
| "test.name/SomeLongAnonymousPrefix0": "struct", |
| "test.name/SomeLongAnonymousPrefix1": "struct", |
| "test.name/SomeLongAnonymousPrefix2": "struct", |
| "test.name/SomeLongAnonymousPrefix3": "struct", |
| "test.name/Empty": "struct", |
| "test.name/StructWithNullableXUnion": "struct", |
| "test.name/OlderSimpleUnion": "xunion", |
| "test.name/NewerSimpleUnion": "xunion", |
| "test.name/StrictSimpleXUnion": "xunion", |
| "test.name/XUnionContainingEmptyStruct": "xunion", |
| "test.name/StrictBoundedXUnion": "xunion", |
| "test.name/ExplicitXUnion": "xunion" |
| } |
| } |