packages feed

thrift-compiler-0.1.0.1: test/fixtures/gen-basic/a.ast

{
    "consts": [
        {
            "name": "a",
            "type": {
                "inner_type": {
                    "type": "i64"
                },
                "name": {
                    "name": "T"
                },
                "type": "typedef"
            },
            "value": {
                "named_constant": {
                    "name": "i64_value",
                    "src": "b"
                }
            }
        },
        {
            "name": "u",
            "type": {
                "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"
                                        }
                                    }
                                ]
                            }
                        }
                    }
                }
            }
        },
        {
            "name": "b",
            "type": {
                "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"
                                }
                            }
                        }
                    ]
                }
            }
        },
        {
            "name": "default_d",
            "type": {
                "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
                            }
                        }
                    ]
                }
            }
        },
        {
            "name": "zero",
            "type": {
                "name": {
                    "name": "Number",
                    "src": "b"
                },
                "type": "enum"
            },
            "value": {
                "literal": {
                    "type": "enum",
                    "value": {
                        "name": "Zero",
                        "src": "b"
                    }
                }
            }
        }
    ],
    "enums": [],
    "includes": [
        "test/if/b.thrift"
    ],
    "name": "a",
    "options": {
        "genfiles": null,
        "include_path": ".",
        "out_path": "test/fixtures/gen-basic",
        "path": "test/if/a.thrift",
        "recursive": true
    },
    "path": "test/if/a.thrift",
    "services": [
        {
            "functions": [
                {
                    "args": [
                        {
                            "id": 1,
                            "name": "x",
                            "type": {
                                "type": "i32"
                            }
                        }
                    ],
                    "name": "getNumber",
                    "oneway": false,
                    "return_type": {
                        "name": {
                            "name": "Number",
                            "src": "b"
                        },
                        "type": "enum"
                    },
                    "throws": []
                },
                {
                    "args": [],
                    "name": "doNothing",
                    "oneway": false,
                    "return_type": {
                        "type": "void"
                    },
                    "throws": [
                        {
                            "id": 1,
                            "name": "ex",
                            "type": {
                                "name": {
                                    "name": "X"
                                },
                                "type": "exception"
                            }
                        }
                    ]
                }
            ],
            "name": "S"
        },
        {
            "functions": [],
            "name": "ParentService"
        },
        {
            "functions": [
                {
                    "args": [],
                    "name": "foo",
                    "oneway": false,
                    "return_type": {
                        "type": "i32"
                    },
                    "throws": []
                }
            ],
            "name": "ChildService",
            "super": {
                "name": "ParentService"
            }
        }
    ],
    "structs": [
        {
            "fields": [
                {
                    "default_value": {
                        "named_constant": {
                            "name": "a"
                        }
                    },
                    "id": 1,
                    "name": "a",
                    "requiredness": "default",
                    "type": {
                        "inner_type": {
                            "type": "i64"
                        },
                        "name": {
                            "name": "T"
                        },
                        "type": "typedef"
                    }
                },
                {
                    "default_value": {
                        "named_constant": {
                            "name": "bool_value",
                            "src": "b"
                        }
                    },
                    "id": 3,
                    "name": "c",
                    "requiredness": "default",
                    "type": {
                        "type": "bool"
                    }
                },
                {
                    "id": 4,
                    "name": "d",
                    "requiredness": "default",
                    "type": {
                        "inner_type": {
                            "inner_type": {
                                "type": "i32"
                            },
                            "type": "list"
                        },
                        "type": "list"
                    }
                },
                {
                    "id": 5,
                    "name": "e",
                    "requiredness": "default",
                    "type": {
                        "key_type": {
                            "type": "i32"
                        },
                        "type": "map",
                        "val_type": {
                            "type": "string"
                        }
                    }
                },
                {
                    "default_value": {
                        "literal": {
                            "type": "enum",
                            "value": {
                                "name": "Two",
                                "src": "b"
                            }
                        }
                    },
                    "id": 6,
                    "name": "f",
                    "requiredness": "default",
                    "type": {
                        "name": {
                            "name": "Number",
                            "src": "b"
                        },
                        "type": "enum"
                    }
                },
                {
                    "id": 7,
                    "name": "g",
                    "requiredness": "optional",
                    "type": {
                        "type": "string"
                    }
                },
                {
                    "id": 8,
                    "name": "h",
                    "requiredness": "required",
                    "type": {
                        "type": "string"
                    }
                }
            ],
            "name": "A",
            "struct_type": "STRUCT"
        },
        {
            "fields": [
                {
                    "id": 1,
                    "name": "reason",
                    "requiredness": "default",
                    "type": {
                        "type": "string"
                    }
                }
            ],
            "name": "X",
            "struct_type": "EXCEPTION"
        }
    ],
    "typedefs": [
        {
            "name": "T",
            "newtype": false,
            "type": {
                "type": "i64"
            }
        }
    ],
    "unions": [
        {
            "fields": [
                {
                    "id": 1,
                    "name": "x",
                    "type": {
                        "type": "byte"
                    }
                },
                {
                    "id": 2,
                    "name": "y",
                    "type": {
                        "inner_type": {
                            "type": "string"
                        },
                        "type": "list"
                    }
                },
                {
                    "id": 3,
                    "name": "z",
                    "type": {
                        "inner_type": {
                            "type": "i64"
                        },
                        "type": "set"
                    }
                }
            ],
            "name": "U"
        }
    ]
}