Schema {
    sources: {
        1: SourceFile {
            path: "built_in.graphql",
            source_text: include_str!("built_in.graphql"),
        },
        15: SourceFile {
            path: "0013_operation_with_used_variable_in_fragment.graphql",
            source_text: "query ExampleQuery($variable: Int) {\n  topProducts {\n    name\n  }\n  ... subFrag\n}\n\nfragment subFrag on Query {\n  topProducts {\n    price(setPrice: $variable)\n  }\n}\n\ntype Query {\n  topProducts(first: Int): Product,\n  reviews: Review\n}\n\ntype Review {\n  message: Message\n}\n\ntype Message {\n  body: String\n  sender(attribute: String): String\n}\n\ntype Product {\n  name: String\n  price(setPrice: Int): Int\n}\n",
        },
    },
    schema_definition: SchemaDefinition {
        description: None,
        directives: [],
        query: Some(
            ComponentName {
                origin: Definition,
                name: "Query",
            },
        ),
        mutation: None,
        subscription: None,
    },
    directive_definitions: {
        "skip": built_in_directive!("skip"),
        "include": built_in_directive!("include"),
        "deprecated": built_in_directive!("deprecated"),
        "specifiedBy": built_in_directive!("specifiedBy"),
    },
    types: {
        "__Schema": built_in_type!("__Schema"),
        "__Type": built_in_type!("__Type"),
        "__TypeKind": built_in_type!("__TypeKind"),
        "__Field": built_in_type!("__Field"),
        "__InputValue": built_in_type!("__InputValue"),
        "__EnumValue": built_in_type!("__EnumValue"),
        "__Directive": built_in_type!("__Directive"),
        "__DirectiveLocation": built_in_type!("__DirectiveLocation"),
        "Int": built_in_type!("Int"),
        "String": built_in_type!("String"),
        "Boolean": built_in_type!("Boolean"),
        "Query": Object(
            165..233 @15 ObjectType {
                description: None,
                name: "Query",
                implements_interfaces: {},
                directives: [],
                fields: {
                    "topProducts": Component {
                        origin: Definition,
                        node: 180..212 @15 FieldDefinition {
                            description: None,
                            name: "topProducts",
                            arguments: [
                                192..202 @15 InputValueDefinition {
                                    description: None,
                                    name: "first",
                                    ty: 199..202 @15 Named(
                                        "Int",
                                    ),
                                    default_value: None,
                                    directives: [],
                                },
                            ],
                            ty: Named(
                                "Product",
                            ),
                            directives: [],
                        },
                    },
                    "reviews": Component {
                        origin: Definition,
                        node: 216..231 @15 FieldDefinition {
                            description: None,
                            name: "reviews",
                            arguments: [],
                            ty: Named(
                                "Review",
                            ),
                            directives: [],
                        },
                    },
                },
            },
        ),
        "Review": Object(
            235..269 @15 ObjectType {
                description: None,
                name: "Review",
                implements_interfaces: {},
                directives: [],
                fields: {
                    "message": Component {
                        origin: Definition,
                        node: 251..267 @15 FieldDefinition {
                            description: None,
                            name: "message",
                            arguments: [],
                            ty: Named(
                                "Message",
                            ),
                            directives: [],
                        },
                    },
                },
            },
        ),
        "Message": Object(
            271..338 @15 ObjectType {
                description: None,
                name: "Message",
                implements_interfaces: {},
                directives: [],
                fields: {
                    "body": Component {
                        origin: Definition,
                        node: 288..300 @15 FieldDefinition {
                            description: None,
                            name: "body",
                            arguments: [],
                            ty: Named(
                                "String",
                            ),
                            directives: [],
                        },
                    },
                    "sender": Component {
                        origin: Definition,
                        node: 303..336 @15 FieldDefinition {
                            description: None,
                            name: "sender",
                            arguments: [
                                310..327 @15 InputValueDefinition {
                                    description: None,
                                    name: "attribute",
                                    ty: 321..327 @15 Named(
                                        "String",
                                    ),
                                    default_value: None,
                                    directives: [],
                                },
                            ],
                            ty: Named(
                                "String",
                            ),
                            directives: [],
                        },
                    },
                },
            },
        ),
        "Product": Object(
            340..399 @15 ObjectType {
                description: None,
                name: "Product",
                implements_interfaces: {},
                directives: [],
                fields: {
                    "name": Component {
                        origin: Definition,
                        node: 357..369 @15 FieldDefinition {
                            description: None,
                            name: "name",
                            arguments: [],
                            ty: Named(
                                "String",
                            ),
                            directives: [],
                        },
                    },
                    "price": Component {
                        origin: Definition,
                        node: 372..397 @15 FieldDefinition {
                            description: None,
                            name: "price",
                            arguments: [
                                378..391 @15 InputValueDefinition {
                                    description: None,
                                    name: "setPrice",
                                    ty: 388..391 @15 Named(
                                        "Int",
                                    ),
                                    default_value: None,
                                    directives: [],
                                },
                            ],
                            ty: Named(
                                "Int",
                            ),
                            directives: [],
                        },
                    },
                },
            },
        ),
    },
}
ExecutableDocument {
    sources: {
        1: SourceFile {
            path: "built_in.graphql",
            source_text: include_str!("built_in.graphql"),
        },
        15: SourceFile {
            path: "0013_operation_with_used_variable_in_fragment.graphql",
            source_text: "query ExampleQuery($variable: Int) {\n  topProducts {\n    name\n  }\n  ... subFrag\n}\n\nfragment subFrag on Query {\n  topProducts {\n    price(setPrice: $variable)\n  }\n}\n\ntype Query {\n  topProducts(first: Int): Product,\n  reviews: Review\n}\n\ntype Review {\n  message: Message\n}\n\ntype Message {\n  body: String\n  sender(attribute: String): String\n}\n\ntype Product {\n  name: String\n  price(setPrice: Int): Int\n}\n",
        },
    },
    operations: OperationMap {
        anonymous: None,
        named: {
            "ExampleQuery": 0..81 @15 Operation {
                operation_type: Query,
                name: Some(
                    "ExampleQuery",
                ),
                variables: [
                    19..33 @15 VariableDefinition {
                        name: "variable",
                        ty: 30..33 @15 Named(
                            "Int",
                        ),
                        default_value: None,
                        directives: [],
                    },
                ],
                directives: [],
                selection_set: SelectionSet {
                    ty: "Query",
                    selections: [
                        Field(
                            39..65 @15 Field {
                                definition: 180..212 @15 FieldDefinition {
                                    description: None,
                                    name: "topProducts",
                                    arguments: [
                                        192..202 @15 InputValueDefinition {
                                            description: None,
                                            name: "first",
                                            ty: 199..202 @15 Named(
                                                "Int",
                                            ),
                                            default_value: None,
                                            directives: [],
                                        },
                                    ],
                                    ty: Named(
                                        "Product",
                                    ),
                                    directives: [],
                                },
                                alias: None,
                                name: "topProducts",
                                arguments: [],
                                directives: [],
                                selection_set: SelectionSet {
                                    ty: "Product",
                                    selections: [
                                        Field(
                                            57..61 @15 Field {
                                                definition: 357..369 @15 FieldDefinition {
                                                    description: None,
                                                    name: "name",
                                                    arguments: [],
                                                    ty: Named(
                                                        "String",
                                                    ),
                                                    directives: [],
                                                },
                                                alias: None,
                                                name: "name",
                                                arguments: [],
                                                directives: [],
                                                selection_set: SelectionSet {
                                                    ty: "String",
                                                    selections: [],
                                                },
                                            },
                                        ),
                                    ],
                                },
                            },
                        ),
                        FragmentSpread(
                            68..79 @15 FragmentSpread {
                                fragment_name: "subFrag",
                                directives: [],
                            },
                        ),
                    ],
                },
            },
        },
    },
    fragments: {
        "subFrag": 83..163 @15 Fragment {
            name: "subFrag",
            directives: [],
            selection_set: SelectionSet {
                ty: "Query",
                selections: [
                    Field(
                        113..161 @15 Field {
                            definition: 180..212 @15 FieldDefinition {
                                description: None,
                                name: "topProducts",
                                arguments: [
                                    192..202 @15 InputValueDefinition {
                                        description: None,
                                        name: "first",
                                        ty: 199..202 @15 Named(
                                            "Int",
                                        ),
                                        default_value: None,
                                        directives: [],
                                    },
                                ],
                                ty: Named(
                                    "Product",
                                ),
                                directives: [],
                            },
                            alias: None,
                            name: "topProducts",
                            arguments: [],
                            directives: [],
                            selection_set: SelectionSet {
                                ty: "Product",
                                selections: [
                                    Field(
                                        131..157 @15 Field {
                                            definition: 372..397 @15 FieldDefinition {
                                                description: None,
                                                name: "price",
                                                arguments: [
                                                    378..391 @15 InputValueDefinition {
                                                        description: None,
                                                        name: "setPrice",
                                                        ty: 388..391 @15 Named(
                                                            "Int",
                                                        ),
                                                        default_value: None,
                                                        directives: [],
                                                    },
                                                ],
                                                ty: Named(
                                                    "Int",
                                                ),
                                                directives: [],
                                            },
                                            alias: None,
                                            name: "price",
                                            arguments: [
                                                137..156 @15 Argument {
                                                    name: "setPrice",
                                                    value: 147..156 @15 Variable(
                                                        "variable",
                                                    ),
                                                },
                                            ],
                                            directives: [],
                                            selection_set: SelectionSet {
                                                ty: "Int",
                                                selections: [],
                                            },
                                        },
                                    ),
                                ],
                            },
                        },
                    ),
                ],
            },
        },
    },
}
