packages feed

thrift-compiler-0.1.0.1: test/fixtures/gen-single-out-loc/a.ast

[
    {
        "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-single-out-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"
            }
        ]
    },
    {
        "consts": [
            {
                "ann_type": {
                    "anns": null,
                    "loc": [
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 48, locStartCol = 7, locEndLine = 48, locEndCol = 11}"
                    ],
                    "type": {
                        "type": "byte"
                    }
                },
                "loc_keyword": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 48, locStartCol = 1, locEndLine = 48, locEndCol = 6}",
                "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 48, locStartCol = 12, locEndLine = 48, locEndCol = 22}",
                "name": "byte_value",
                "type": {
                    "type": "byte"
                },
                "value": {
                    "literal": {
                        "type": "byte",
                        "value": 0
                    }
                },
                "xref": []
            },
            {
                "ann_type": {
                    "anns": null,
                    "loc": [
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 49, locStartCol = 7, locEndLine = 49, locEndCol = 10}"
                    ],
                    "type": {
                        "type": "i16"
                    }
                },
                "loc_keyword": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 49, locStartCol = 1, locEndLine = 49, locEndCol = 6}",
                "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 49, locStartCol = 11, locEndLine = 49, locEndCol = 20}",
                "name": "i16_value",
                "type": {
                    "type": "i16"
                },
                "value": {
                    "literal": {
                        "type": "i16",
                        "value": 1
                    }
                },
                "xref": []
            },
            {
                "ann_type": {
                    "anns": null,
                    "loc": [
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 50, locStartCol = 7, locEndLine = 50, locEndCol = 10}"
                    ],
                    "type": {
                        "type": "i32"
                    }
                },
                "loc_keyword": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 50, locStartCol = 1, locEndLine = 50, locEndCol = 6}",
                "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 50, locStartCol = 11, locEndLine = 50, locEndCol = 20}",
                "name": "i32_value",
                "type": {
                    "type": "i32"
                },
                "value": {
                    "literal": {
                        "type": "i32",
                        "value": 2
                    }
                },
                "xref": []
            },
            {
                "ann_type": {
                    "anns": null,
                    "loc": [
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 51, locStartCol = 7, locEndLine = 51, locEndCol = 10}"
                    ],
                    "type": {
                        "type": "i64"
                    }
                },
                "loc_keyword": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 51, locStartCol = 1, locEndLine = 51, locEndCol = 6}",
                "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 51, locStartCol = 11, locEndLine = 51, locEndCol = 20}",
                "name": "i64_value",
                "type": {
                    "type": "i64"
                },
                "value": {
                    "literal": {
                        "string": "3",
                        "type": "i64",
                        "value": 3
                    }
                },
                "xref": []
            },
            {
                "ann_type": {
                    "anns": null,
                    "loc": [
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 52, locStartCol = 7, locEndLine = 52, locEndCol = 12}"
                    ],
                    "type": {
                        "type": "float"
                    }
                },
                "loc_keyword": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 52, locStartCol = 1, locEndLine = 52, locEndCol = 6}",
                "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 52, locStartCol = 13, locEndLine = 52, locEndCol = 24}",
                "name": "float_value",
                "type": {
                    "type": "float"
                },
                "value": {
                    "literal": {
                        "binary": "3f000000",
                        "type": "float",
                        "value": 0.5
                    }
                },
                "xref": []
            },
            {
                "ann_type": {
                    "anns": null,
                    "loc": [
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 53, locStartCol = 7, locEndLine = 53, locEndCol = 13}"
                    ],
                    "type": {
                        "type": "double"
                    }
                },
                "loc_keyword": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 53, locStartCol = 1, locEndLine = 53, locEndCol = 6}",
                "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 53, locStartCol = 14, locEndLine = 53, locEndCol = 26}",
                "name": "double_value",
                "type": {
                    "type": "double"
                },
                "value": {
                    "literal": {
                        "binary": "400921f9f01b866e",
                        "type": "double",
                        "value": 3.14159
                    }
                },
                "xref": []
            },
            {
                "ann_type": {
                    "anns": null,
                    "loc": [
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 54, locStartCol = 7, locEndLine = 54, locEndCol = 11}"
                    ],
                    "type": {
                        "type": "bool"
                    }
                },
                "loc_keyword": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 54, locStartCol = 1, locEndLine = 54, locEndCol = 6}",
                "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 54, locStartCol = 12, locEndLine = 54, locEndCol = 22}",
                "name": "bool_value",
                "type": {
                    "type": "bool"
                },
                "value": {
                    "literal": {
                        "type": "bool",
                        "value": true
                    }
                },
                "xref": []
            },
            {
                "ann_type": {
                    "anns": null,
                    "loc": [
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 55, locStartCol = 7, locEndLine = 55, locEndCol = 13}"
                    ],
                    "type": {
                        "type": "string"
                    }
                },
                "loc_keyword": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 55, locStartCol = 1, locEndLine = 55, locEndCol = 6}",
                "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 55, locStartCol = 14, locEndLine = 55, locEndCol = 26}",
                "name": "string_value",
                "type": {
                    "type": "string"
                },
                "value": {
                    "literal": {
                        "type": "string",
                        "value": "xxx"
                    }
                },
                "xref": []
            },
            {
                "ann_type": {
                    "anns": null,
                    "loc": [
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 56, locStartCol = 7, locEndLine = 56, locEndCol = 13}"
                    ],
                    "type": {
                        "type": "binary"
                    }
                },
                "loc_keyword": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 56, locStartCol = 1, locEndLine = 56, locEndCol = 6}",
                "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 56, locStartCol = 14, locEndLine = 56, locEndCol = 26}",
                "name": "binary_value",
                "type": {
                    "type": "binary"
                },
                "value": {
                    "literal": {
                        "type": "binary",
                        "value": "797979"
                    }
                },
                "xref": []
            },
            {
                "ann_type": {
                    "anns": null,
                    "loc": [
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 57, locStartCol = 7, locEndLine = 57, locEndCol = 10}"
                    ],
                    "type": {
                        "name": "Int"
                    }
                },
                "loc_keyword": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 57, locStartCol = 1, locEndLine = 57, locEndCol = 6}",
                "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 57, locStartCol = 11, locEndLine = 57, locEndCol = 24}",
                "name": "newtype_value",
                "type": {
                    "inner_type": {
                        "type": "i64"
                    },
                    "loc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 45, locStartCol = 13, locEndLine = 45, locEndCol = 16}",
                    "name": {
                        "name": "Int"
                    },
                    "type": "newtype"
                },
                "value": {
                    "literal": {
                        "type": "newtype",
                        "value": {
                            "string": "10",
                            "type": "i64",
                            "value": 10
                        }
                    }
                },
                "xref": [
                    {
                        "aLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 57, locStartCol = 7, locEndLine = 57, locEndCol = 10}",
                        "rLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 45, locStartCol = 13, locEndLine = 45, locEndCol = 16}"
                    }
                ]
            },
            {
                "ann_type": {
                    "anns": null,
                    "loc": [
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 58, locStartCol = 7, locEndLine = 58, locEndCol = 13}"
                    ],
                    "type": {
                        "name": "Number"
                    }
                },
                "loc_keyword": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 58, locStartCol = 1, locEndLine = 58, locEndCol = 6}",
                "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 58, locStartCol = 14, locEndLine = 58, locEndCol = 31}",
                "name": "scoped_enum_value",
                "type": {
                    "loc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 21, locStartCol = 6, locEndLine = 21, locEndCol = 12}",
                    "name": {
                        "name": "Number"
                    },
                    "type": "enum"
                },
                "value": {
                    "literal": {
                        "type": "enum",
                        "value": {
                            "name": "Zero"
                        }
                    }
                },
                "xref": [
                    {
                        "aLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 58, locStartCol = 7, locEndLine = 58, locEndCol = 13}",
                        "rLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 21, locStartCol = 6, locEndLine = 21, locEndCol = 12}"
                    },
                    {
                        "aLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 58, locStartCol = 34, locEndLine = 58, locEndCol = 45}",
                        "rLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 22, locStartCol = 3, locEndLine = 22, locEndCol = 7}"
                    }
                ]
            },
            {
                "ann_type": {
                    "anns": null,
                    "loc": [
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 59, locStartCol = 7, locEndLine = 59, locEndCol = 13}"
                    ],
                    "type": {
                        "name": "Number"
                    }
                },
                "loc_keyword": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 59, locStartCol = 1, locEndLine = 59, locEndCol = 6}",
                "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 59, locStartCol = 14, locEndLine = 59, locEndCol = 24}",
                "name": "enum_value",
                "type": {
                    "loc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 21, locStartCol = 6, locEndLine = 21, locEndCol = 12}",
                    "name": {
                        "name": "Number"
                    },
                    "type": "enum"
                },
                "value": {
                    "literal": {
                        "type": "enum",
                        "value": {
                            "name": "One"
                        }
                    }
                },
                "xref": [
                    {
                        "aLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 59, locStartCol = 7, locEndLine = 59, locEndCol = 13}",
                        "rLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 21, locStartCol = 6, locEndLine = 21, locEndCol = 12}"
                    },
                    {
                        "aLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 59, locStartCol = 27, locEndLine = 59, locEndCol = 30}",
                        "rLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 23, locStartCol = 3, locEndLine = 23, locEndCol = 6}"
                    }
                ]
            },
            {
                "ann_type": {
                    "anns": null,
                    "loc": [
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 60, locStartCol = 7, locEndLine = 60, locEndCol = 20}"
                    ],
                    "type": {
                        "name": "Number_Pseudo"
                    }
                },
                "loc_keyword": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 60, locStartCol = 1, locEndLine = 60, locEndCol = 6}",
                "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 60, locStartCol = 21, locEndLine = 60, locEndCol = 44}",
                "name": "scoped_pseudoenum_value",
                "type": {
                    "loc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 32, locStartCol = 6, locEndLine = 32, locEndCol = 19}",
                    "name": {
                        "name": "Number_Pseudo"
                    },
                    "type": "enum"
                },
                "value": {
                    "literal": {
                        "type": "enum",
                        "value": {
                            "name": "Zero"
                        }
                    }
                },
                "xref": [
                    {
                        "aLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 60, locStartCol = 7, locEndLine = 60, locEndCol = 20}",
                        "rLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 32, locStartCol = 6, locEndLine = 32, locEndCol = 19}"
                    },
                    {
                        "aLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 60, locStartCol = 47, locEndLine = 60, locEndCol = 65}",
                        "rLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 33, locStartCol = 3, locEndLine = 33, locEndCol = 7}"
                    }
                ]
            },
            {
                "ann_type": {
                    "anns": null,
                    "loc": [
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 61, locStartCol = 7, locEndLine = 61, locEndCol = 20}"
                    ],
                    "type": {
                        "name": "Number_Pseudo"
                    }
                },
                "loc_keyword": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 61, locStartCol = 1, locEndLine = 61, locEndCol = 6}",
                "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 61, locStartCol = 21, locEndLine = 61, locEndCol = 37}",
                "name": "pseudoenum_value",
                "type": {
                    "loc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 32, locStartCol = 6, locEndLine = 32, locEndCol = 19}",
                    "name": {
                        "name": "Number_Pseudo"
                    },
                    "type": "enum"
                },
                "value": {
                    "literal": {
                        "type": "enum",
                        "value": {
                            "name": "Four"
                        }
                    }
                },
                "xref": [
                    {
                        "aLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 61, locStartCol = 7, locEndLine = 61, locEndCol = 20}",
                        "rLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 32, locStartCol = 6, locEndLine = 32, locEndCol = 19}"
                    },
                    {
                        "aLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 61, locStartCol = 40, locEndLine = 61, locEndCol = 44}",
                        "rLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 34, locStartCol = 3, locEndLine = 34, locEndCol = 7}"
                    }
                ]
            },
            {
                "ann_type": {
                    "anns": null,
                    "loc": [
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 64, locStartCol = 7, locEndLine = 64, locEndCol = 11}",
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 64, locStartCol = 11, locEndLine = 64, locEndCol = 12}",
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 64, locStartCol = 15, locEndLine = 64, locEndCol = 16}"
                    ],
                    "type": {
                        "inner_type": {
                            "anns": null,
                            "loc": [
                                "Loc {locFile = \"test/if/b.thrift\", locStartLine = 64, locStartCol = 12, locEndLine = 64, locEndCol = 15}"
                            ],
                            "type": {
                                "type": "i64"
                            }
                        },
                        "type": "list"
                    }
                },
                "loc_keyword": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 64, locStartCol = 1, locEndLine = 64, locEndCol = 6}",
                "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 64, locStartCol = 17, locEndLine = 64, locEndCol = 27}",
                "name": "list_value",
                "type": {
                    "inner_type": {
                        "type": "i64"
                    },
                    "type": "list"
                },
                "value": {
                    "literal": {
                        "type": "list",
                        "value": [
                            {
                                "literal": {
                                    "string": "0",
                                    "type": "i64",
                                    "value": 0
                                }
                            },
                            {
                                "named_constant": {
                                    "name": "i64_value"
                                }
                            }
                        ]
                    }
                },
                "xref": []
            },
            {
                "ann_type": {
                    "anns": null,
                    "loc": [
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 65, locStartCol = 7, locEndLine = 65, locEndCol = 10}",
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 65, locStartCol = 10, locEndLine = 65, locEndCol = 11}",
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 65, locStartCol = 17, locEndLine = 65, locEndCol = 18}"
                    ],
                    "type": {
                        "inner_type": {
                            "anns": null,
                            "loc": [
                                "Loc {locFile = \"test/if/b.thrift\", locStartLine = 65, locStartCol = 11, locEndLine = 65, locEndCol = 17}"
                            ],
                            "type": {
                                "type": "string"
                            }
                        },
                        "type": "set"
                    }
                },
                "loc_keyword": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 65, locStartCol = 1, locEndLine = 65, locEndCol = 6}",
                "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 65, locStartCol = 19, locEndLine = 65, locEndCol = 28}",
                "name": "set_value",
                "type": {
                    "inner_type": {
                        "type": "string"
                    },
                    "type": "set"
                },
                "value": {
                    "literal": {
                        "type": "set",
                        "value": [
                            {
                                "named_constant": {
                                    "name": "string_value"
                                }
                            },
                            {
                                "literal": {
                                    "type": "string",
                                    "value": ""
                                }
                            }
                        ]
                    }
                },
                "xref": []
            },
            {
                "ann_type": {
                    "anns": null,
                    "loc": [
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 68, locStartCol = 7, locEndLine = 68, locEndCol = 10}",
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 68, locStartCol = 10, locEndLine = 68, locEndCol = 11}",
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 68, locStartCol = 14, locEndLine = 68, locEndCol = 15}",
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 68, locStartCol = 20, locEndLine = 68, locEndCol = 21}"
                    ],
                    "type": {
                        "key_type": {
                            "anns": null,
                            "loc": [
                                "Loc {locFile = \"test/if/b.thrift\", locStartLine = 68, locStartCol = 11, locEndLine = 68, locEndCol = 14}"
                            ],
                            "type": {
                                "type": "i64"
                            }
                        },
                        "type": "map",
                        "val_type": {
                            "anns": null,
                            "loc": [
                                "Loc {locFile = \"test/if/b.thrift\", locStartLine = 68, locStartCol = 16, locEndLine = 68, locEndCol = 20}"
                            ],
                            "type": {
                                "type": "bool"
                            }
                        }
                    }
                },
                "loc_keyword": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 68, locStartCol = 1, locEndLine = 68, locEndCol = 6}",
                "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 68, locStartCol = 22, locEndLine = 68, locEndCol = 31}",
                "name": "map_value",
                "type": {
                    "key_type": {
                        "type": "i64"
                    },
                    "type": "map",
                    "val_type": {
                        "type": "bool"
                    }
                },
                "value": {
                    "literal": {
                        "type": "map",
                        "value": [
                            {
                                "key": {
                                    "literal": {
                                        "string": "0",
                                        "type": "i64",
                                        "value": 0
                                    }
                                },
                                "val": {
                                    "literal": {
                                        "type": "bool",
                                        "value": true
                                    }
                                }
                            },
                            {
                                "key": {
                                    "literal": {
                                        "string": "1",
                                        "type": "i64",
                                        "value": 1
                                    }
                                },
                                "val": {
                                    "literal": {
                                        "type": "bool",
                                        "value": false
                                    }
                                }
                            }
                        ]
                    }
                },
                "xref": []
            },
            {
                "ann_type": {
                    "anns": null,
                    "loc": [
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 69, locStartCol = 7, locEndLine = 69, locEndCol = 29}"
                    ],
                    "type": {
                        "name": "map_string_string_6258"
                    }
                },
                "loc_keyword": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 69, locStartCol = 1, locEndLine = 69, locEndCol = 6}",
                "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 69, locStartCol = 30, locEndLine = 69, locEndCol = 44}",
                "name": "hash_map_value",
                "type": {
                    "inner_type": {
                        "key_type": {
                            "type": "string"
                        },
                        "type": "map",
                        "val_type": {
                            "type": "string"
                        }
                    },
                    "loc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 80, locStartCol = 51, locEndLine = 80, locEndCol = 73}",
                    "name": {
                        "name": "map_string_string_6258"
                    },
                    "type": "typedef"
                },
                "value": {
                    "literal": {
                        "type": "map",
                        "value": [
                            {
                                "key": {
                                    "literal": {
                                        "type": "string",
                                        "value": "a"
                                    }
                                },
                                "val": {
                                    "literal": {
                                        "type": "string",
                                        "value": "A"
                                    }
                                }
                            },
                            {
                                "key": {
                                    "literal": {
                                        "type": "string",
                                        "value": "b"
                                    }
                                },
                                "val": {
                                    "literal": {
                                        "type": "string",
                                        "value": "B"
                                    }
                                }
                            }
                        ]
                    }
                },
                "xref": [
                    {
                        "aLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 69, locStartCol = 7, locEndLine = 69, locEndCol = 29}",
                        "rLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 80, locStartCol = 51, locEndLine = 80, locEndCol = 73}"
                    }
                ]
            },
            {
                "ann_type": {
                    "anns": null,
                    "loc": [
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 71, locStartCol = 7, locEndLine = 71, locEndCol = 8}"
                    ],
                    "type": {
                        "name": "B"
                    }
                },
                "loc_keyword": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 71, locStartCol = 1, locEndLine = 71, locEndCol = 6}",
                "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 71, locStartCol = 9, locEndLine = 71, locEndCol = 21}",
                "name": "struct_value",
                "type": {
                    "loc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 9, locStartCol = 8, locEndLine = 9, locEndCol = 9}",
                    "name": {
                        "name": "B"
                    },
                    "type": "struct"
                },
                "value": {
                    "literal": {
                        "type": "struct",
                        "value": [
                            {
                                "field_name": "a",
                                "field_type": {
                                    "type": "i16"
                                },
                                "field_value": {
                                    "literal": {
                                        "type": "i16",
                                        "value": 1
                                    }
                                }
                            },
                            {
                                "field_name": "b",
                                "field_type": {
                                    "type": "i32"
                                },
                                "field_value": {
                                    "literal": {
                                        "type": "i32",
                                        "value": 2
                                    }
                                }
                            },
                            {
                                "field_name": "c",
                                "field_type": {
                                    "type": "i64"
                                },
                                "field_value": {
                                    "literal": {
                                        "string": "3",
                                        "type": "i64",
                                        "value": 3
                                    }
                                }
                            }
                        ]
                    }
                },
                "xref": [
                    {
                        "aLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 71, locStartCol = 7, locEndLine = 71, locEndCol = 8}",
                        "rLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 9, locStartCol = 8, locEndLine = 9, locEndCol = 9}"
                    }
                ]
            },
            {
                "ann_type": {
                    "anns": null,
                    "loc": [
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 72, locStartCol = 7, locEndLine = 72, locEndCol = 8}"
                    ],
                    "type": {
                        "name": "B"
                    }
                },
                "loc_keyword": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 72, locStartCol = 1, locEndLine = 72, locEndCol = 6}",
                "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 72, locStartCol = 9, locEndLine = 72, locEndCol = 30}",
                "name": "explicit_struct_value",
                "type": {
                    "loc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 9, locStartCol = 8, locEndLine = 9, locEndCol = 9}",
                    "name": {
                        "name": "B"
                    },
                    "type": "struct"
                },
                "value": {
                    "literal": {
                        "type": "struct",
                        "value": [
                            {
                                "field_name": "a",
                                "field_type": {
                                    "type": "i16"
                                },
                                "field_value": {
                                    "literal": {
                                        "type": "i16",
                                        "value": 1
                                    }
                                }
                            },
                            {
                                "field_name": "b",
                                "field_type": {
                                    "type": "i32"
                                },
                                "field_value": {
                                    "literal": {
                                        "type": "i32",
                                        "value": 2
                                    }
                                }
                            },
                            {
                                "field_name": "c",
                                "field_type": {
                                    "type": "i64"
                                },
                                "field_value": {
                                    "literal": {
                                        "string": "3",
                                        "type": "i64",
                                        "value": 3
                                    }
                                }
                            }
                        ]
                    }
                },
                "xref": [
                    {
                        "aLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 72, locStartCol = 7, locEndLine = 72, locEndCol = 8}",
                        "rLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 9, locStartCol = 8, locEndLine = 9, locEndCol = 9}"
                    }
                ]
            },
            {
                "ann_type": {
                    "anns": null,
                    "loc": [
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 73, locStartCol = 7, locEndLine = 73, locEndCol = 8}"
                    ],
                    "type": {
                        "name": "C"
                    }
                },
                "loc_keyword": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 73, locStartCol = 1, locEndLine = 73, locEndCol = 6}",
                "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 73, locStartCol = 9, locEndLine = 73, locEndCol = 37}",
                "name": "explicit_nested_struct_value",
                "type": {
                    "loc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 15, locStartCol = 8, locEndLine = 15, locEndCol = 9}",
                    "name": {
                        "name": "C"
                    },
                    "type": "struct"
                },
                "value": {
                    "literal": {
                        "type": "struct",
                        "value": [
                            {
                                "field_name": "x",
                                "field_type": {
                                    "inner_type": {
                                        "loc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 21, locStartCol = 6, locEndLine = 21, locEndCol = 12}",
                                        "name": {
                                            "name": "Number"
                                        },
                                        "type": "enum"
                                    },
                                    "type": "list"
                                },
                                "field_value": {
                                    "literal": {
                                        "type": "list",
                                        "value": []
                                    }
                                }
                            },
                            {
                                "field_name": "y",
                                "field_type": {
                                    "inner_type": {
                                        "loc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 28, locStartCol = 6, locEndLine = 28, locEndCol = 19}",
                                        "name": {
                                            "name": "Number_Strict"
                                        },
                                        "type": "enum"
                                    },
                                    "type": "list"
                                },
                                "field_value": {
                                    "literal": {
                                        "type": "list",
                                        "value": []
                                    }
                                }
                            },
                            {
                                "field_name": "z",
                                "field_type": {
                                    "loc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 9, locStartCol = 8, locEndLine = 9, locEndCol = 9}",
                                    "name": {
                                        "name": "B"
                                    },
                                    "type": "struct"
                                },
                                "field_value": {
                                    "literal": {
                                        "type": "struct",
                                        "value": [
                                            {
                                                "field_name": "a",
                                                "field_type": {
                                                    "type": "i16"
                                                },
                                                "field_value": {
                                                    "literal": {
                                                        "type": "i16",
                                                        "value": 1
                                                    }
                                                }
                                            },
                                            {
                                                "field_name": "b",
                                                "field_type": {
                                                    "type": "i32"
                                                },
                                                "field_value": {
                                                    "literal": {
                                                        "type": "i32",
                                                        "value": 2
                                                    }
                                                }
                                            },
                                            {
                                                "field_name": "c",
                                                "field_type": {
                                                    "type": "i64"
                                                },
                                                "field_value": {
                                                    "literal": {
                                                        "string": "3",
                                                        "type": "i64",
                                                        "value": 3
                                                    }
                                                }
                                            }
                                        ]
                                    }
                                }
                            }
                        ]
                    }
                },
                "xref": [
                    {
                        "aLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 73, locStartCol = 7, locEndLine = 73, locEndCol = 8}",
                        "rLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 15, locStartCol = 8, locEndLine = 15, locEndCol = 9}"
                    }
                ]
            }
        ],
        "enums": [
            {
                "constants": [
                    {
                        "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 22, locStartCol = 3, locEndLine = 22, locEndCol = 7}",
                        "name": "Zero",
                        "value": 0
                    },
                    {
                        "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 23, locStartCol = 3, locEndLine = 23, locEndCol = 6}",
                        "name": "One",
                        "value": 1
                    },
                    {
                        "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 24, locStartCol = 3, locEndLine = 24, locEndCol = 6}",
                        "name": "Two",
                        "value": 2
                    },
                    {
                        "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 25, locStartCol = 3, locEndLine = 25, locEndCol = 8}",
                        "name": "Three",
                        "value": 3
                    }
                ],
                "flavour": "sum_type",
                "loc_keyword": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 21, locStartCol = 1, locEndLine = 21, locEndCol = 5}",
                "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 21, locStartCol = 6, locEndLine = 21, locEndCol = 12}",
                "name": "Number"
            },
            {
                "constants": [
                    {
                        "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 29, locStartCol = 3, locEndLine = 29, locEndCol = 7}",
                        "name": "Zero",
                        "value": 0
                    }
                ],
                "flavour": "sum_type",
                "loc_keyword": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 28, locStartCol = 1, locEndLine = 28, locEndCol = 5}",
                "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 28, locStartCol = 6, locEndLine = 28, locEndCol = 19}",
                "name": "Number_Strict"
            },
            {
                "constants": [
                    {
                        "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 33, locStartCol = 3, locEndLine = 33, locEndCol = 7}",
                        "name": "Zero",
                        "value": 0
                    },
                    {
                        "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 34, locStartCol = 3, locEndLine = 34, locEndCol = 7}",
                        "name": "Four",
                        "value": 4
                    }
                ],
                "flavour": "sum_type",
                "loc_keyword": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 32, locStartCol = 1, locEndLine = 32, locEndCol = 5}",
                "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 32, locStartCol = 6, locEndLine = 32, locEndCol = 19}",
                "name": "Number_Pseudo"
            },
            {
                "constants": [
                    {
                        "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 38, locStartCol = 3, locEndLine = 38, locEndCol = 7}",
                        "name": "Five",
                        "value": 5
                    },
                    {
                        "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 39, locStartCol = 3, locEndLine = 39, locEndCol = 7}",
                        "name": "Zero",
                        "value": 0
                    }
                ],
                "flavour": "sum_type",
                "loc_keyword": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 37, locStartCol = 1, locEndLine = 37, locEndCol = 5}",
                "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 37, locStartCol = 6, locEndLine = 37, locEndCol = 26}",
                "name": "Number_Discontinuous"
            },
            {
                "constants": [],
                "flavour": "sum_type",
                "loc_keyword": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 42, locStartCol = 1, locEndLine = 42, locEndCol = 5}",
                "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 42, locStartCol = 6, locEndLine = 42, locEndCol = 18}",
                "name": "Number_Empty"
            }
        ],
        "includes": [],
        "name": "b",
        "options": {
            "genfiles": null,
            "include_path": ".",
            "out_path": "test/fixtures/gen-single-out-loc",
            "path": "test/if/a.thrift",
            "recursive": true
        },
        "path": "test/if/b.thrift",
        "services": [],
        "structs": [
            {
                "fields": [
                    {
                        "default_value": {
                            "literal": {
                                "type": "i16",
                                "value": 1
                            }
                        },
                        "id": 1,
                        "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 10, locStartCol = 10, locEndLine = 10, locEndCol = 11}",
                        "name": "a",
                        "requiredness": "default",
                        "type": {
                            "type": "i16"
                        },
                        "xref": []
                    },
                    {
                        "id": 2,
                        "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 11, locStartCol = 10, locEndLine = 11, locEndCol = 11}",
                        "name": "b",
                        "requiredness": "default",
                        "type": {
                            "type": "i32"
                        },
                        "xref": []
                    },
                    {
                        "id": 3,
                        "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 12, locStartCol = 10, locEndLine = 12, locEndCol = 11}",
                        "name": "c",
                        "requiredness": "default",
                        "type": {
                            "type": "i64"
                        },
                        "xref": []
                    }
                ],
                "loc_keyword": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 9, locStartCol = 1, locEndLine = 9, locEndCol = 7}",
                "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 9, locStartCol = 8, locEndLine = 9, locEndCol = 9}",
                "name": "B",
                "struct_type": "STRUCT"
            },
            {
                "fields": [
                    {
                        "id": 1,
                        "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 16, locStartCol = 19, locEndLine = 16, locEndCol = 20}",
                        "name": "x",
                        "requiredness": "default",
                        "type": {
                            "inner_type": {
                                "loc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 21, locStartCol = 6, locEndLine = 21, locEndCol = 12}",
                                "name": {
                                    "name": "Number"
                                },
                                "type": "enum"
                            },
                            "type": "list"
                        },
                        "xref": [
                            {
                                "aLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 16, locStartCol = 11, locEndLine = 16, locEndCol = 17}",
                                "rLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 21, locStartCol = 6, locEndLine = 21, locEndCol = 12}"
                            }
                        ]
                    },
                    {
                        "id": 2,
                        "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 17, locStartCol = 26, locEndLine = 17, locEndCol = 27}",
                        "name": "y",
                        "requiredness": "default",
                        "type": {
                            "inner_type": {
                                "loc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 28, locStartCol = 6, locEndLine = 28, locEndCol = 19}",
                                "name": {
                                    "name": "Number_Strict"
                                },
                                "type": "enum"
                            },
                            "type": "list"
                        },
                        "xref": [
                            {
                                "aLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 17, locStartCol = 11, locEndLine = 17, locEndCol = 24}",
                                "rLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 28, locStartCol = 6, locEndLine = 28, locEndCol = 19}"
                            }
                        ]
                    },
                    {
                        "id": 3,
                        "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 18, locStartCol = 8, locEndLine = 18, locEndCol = 9}",
                        "name": "z",
                        "requiredness": "default",
                        "type": {
                            "loc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 9, locStartCol = 8, locEndLine = 9, locEndCol = 9}",
                            "name": {
                                "name": "B"
                            },
                            "type": "struct"
                        },
                        "xref": [
                            {
                                "aLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 18, locStartCol = 6, locEndLine = 18, locEndCol = 7}",
                                "rLoc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 9, locStartCol = 8, locEndLine = 9, locEndCol = 9}"
                            }
                        ]
                    }
                ],
                "loc_keyword": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 15, locStartCol = 1, locEndLine = 15, locEndCol = 7}",
                "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 15, locStartCol = 8, locEndLine = 15, locEndCol = 9}",
                "name": "C",
                "struct_type": "STRUCT"
            }
        ],
        "typedefs": [
            {
                "ann_type": {
                    "anns": null,
                    "loc": [
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 45, locStartCol = 9, locEndLine = 45, locEndCol = 12}"
                    ],
                    "type": {
                        "type": "i64"
                    }
                },
                "anns": {
                    "loc_ann_list": [
                        {
                            "ann_tag": "hs.newtype",
                            "ann_type": "SimpleAnn",
                            "loc": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 45, locStartCol = 18, locEndLine = 45, locEndCol = 28}",
                            "sep": {
                                "sep_type": "NoSep"
                            }
                        }
                    ],
                    "loc_close": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 45, locStartCol = 28, locEndLine = 45, locEndCol = 29}",
                    "loc_open": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 45, locStartCol = 17, locEndLine = 45, locEndCol = 18}"
                },
                "loc_keyword": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 45, locStartCol = 1, locEndLine = 45, locEndCol = 8}",
                "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 45, locStartCol = 13, locEndLine = 45, locEndCol = 16}",
                "name": "Int",
                "newtype": true,
                "type": {
                    "type": "i64"
                },
                "xref": []
            },
            {
                "ann_type": {
                    "anns": {
                        "loc_ann_list": [
                            {
                                "ann_type": "ValueAnn",
                                "loc_equal": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 80, locStartCol = 38, locEndLine = 80, locEndCol = 39}",
                                "loc_tag": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 80, locStartCol = 30, locEndLine = 80, locEndCol = 37}",
                                "loc_val": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 80, locStartCol = 40, locEndLine = 80, locEndCol = 49}",
                                "sep": {
                                    "sep_type": "NoSep"
                                },
                                "tag": "hs.type",
                                "val": {
                                    "ann_value_type": "TextAnn",
                                    "q": "DoubleQuote",
                                    "t": "HashMap"
                                }
                            }
                        ],
                        "loc_close": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 80, locStartCol = 49, locEndLine = 80, locEndCol = 50}",
                        "loc_open": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 80, locStartCol = 29, locEndLine = 80, locEndCol = 30}"
                    },
                    "loc": [
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 80, locStartCol = 9, locEndLine = 80, locEndCol = 12}",
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 80, locStartCol = 12, locEndLine = 80, locEndCol = 13}",
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 80, locStartCol = 19, locEndLine = 80, locEndCol = 20}",
                        "Loc {locFile = \"test/if/b.thrift\", locStartLine = 80, locStartCol = 27, locEndLine = 80, locEndCol = 28}"
                    ],
                    "type": {
                        "key_type": {
                            "anns": null,
                            "loc": [
                                "Loc {locFile = \"test/if/b.thrift\", locStartLine = 80, locStartCol = 13, locEndLine = 80, locEndCol = 19}"
                            ],
                            "type": {
                                "type": "string"
                            }
                        },
                        "type": "map",
                        "val_type": {
                            "anns": null,
                            "loc": [
                                "Loc {locFile = \"test/if/b.thrift\", locStartLine = 80, locStartCol = 21, locEndLine = 80, locEndCol = 27}"
                            ],
                            "type": {
                                "type": "string"
                            }
                        }
                    }
                },
                "anns": null,
                "loc_keyword": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 80, locStartCol = 1, locEndLine = 80, locEndCol = 8}",
                "loc_name": "Loc {locFile = \"test/if/b.thrift\", locStartLine = 80, locStartCol = 51, locEndLine = 80, locEndCol = 73}",
                "name": "map_string_string_6258",
                "newtype": false,
                "type": {
                    "key_type": {
                        "type": "string"
                    },
                    "type": "map",
                    "val_type": {
                        "type": "string"
                    }
                },
                "xref": []
            }
        ],
        "unions": []
    }
]