Schema {
    sources: {
        1: SourceFile {
            path: "built_in.graphql",
            source_text: include_str!("built_in.graphql"),
        },
        20: SourceFile {
            path: "0018_non_clashing_names.graphql",
            source_text: "# Types, directives, fragments, and operations each have their own namespace.\ntype A @A {\n  a: Int\n}\ntype Query {\n  a: A\n}\n\ndirective @A on OBJECT\n\nfragment A on A {\n  a\n}\n\nquery A {\n  a {\n    ...A\n  }\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"),
        "A": 124..146 @20 DirectiveDefinition {
            description: None,
            name: "A",
            arguments: [],
            repeatable: false,
            locations: [
                "OBJECT",
            ],
        },
    },
    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"),
        "A": Object(
            78..100 @20 ObjectType {
                description: None,
                name: "A",
                implements_interfaces: {},
                directives: [
                    Component {
                        origin: Definition,
                        node: 85..87 @20 Directive {
                            name: "A",
                            arguments: [],
                        },
                    },
                ],
                fields: {
                    "a": Component {
                        origin: Definition,
                        node: 92..98 @20 FieldDefinition {
                            description: None,
                            name: "a",
                            arguments: [],
                            ty: Named(
                                "Int",
                            ),
                            directives: [],
                        },
                    },
                },
            },
        ),
        "Query": Object(
            101..122 @20 ObjectType {
                description: None,
                name: "Query",
                implements_interfaces: {},
                directives: [],
                fields: {
                    "a": Component {
                        origin: Definition,
                        node: 116..120 @20 FieldDefinition {
                            description: None,
                            name: "a",
                            arguments: [],
                            ty: Named(
                                "A",
                            ),
                            directives: [],
                        },
                    },
                },
            },
        ),
    },
}
ExecutableDocument {
    sources: {
        1: SourceFile {
            path: "built_in.graphql",
            source_text: include_str!("built_in.graphql"),
        },
        20: SourceFile {
            path: "0018_non_clashing_names.graphql",
            source_text: "# Types, directives, fragments, and operations each have their own namespace.\ntype A @A {\n  a: Int\n}\ntype Query {\n  a: A\n}\n\ndirective @A on OBJECT\n\nfragment A on A {\n  a\n}\n\nquery A {\n  a {\n    ...A\n  }\n}\n",
        },
    },
    operations: OperationMap {
        anonymous: None,
        named: {
            "A": 173..203 @20 Operation {
                operation_type: Query,
                name: Some(
                    "A",
                ),
                variables: [],
                directives: [],
                selection_set: SelectionSet {
                    ty: "Query",
                    selections: [
                        Field(
                            185..201 @20 Field {
                                definition: 116..120 @20 FieldDefinition {
                                    description: None,
                                    name: "a",
                                    arguments: [],
                                    ty: Named(
                                        "A",
                                    ),
                                    directives: [],
                                },
                                alias: None,
                                name: "a",
                                arguments: [],
                                directives: [],
                                selection_set: SelectionSet {
                                    ty: "A",
                                    selections: [
                                        FragmentSpread(
                                            193..197 @20 FragmentSpread {
                                                fragment_name: "A",
                                                directives: [],
                                            },
                                        ),
                                    ],
                                },
                            },
                        ),
                    ],
                },
            },
        },
    },
    fragments: {
        "A": 148..171 @20 Fragment {
            name: "A",
            directives: [],
            selection_set: SelectionSet {
                ty: "A",
                selections: [
                    Field(
                        168..169 @20 Field {
                            definition: 92..98 @20 FieldDefinition {
                                description: None,
                                name: "a",
                                arguments: [],
                                ty: Named(
                                    "Int",
                                ),
                                directives: [],
                            },
                            alias: None,
                            name: "a",
                            arguments: [],
                            directives: [],
                            selection_set: SelectionSet {
                                ty: "Int",
                                selections: [],
                            },
                        },
                    ),
                ],
            },
        },
    },
}
