blob: ddf6a2ef600bc687f6d9bb4107a1d79d72ec2b32 [file] [log] [blame]
{
"version": "0.0.1",
"name": "fidl.test.handles",
"library_dependencies": [],
"bits_declarations": [],
"const_declarations": [],
"enum_declarations": [],
"interface_declarations": [
{
"name": "fidl.test.handles/SomeProtocol",
"location": {
"filename": "handles.test.fidl",
"line": 3,
"column": 10
},
"methods": []
}
],
"service_declarations": [],
"struct_declarations": [
{
"name": "fidl.test.handles/Handles",
"location": {
"filename": "handles.test.fidl",
"line": 11,
"column": 8
},
"anonymous": false,
"members": [
{
"type": {
"kind": "handle",
"subtype": "handle",
"required_rights": 0,
"optional_rights": 4294967295,
"nullable": false
},
"name": "plain_handle",
"location": {
"filename": "handles.test.fidl",
"line": 12,
"column": 12
},
"field_shape_v1": {
"offset": 0,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"subtype": "handle",
"required_rights": 0,
"optional_rights": 4294967295,
"nullable": false
},
"name": "plain_handle_explicit",
"location": {
"filename": "handles.test.fidl",
"line": 13,
"column": 18
},
"field_shape_v1": {
"offset": 4,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"subtype": "handle",
"required_rights": 1,
"optional_rights": 0,
"nullable": false
},
"name": "plain_handle_only_required_rights",
"location": {
"filename": "handles.test.fidl",
"line": 14,
"column": 21
},
"field_shape_v1": {
"offset": 8,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"subtype": "handle",
"required_rights": 1,
"optional_rights": 2,
"nullable": false
},
"name": "plain_handle_required_and_optional_rights",
"location": {
"filename": "handles.test.fidl",
"line": 15,
"column": 24
},
"field_shape_v1": {
"offset": 12,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"subtype": "vmo",
"required_rights": 0,
"optional_rights": 4294967295,
"nullable": false
},
"name": "no_rights_for_migration",
"location": {
"filename": "handles.test.fidl",
"line": 17,
"column": 17
},
"field_shape_v1": {
"offset": 16,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"subtype": "vmo",
"required_rights": 1,
"optional_rights": 0,
"nullable": false
},
"name": "only_required_rights",
"location": {
"filename": "handles.test.fidl",
"line": 18,
"column": 20
},
"field_shape_v1": {
"offset": 20,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"subtype": "vmo",
"required_rights": 1,
"optional_rights": 2,
"nullable": false
},
"name": "required_and_optional_rights",
"location": {
"filename": "handles.test.fidl",
"line": 19,
"column": 23
},
"field_shape_v1": {
"offset": 24,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"subtype": "handle",
"required_rights": 0,
"optional_rights": 4294967295,
"nullable": false
},
"experimental_maybe_from_type_alias": {
"name": "fidl.test.handles/aliased_handle_plain",
"args": [],
"nullable": false
},
"name": "aliased_plain",
"location": {
"filename": "handles.test.fidl",
"line": 21,
"column": 26
},
"field_shape_v1": {
"offset": 28,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"subtype": "handle",
"required_rights": 0,
"optional_rights": 4294967295,
"nullable": false
},
"experimental_maybe_from_type_alias": {
"name": "fidl.test.handles/aliased_handle_subtype",
"args": [],
"nullable": false
},
"name": "aliased_subtype",
"location": {
"filename": "handles.test.fidl",
"line": 22,
"column": 28
},
"field_shape_v1": {
"offset": 32,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"subtype": "handle",
"required_rights": 1,
"optional_rights": 0,
"nullable": false
},
"experimental_maybe_from_type_alias": {
"name": "fidl.test.handles/aliased_handle_only_required_rights",
"args": [],
"nullable": false
},
"name": "aliased_only_required_rights",
"location": {
"filename": "handles.test.fidl",
"line": 23,
"column": 41
},
"field_shape_v1": {
"offset": 36,
"padding": 0
}
},
{
"type": {
"kind": "handle",
"subtype": "handle",
"required_rights": 1,
"optional_rights": 2,
"nullable": false
},
"experimental_maybe_from_type_alias": {
"name": "fidl.test.handles/aliased_handle_required_and_optional_rights",
"args": [],
"nullable": false
},
"name": "aliased_required_and_optional_rights",
"location": {
"filename": "handles.test.fidl",
"line": 24,
"column": 49
},
"field_shape_v1": {
"offset": 40,
"padding": 0
}
},
{
"type": {
"kind": "identifier",
"identifier": "fidl.test.handles/SomeProtocol",
"nullable": false
},
"name": "some_protocol",
"location": {
"filename": "handles.test.fidl",
"line": 26,
"column": 18
},
"field_shape_v1": {
"offset": 44,
"padding": 0
}
},
{
"type": {
"kind": "request",
"subtype": "fidl.test.handles/SomeProtocol",
"nullable": false
},
"name": "request_some_protocol",
"location": {
"filename": "handles.test.fidl",
"line": 27,
"column": 27
},
"field_shape_v1": {
"offset": 48,
"padding": 0
}
}
],
"type_shape_v1": {
"inline_size": 52,
"alignment": 4,
"depth": 0,
"max_handles": 13,
"max_out_of_line": 0,
"has_padding": false,
"has_flexible_envelope": false,
"contains_union": false
}
}
],
"table_declarations": [],
"union_declarations": [],
"xunion_declarations": [],
"type_alias_declarations": [
{
"name": "fidl.test.handles/aliased_handle_plain",
"location": {
"filename": "handles.test.fidl",
"line": 6,
"column": 7
},
"partial_type_ctor": {
"name": "handle",
"args": [],
"nullable": false
}
},
{
"name": "fidl.test.handles/aliased_handle_subtype",
"location": {
"filename": "handles.test.fidl",
"line": 7,
"column": 7
},
"partial_type_ctor": {
"name": "handle",
"args": [],
"nullable": false,
"maybe_handle_subtype": "vmo"
}
},
{
"name": "fidl.test.handles/aliased_handle_only_required_rights",
"location": {
"filename": "handles.test.fidl",
"line": 8,
"column": 7
},
"partial_type_ctor": {
"name": "handle",
"args": [],
"nullable": false,
"maybe_handle_subtype": "vmo",
"required_rights": {
"kind": "literal",
"value": "1",
"expression": "1",
"literal": {
"kind": "numeric",
"value": "1",
"expression": "1"
}
}
}
},
{
"name": "fidl.test.handles/aliased_handle_required_and_optional_rights",
"location": {
"filename": "handles.test.fidl",
"line": 9,
"column": 7
},
"partial_type_ctor": {
"name": "handle",
"args": [],
"nullable": false,
"maybe_handle_subtype": "vmo",
"required_rights": {
"kind": "literal",
"value": "1",
"expression": "1",
"literal": {
"kind": "numeric",
"value": "1",
"expression": "1"
}
},
"optional_rights": {
"kind": "literal",
"value": "2",
"expression": "2",
"literal": {
"kind": "numeric",
"value": "2",
"expression": "2"
}
}
}
}
],
"declaration_order": [
"fidl.test.handles/aliased_handle_subtype",
"fidl.test.handles/aliased_handle_required_and_optional_rights",
"fidl.test.handles/aliased_handle_plain",
"fidl.test.handles/aliased_handle_only_required_rights",
"fidl.test.handles/Handles",
"fidl.test.handles/SomeProtocol"
],
"declarations": {
"fidl.test.handles/SomeProtocol": "interface",
"fidl.test.handles/Handles": "struct",
"fidl.test.handles/aliased_handle_plain": "type_alias",
"fidl.test.handles/aliased_handle_subtype": "type_alias",
"fidl.test.handles/aliased_handle_only_required_rights": "type_alias",
"fidl.test.handles/aliased_handle_required_and_optional_rights": "type_alias"
}
}