{ "consts": [ { "ann_type": { "anns": null, "loc": [ "Loc {locFile = \"test/if/a.thrift\", locStartLine = 9, locStartCol = 7, locEndLine = 9, locEndCol = 8}" ], "type": { "name": "T" } }, "loc_keyword": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 9, locStartCol = 1, locEndLine = 9, locEndCol = 6}", "loc_name": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 9, locStartCol = 9, locEndLine = 9, locEndCol = 10}", "name": "a", "type": { "inner_type": { "type": "i64" }, "loc": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 7, locStartCol = 13, locEndLine = 7, locEndCol = 14}", "name": { "name": "T" }, "type": "typedef" }, "value": { "named_constant": { "name": "i64_value", "src": "b" } }, "xref": [ { "aLoc": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 9, locStartCol = 7, locEndLine = 9, locEndCol = 8}", "rLoc": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 7, locStartCol = 13, locEndLine = 7, locEndCol = 14}" }, { "aLoc": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 9, locStartCol = 13, locEndLine = 9, locEndCol = 24}", "rLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 51, locStartCol = 11, locEndLine = 51, locEndCol = 20}" } ] }, { "ann_type": { "anns": null, "loc": [ "Loc {locFile = \"test/if/a.thrift\", locStartLine = 31, locStartCol = 7, locEndLine = 31, locEndCol = 8}" ], "type": { "name": "U" } }, "loc_keyword": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 31, locStartCol = 1, locEndLine = 31, locEndCol = 6}", "loc_name": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 31, locStartCol = 9, locEndLine = 31, locEndCol = 10}", "name": "u", "type": { "loc": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 21, locStartCol = 7, locEndLine = 21, locEndCol = 8}", "name": { "name": "U" }, "type": "union" }, "value": { "literal": { "type": "union", "value": { "field_name": "y", "field_type": { "inner_type": { "type": "string" }, "type": "list" }, "field_value": { "literal": { "type": "list", "value": [ { "named_constant": { "name": "string_value", "src": "b" } } ] } } } } }, "xref": [ { "aLoc": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 31, locStartCol = 7, locEndLine = 31, locEndCol = 8}", "rLoc": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 21, locStartCol = 7, locEndLine = 21, locEndCol = 8}" } ] }, { "ann_type": { "anns": null, "loc": [ "Loc {locFile = \"test/if/a.thrift\", locStartLine = 33, locStartCol = 7, locEndLine = 33, locEndCol = 10}" ], "type": { "name": "b.B" } }, "loc_keyword": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 33, locStartCol = 1, locEndLine = 33, locEndCol = 6}", "loc_name": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 33, locStartCol = 11, locEndLine = 33, locEndCol = 12}", "name": "b", "type": { "loc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 9, locStartCol = 8, locEndLine = 9, locEndCol = 9}", "name": { "name": "B", "src": "b" }, "type": "struct" }, "value": { "literal": { "type": "struct", "value": [ { "field_name": "a", "field_type": { "type": "i16" }, "field_value": { "named_constant": { "name": "i16_value", "src": "b" } } }, { "field_name": "b", "field_type": { "type": "i32" }, "field_value": { "named_constant": { "name": "i32_value", "src": "b" } } }, { "field_name": "c", "field_type": { "type": "i64" }, "field_value": { "named_constant": { "name": "i64_value", "src": "b" } } } ] } }, "xref": [ { "aLoc": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 33, locStartCol = 7, locEndLine = 33, locEndCol = 10}", "rLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 9, locStartCol = 8, locEndLine = 9, locEndCol = 9}" } ] }, { "ann_type": { "anns": null, "loc": [ "Loc {locFile = \"test/if/a.thrift\", locStartLine = 35, locStartCol = 7, locEndLine = 35, locEndCol = 10}" ], "type": { "name": "b.B" } }, "loc_keyword": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 35, locStartCol = 1, locEndLine = 35, locEndCol = 6}", "loc_name": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 35, locStartCol = 11, locEndLine = 35, locEndCol = 20}", "name": "default_d", "type": { "loc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 9, locStartCol = 8, locEndLine = 9, locEndCol = 9}", "name": { "name": "B", "src": "b" }, "type": "struct" }, "value": { "literal": { "type": "struct", "value": [ { "field_name": "a", "field_type": { "type": "i16" }, "field_value": { "default": null } }, { "field_name": "b", "field_type": { "type": "i32" }, "field_value": { "default": null } }, { "field_name": "c", "field_type": { "type": "i64" }, "field_value": { "default": null } } ] } }, "xref": [ { "aLoc": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 35, locStartCol = 7, locEndLine = 35, locEndCol = 10}", "rLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 9, locStartCol = 8, locEndLine = 9, locEndCol = 9}" } ] }, { "ann_type": { "anns": null, "loc": [ "Loc {locFile = \"test/if/a.thrift\", locStartLine = 37, locStartCol = 7, locEndLine = 37, locEndCol = 15}" ], "type": { "name": "b.Number" } }, "loc_keyword": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 37, locStartCol = 1, locEndLine = 37, locEndCol = 6}", "loc_name": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 37, locStartCol = 16, locEndLine = 37, locEndCol = 20}", "name": "zero", "type": { "loc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 21, locStartCol = 6, locEndLine = 21, locEndCol = 12}", "name": { "name": "Number", "src": "b" }, "type": "enum" }, "value": { "literal": { "type": "enum", "value": { "name": "Zero", "src": "b" } } }, "xref": [ { "aLoc": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 37, locStartCol = 7, locEndLine = 37, locEndCol = 15}", "rLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 21, locStartCol = 6, locEndLine = 21, locEndCol = 12}" }, { "aLoc": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 37, locStartCol = 23, locEndLine = 37, locEndCol = 29}", "rLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 22, locStartCol = 3, locEndLine = 22, locEndCol = 7}" } ] } ], "enums": [], "includes": [ "test/if/b.thrift" ], "name": "a", "options": { "genfiles": null, "include_path": ".", "out_path": "test/fixtures/gen-basic-loc", "path": "test/if/a.thrift", "recursive": true }, "path": "test/if/a.thrift", "services": [ { "functions": [ { "args": [ { "id": 1, "loc_name": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 40, locStartCol = 29, locEndLine = 40, locEndCol = 30}", "name": "x", "type": { "type": "i32" }, "xref": [] } ], "loc_name": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 40, locStartCol = 12, locEndLine = 40, locEndCol = 21}", "name": "getNumber", "oneway": false, "return_type": { "loc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 21, locStartCol = 6, locEndLine = 21, locEndCol = 12}", "name": { "name": "Number", "src": "b" }, "type": "enum" }, "throws": [] }, { "args": [], "loc_name": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 42, locStartCol = 8, locEndLine = 42, locEndCol = 17}", "name": "doNothing", "oneway": false, "return_type": { "type": "void" }, "throws": [ { "id": 1, "loc_name": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 42, locStartCol = 33, locEndLine = 42, locEndCol = 35}", "name": "ex", "type": { "loc": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 27, locStartCol = 11, locEndLine = 27, locEndCol = 12}", "name": { "name": "X" }, "type": "exception" }, "xref": [ { "aLoc": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 42, locStartCol = 31, locEndLine = 42, locEndCol = 32}", "rLoc": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 27, locStartCol = 11, locEndLine = 27, locEndCol = 12}" } ] } ] } ], "loc_keyword": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 39, locStartCol = 1, locEndLine = 39, locEndCol = 8}", "loc_name": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 39, locStartCol = 9, locEndLine = 39, locEndCol = 10}", "name": "S" }, { "functions": [], "loc_keyword": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 45, locStartCol = 1, locEndLine = 45, locEndCol = 8}", "loc_name": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 45, locStartCol = 9, locEndLine = 45, locEndCol = 22}", "name": "ParentService" }, { "functions": [ { "args": [], "loc_name": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 49, locStartCol = 7, locEndLine = 49, locEndCol = 10}", "name": "foo", "oneway": false, "return_type": { "type": "i32" }, "throws": [] } ], "loc_keyword": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 48, locStartCol = 1, locEndLine = 48, locEndCol = 8}", "loc_name": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 48, locStartCol = 9, locEndLine = 48, locEndCol = 21}", "name": "ChildService", "super": { "name": "ParentService" } } ], "structs": [ { "fields": [ { "default_value": { "named_constant": { "name": "a" } }, "id": 1, "loc_name": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 12, locStartCol = 8, locEndLine = 12, locEndCol = 9}", "name": "a", "requiredness": "default", "type": { "inner_type": { "type": "i64" }, "loc": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 7, locStartCol = 13, locEndLine = 7, locEndCol = 14}", "name": { "name": "T" }, "type": "typedef" }, "xref": [ { "aLoc": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 12, locStartCol = 6, locEndLine = 12, locEndCol = 7}", "rLoc": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 7, locStartCol = 13, locEndLine = 7, locEndCol = 14}" } ] }, { "default_value": { "named_constant": { "name": "bool_value", "src": "b" } }, "id": 3, "loc_name": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 13, locStartCol = 11, locEndLine = 13, locEndCol = 12}", "name": "c", "requiredness": "default", "type": { "type": "bool" }, "xref": [] }, { "id": 4, "loc_name": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 14, locStartCol = 22, locEndLine = 14, locEndCol = 23}", "name": "d", "requiredness": "default", "type": { "inner_type": { "inner_type": { "type": "i32" }, "type": "list" }, "type": "list" }, "xref": [] }, { "id": 5, "loc_name": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 15, locStartCol = 23, locEndLine = 15, locEndCol = 24}", "name": "e", "requiredness": "default", "type": { "key_type": { "type": "i32" }, "type": "map", "val_type": { "type": "string" } }, "xref": [] }, { "default_value": { "literal": { "type": "enum", "value": { "name": "Two", "src": "b" } } }, "id": 6, "loc_name": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 16, locStartCol = 15, locEndLine = 16, locEndCol = 16}", "name": "f", "requiredness": "default", "type": { "loc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 21, locStartCol = 6, locEndLine = 21, locEndCol = 12}", "name": { "name": "Number", "src": "b" }, "type": "enum" }, "xref": [ { "aLoc": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 16, locStartCol = 6, locEndLine = 16, locEndCol = 14}", "rLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 21, locStartCol = 6, locEndLine = 21, locEndCol = 12}" } ] }, { "id": 7, "loc_name": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 17, locStartCol = 22, locEndLine = 17, locEndCol = 23}", "name": "g", "requiredness": "optional", "type": { "type": "string" }, "xref": [] }, { "id": 8, "loc_name": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 18, locStartCol = 22, locEndLine = 18, locEndCol = 23}", "name": "h", "requiredness": "required", "type": { "type": "string" }, "xref": [] } ], "loc_keyword": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 11, locStartCol = 1, locEndLine = 11, locEndCol = 7}", "loc_name": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 11, locStartCol = 8, locEndLine = 11, locEndCol = 9}", "name": "A", "struct_type": "STRUCT" }, { "fields": [ { "id": 1, "loc_name": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 28, locStartCol = 13, locEndLine = 28, locEndCol = 19}", "name": "reason", "requiredness": "default", "type": { "type": "string" }, "xref": [] } ], "loc_keyword": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 27, locStartCol = 1, locEndLine = 27, locEndCol = 10}", "loc_name": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 27, locStartCol = 11, locEndLine = 27, locEndCol = 12}", "name": "X", "struct_type": "EXCEPTION" } ], "typedefs": [ { "ann_type": { "anns": null, "loc": [ "Loc {locFile = \"test/if/a.thrift\", locStartLine = 7, locStartCol = 9, locEndLine = 7, locEndCol = 12}" ], "type": { "type": "i64" } }, "anns": null, "loc_keyword": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 7, locStartCol = 1, locEndLine = 7, locEndCol = 8}", "loc_name": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 7, locStartCol = 13, locEndLine = 7, locEndCol = 14}", "name": "T", "newtype": false, "type": { "type": "i64" }, "xref": [] } ], "unions": [ { "fields": [ { "id": 1, "loc_name": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 22, locStartCol = 11, locEndLine = 22, locEndCol = 12}", "name": "x", "type": { "type": "byte" } }, { "id": 2, "loc_name": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 23, locStartCol = 19, locEndLine = 23, locEndCol = 20}", "name": "y", "type": { "inner_type": { "type": "string" }, "type": "list" } }, { "id": 3, "loc_name": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 24, locStartCol = 15, locEndLine = 24, locEndCol = 16}", "name": "z", "type": { "inner_type": { "type": "i64" }, "type": "set" } } ], "loc_keyword": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 21, locStartCol = 1, locEndLine = 21, locEndCol = 6}", "loc_name": "Loc {locFile = \"test/if/a.thrift\", locStartLine = 21, locStartCol = 7, locEndLine = 21, locEndCol = 8}", "name": "U" } ] }