{ "__fbthrift": {"@generated": 0}, "thrift_module" : "module", "constants" : { "myStruct" : { "lineno" : 76, "value" : { "major" : 42, "abstract" : "abstract", "my_enum" : 2 }, "type_enum" : "STRUCT", "spec_args" : "MyStruct", "source_range" : { "begin" : { "line" : 76, "column" : 1 }, "end" : { "line" : 80, "column" : 3 } } } }, "includes": { "cpp" : { "path" : "thrift/annotation/cpp.thrift" }, "go" : { "path" : "thrift/annotation/go.thrift" }, "hack" : { "path" : "thrift/annotation/hack.thrift" }, "thrift" : { "path" : "thrift/annotation/thrift.thrift" } }, "enumerations" : { "MyEnum" : { "lineno" : 25, "structured_annotations" : { "cpp.Name" : { "value" : "YourEnum" } }, "constants" : { "MyValue1" : 0, "MyValue2" : 1, "DOMAIN" : 2 }, "source_range" : { "begin" : { "line" : 25, "column" : 1 }, "end" : { "line" : 31, "column" : 2 } } } }, "typedefs" : { "AwesomeStruct" : { "lineno" : 71, "type_enum" : "STRUCT", "spec_args" : "MyStruct", "structured_annotations" : { "go.Name" : { "name" : "IncredibleStruct" } }, "source_range" : { "begin" : { "line" : 71, "column" : 1 }, "end" : { "line" : 72, "column" : 31 } } }, "FantasticStruct" : { "lineno" : 73, "type_enum" : "STRUCT", "spec_args" : "MyStruct", "structured_annotations" : { "go.Name" : { "name" : "BrilliantStruct" } }, "source_range" : { "begin" : { "line" : 73, "column" : 1 }, "end" : { "line" : 74, "column" : 33 } } }, "list_string_6884" : { "lineno" : 137, "type_enum" : "LIST", "spec_args" : { "type_enum" : "STRING", "spec_args" : null} , "structured_annotations" : { "cpp.Type" : { "name" : "std::deque" } }, "source_range" : { "begin" : { "line" : 137, "column" : 1 }, "end" : { "line" : 138, "column" : 38 } } } }, "structs" : { "MyStructNestedAnnotation" : { "lineno" : 33, "is_exception" : false, "is_union" : false, "fields" : { "name" : { "type_enum" : "STRING", "spec_args" : null, "required" : true, "source_range" : { "begin" : { "line" : 34, "column" : 3 }, "end" : { "line" : 34, "column" : 18 } } } }, "source_range" : { "begin" : { "line" : 33, "column" : 1 }, "end" : { "line" : 35, "column" : 2 } } }, "MyUnion" : { "lineno" : 37, "is_exception" : false, "is_union" : true, "structured_annotations" : { "cpp.Adapter" : { "name" : "::StaticCast" }, "cpp.Name" : { "value" : "YourUnion" } }, "fields" : { }, "source_range" : { "begin" : { "line" : 37, "column" : 1 }, "end" : { "line" : 39, "column" : 17 } } }, "MyException" : { "lineno" : 40, "is_exception" : true, "is_union" : false, "structured_annotations" : { "cpp.Name" : { "value" : "YourException" }, "cpp.Adapter" : { "name" : "::StaticCast" } }, "fields" : { }, "source_range" : { "begin" : { "line" : 40, "column" : 1 }, "end" : { "line" : 42, "column" : 30 } } }, "MyStruct" : { "lineno" : 45, "is_exception" : false, "is_union" : false, "annotations" : { "android.generate_builder" : { "value" : "1", "source_range" : { "begin" : { "line" : 67, "column" : 3 }, "end" : { "line" : 67, "column" : 27 } } } , "thrift.uri" : { "value" : "facebook.com/thrift/compiler/test/fixtures/basic-annotations/src/module/MyStruct", "source_range" : { "begin" : { "line" : 68, "column" : 3 }, "end" : { "line" : 68, "column" : 98 } } } }, "structured_annotations" : { "cpp.Name" : { "value" : "YourStruct" }, "hack.Attributes" : { "attributes" : [ "\\SomeClass(\\AnotherClass::class)" ] }, "cpp.Adapter" : { "name" : "::StaticCast" } }, "fields" : { "major" : { "type_enum" : "I64", "spec_args" : null, "required" : true, "structured_annotations" : { "cpp.Name" : { "value" : "majorVer" }, "go.Name" : { "name" : "MajorVer" } }, "source_range" : { "begin" : { "line" : 50, "column" : 3 }, "end" : { "line" : 52, "column" : 16 } } }, "abstract" : { "type_enum" : "STRING", "spec_args" : null, "required" : true, "annotations" : { "java.swift.name" : { "value" : "_abstract", "source_range" : { "begin" : { "line" : 56, "column" : 23 }, "end" : { "line" : 56, "column" : 52 } } } }, "structured_annotations" : { "go.Name" : { "name" : "AbstractName" }, "go.Tag" : { "tag" : "tag:\"some_abstract\"" } }, "source_range" : { "begin" : { "line" : 54, "column" : 3 }, "end" : { "line" : 56, "column" : 54 } } }, "annotation_with_quote" : { "type_enum" : "STRING", "spec_args" : null, "required" : true, "structured_annotations" : { "go.Tag" : { "tag" : "tag:\"somevalue\"" } }, "source_range" : { "begin" : { "line" : 58, "column" : 3 }, "end" : { "line" : 59, "column" : 35 } } }, "class_" : { "type_enum" : "STRING", "spec_args" : null, "required" : true, "annotations" : { "java.swift.name" : { "value" : "class_", "source_range" : { "begin" : { "line" : 60, "column" : 21 }, "end" : { "line" : 60, "column" : 47 } } } }, "source_range" : { "begin" : { "line" : 60, "column" : 3 }, "end" : { "line" : 60, "column" : 49 } } }, "annotation_with_trailing_comma" : { "type_enum" : "STRING", "spec_args" : null, "required" : true, "annotations" : { "custom" : { "value" : "test", "source_range" : { "begin" : { "line" : 61, "column" : 45 }, "end" : { "line" : 61, "column" : 60 } } } }, "source_range" : { "begin" : { "line" : 61, "column" : 3 }, "end" : { "line" : 61, "column" : 62 } } }, "empty_annotations" : { "type_enum" : "STRING", "spec_args" : null, "required" : true, "source_range" : { "begin" : { "line" : 62, "column" : 3 }, "end" : { "line" : 62, "column" : 34 } } }, "my_enum" : { "type_enum" : "ENUM", "spec_args" : "MyEnum", "required" : true, "source_range" : { "begin" : { "line" : 63, "column" : 3 }, "end" : { "line" : 63, "column" : 21 } } }, "cpp_type_annotation" : { "type_enum" : "TYPEDEF", "spec_args" : "list_string_6884", "required" : true, "source_range" : { "begin" : { "line" : 64, "column" : 3 }, "end" : { "line" : 64, "column" : 43 } } }, "my_union" : { "type_enum" : "STRUCT", "spec_args" : "MyUnion", "required" : true, "source_range" : { "begin" : { "line" : 65, "column" : 3 }, "end" : { "line" : 65, "column" : 23 } } } }, "source_range" : { "begin" : { "line" : 45, "column" : 1 }, "end" : { "line" : 69, "column" : 2 } } }, "SecretStruct" : { "lineno" : 111, "is_exception" : false, "is_union" : false, "fields" : { "id" : { "type_enum" : "I64", "spec_args" : null, "required" : true, "source_range" : { "begin" : { "line" : 112, "column" : 3 }, "end" : { "line" : 112, "column" : 13 } } }, "password" : { "type_enum" : "STRING", "spec_args" : null, "required" : true, "annotations" : { "java.sensitive" : { "value" : "1", "source_range" : { "begin" : { "line" : 0, "column" : 0 }, "end" : { "line" : 0, "column" : 0 } } } }, "structured_annotations" : { "thrift.DeprecatedUnvalidatedAnnotations" : { "items" : { "java.sensitive" : "1" } } }, "source_range" : { "begin" : { "line" : 113, "column" : 3 }, "end" : { "line" : 114, "column" : 22 } } } }, "source_range" : { "begin" : { "line" : 111, "column" : 1 }, "end" : { "line" : 115, "column" : 2 } } } }, "services" : { "MyService" : { "lineno" : 82, "functions" : { "MyService.ping" : { "return_type" : { "type_enum" : "VOID", "spec_args" : null }, "args" : [], "throws" : [ "MyException" ], "source_range" : { "begin" : { "line" : 83, "column" : 3 }, "end" : { "line" : 83, "column" : 48 } } }, "MyService.getRandomData" : { "return_type" : { "type_enum" : "STRING", "spec_args" : null }, "args" : [], "throws" : [], "source_range" : { "begin" : { "line" : 84, "column" : 3 }, "end" : { "line" : 84, "column" : 26 } } }, "MyService.hasDataById" : { "return_type" : { "type_enum" : "BOOL", "spec_args" : null }, "args" : [ { "name" : "id", "type_enum" : "I64", "spec_args" : null } ], "throws" : [], "source_range" : { "begin" : { "line" : 85, "column" : 3 }, "end" : { "line" : 85, "column" : 31 } } }, "MyService.getDataById" : { "return_type" : { "type_enum" : "STRING", "spec_args" : null }, "args" : [ { "name" : "id", "type_enum" : "I64", "spec_args" : null } ], "throws" : [], "structured_annotations" : { "go.Name" : { "name" : "GoGetDataById" } }, "source_range" : { "begin" : { "line" : 86, "column" : 3 }, "end" : { "line" : 87, "column" : 33 } } }, "MyService.putDataById" : { "return_type" : { "type_enum" : "VOID", "spec_args" : null }, "args" : [ { "name" : "id", "type_enum" : "I64", "spec_args" : null }, { "name" : "data", "type_enum" : "STRING", "spec_args" : null, "structured_annotations" : { "MyStructNestedAnnotation" : { "name" : "argument" } } } ], "throws" : [], "source_range" : { "begin" : { "line" : 88, "column" : 3 }, "end" : { "line" : 92, "column" : 5 } } }, "MyService.lobDataById" : { "return_type" : { "type_enum" : "VOID", "spec_args" : null }, "args" : [ { "name" : "id", "type_enum" : "I64", "spec_args" : null }, { "name" : "data", "type_enum" : "STRING", "spec_args" : null, "annotations" : { "cpp.name" : { "value" : "dataStr", "source_range" : { "begin" : { "line" : 93, "column" : 54 }, "end" : { "line" : 93, "column" : 74 } } } } } ], "throws" : [], "source_range" : { "begin" : { "line" : 93, "column" : 3 }, "end" : { "line" : 93, "column" : 77 } } }, "MyService.doNothing" : { "return_type" : { "type_enum" : "VOID", "spec_args" : null }, "args" : [], "throws" : [], "structured_annotations" : { "cpp.Name" : { "value" : "cppDoNothing" }, "go.Name" : { "name" : "GoDoNothing" } }, "source_range" : { "begin" : { "line" : 94, "column" : 3 }, "end" : { "line" : 96, "column" : 20 } } } }, "source_range" : { "begin" : { "line" : 82, "column" : 1 }, "end" : { "line" : 97, "column" : 2 } } }, "MyServicePrioParent" : { "lineno" : 99, "functions" : { "MyServicePrioParent.ping" : { "return_type" : { "type_enum" : "VOID", "spec_args" : null }, "args" : [], "throws" : [], "structured_annotations" : { "thrift.Priority" : { "level" : 2 } }, "source_range" : { "begin" : { "line" : 100, "column" : 3 }, "end" : { "line" : 101, "column" : 15 } } }, "MyServicePrioParent.pong" : { "return_type" : { "type_enum" : "VOID", "spec_args" : null }, "args" : [], "throws" : [], "structured_annotations" : { "thrift.Priority" : { "level" : 0 } }, "source_range" : { "begin" : { "line" : 102, "column" : 3 }, "end" : { "line" : 103, "column" : 15 } } } }, "source_range" : { "begin" : { "line" : 99, "column" : 1 }, "end" : { "line" : 104, "column" : 2 } } }, "MyServicePrioChild" : { "extends" : { "type_enum" : "SERVICE", "spec_args" : "MyServicePrioParent" }, "lineno" : 106, "functions" : { "MyServicePrioChild.pang" : { "return_type" : { "type_enum" : "VOID", "spec_args" : null }, "args" : [], "throws" : [], "structured_annotations" : { "thrift.Priority" : { "level" : 4 } }, "source_range" : { "begin" : { "line" : 107, "column" : 3 }, "end" : { "line" : 108, "column" : 15 } } } }, "source_range" : { "begin" : { "line" : 106, "column" : 1 }, "end" : { "line" : 109, "column" : 2 } } }, "BadService" : { "lineno" : 122, "structured_annotations" : { "cpp.Name" : { "value" : "GoodService" } }, "functions" : { "BadService.createBadInteraction" : { "return_type" : { "type_enum" : "SERVICE", "spec_args" : "BadInteraction" }, "args" : [], "throws" : [], "source_range" : { "begin" : { "line" : 124, "column" : 3 }, "end" : { "line" : 124, "column" : 27 } } }, "BadService.bar" : { "return_type" : { "type_enum" : "I32", "spec_args" : null }, "args" : [], "throws" : [], "source_range" : { "begin" : { "line" : 125, "column" : 3 }, "end" : { "line" : 125, "column" : 13 } } } }, "source_range" : { "begin" : { "line" : 122, "column" : 1 }, "end" : { "line" : 126, "column" : 2 } } }, "FooBarBazService" : { "lineno" : 128, "functions" : { "FooBarBazService.foo" : { "return_type" : { "type_enum" : "VOID", "spec_args" : null }, "args" : [], "throws" : [], "structured_annotations" : { "go.Name" : { "name" : "FooStructured" } }, "source_range" : { "begin" : { "line" : 129, "column" : 3 }, "end" : { "line" : 130, "column" : 14 } } }, "FooBarBazService.bar" : { "return_type" : { "type_enum" : "VOID", "spec_args" : null }, "args" : [], "throws" : [], "structured_annotations" : { "go.Name" : { "name" : "BarNonStructured" } }, "source_range" : { "begin" : { "line" : 131, "column" : 3 }, "end" : { "line" : 132, "column" : 14 } } }, "FooBarBazService.baz" : { "return_type" : { "type_enum" : "VOID", "spec_args" : null }, "args" : [], "throws" : [], "source_range" : { "begin" : { "line" : 133, "column" : 3 }, "end" : { "line" : 133, "column" : 14 } } } }, "source_range" : { "begin" : { "line" : 128, "column" : 1 }, "end" : { "line" : 134, "column" : 2 } } } } }