Schema {
    sources: {
        1: SourceFile {
            path: "built_in.graphql",
            source_text: include_str!("built_in.graphql"),
        },
        23: SourceFile {
            path: "0021_merge_identical_fields_with_arguments.graphql",
            source_text: "enum DogCommand {\n  SIT\n  HEEL\n}\n\ntype Dog {\n  doesKnowCommand(dogCommand: DogCommand): Boolean\n}\n\ntype Query {\n  pet: Dog\n}\n\nquery queryPupper {\n  pet {\n    ...mergeIdenticalFieldsWithIdenticalArgs\n  }\n}\n\nquery queryPupperAgain($dogCommand: DogCommand) {\n  pet {\n    ...mergeIdenticalFieldsWithIdenticalValues\n  }\n}\n\nfragment mergeIdenticalFieldsWithIdenticalArgs on Dog {\n  doesKnowCommand(dogCommand: SIT)\n  doesKnowCommand(dogCommand: SIT)\n}\n\nfragment mergeIdenticalFieldsWithIdenticalValues on Dog {\n  doesKnowCommand(dogCommand: $dogCommand)\n  doesKnowCommand(dogCommand: $dogCommand)\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"),
        "String": built_in_type!("String"),
        "Boolean": built_in_type!("Boolean"),
        "DogCommand": Enum(
            0..32 @23 EnumType {
                description: None,
                name: "DogCommand",
                directives: [],
                values: {
                    "SIT": Component {
                        origin: Definition,
                        node: 20..23 @23 EnumValueDefinition {
                            description: None,
                            value: "SIT",
                            directives: [],
                        },
                    },
                    "HEEL": Component {
                        origin: Definition,
                        node: 26..30 @23 EnumValueDefinition {
                            description: None,
                            value: "HEEL",
                            directives: [],
                        },
                    },
                },
            },
        ),
        "Dog": Object(
            34..97 @23 ObjectType {
                description: None,
                name: "Dog",
                implements_interfaces: {},
                directives: [],
                fields: {
                    "doesKnowCommand": Component {
                        origin: Definition,
                        node: 47..95 @23 FieldDefinition {
                            description: None,
                            name: "doesKnowCommand",
                            arguments: [
                                63..85 @23 InputValueDefinition {
                                    description: None,
                                    name: "dogCommand",
                                    ty: 75..85 @23 Named(
                                        "DogCommand",
                                    ),
                                    default_value: None,
                                    directives: [],
                                },
                            ],
                            ty: Named(
                                "Boolean",
                            ),
                            directives: [],
                        },
                    },
                },
            },
        ),
        "Query": Object(
            99..124 @23 ObjectType {
                description: None,
                name: "Query",
                implements_interfaces: {},
                directives: [],
                fields: {
                    "pet": Component {
                        origin: Definition,
                        node: 114..122 @23 FieldDefinition {
                            description: None,
                            name: "pet",
                            arguments: [],
                            ty: Named(
                                "Dog",
                            ),
                            directives: [],
                        },
                    },
                },
            },
        ),
    },
}
ExecutableDocument {
    sources: {
        1: SourceFile {
            path: "built_in.graphql",
            source_text: include_str!("built_in.graphql"),
        },
        23: SourceFile {
            path: "0021_merge_identical_fields_with_arguments.graphql",
            source_text: "enum DogCommand {\n  SIT\n  HEEL\n}\n\ntype Dog {\n  doesKnowCommand(dogCommand: DogCommand): Boolean\n}\n\ntype Query {\n  pet: Dog\n}\n\nquery queryPupper {\n  pet {\n    ...mergeIdenticalFieldsWithIdenticalArgs\n  }\n}\n\nquery queryPupperAgain($dogCommand: DogCommand) {\n  pet {\n    ...mergeIdenticalFieldsWithIdenticalValues\n  }\n}\n\nfragment mergeIdenticalFieldsWithIdenticalArgs on Dog {\n  doesKnowCommand(dogCommand: SIT)\n  doesKnowCommand(dogCommand: SIT)\n}\n\nfragment mergeIdenticalFieldsWithIdenticalValues on Dog {\n  doesKnowCommand(dogCommand: $dogCommand)\n  doesKnowCommand(dogCommand: $dogCommand)\n}\n",
        },
    },
    operations: OperationMap {
        anonymous: None,
        named: {
            "queryPupper": 126..204 @23 Operation {
                operation_type: Query,
                name: Some(
                    "queryPupper",
                ),
                variables: [],
                directives: [],
                selection_set: SelectionSet {
                    ty: "Query",
                    selections: [
                        Field(
                            148..202 @23 Field {
                                definition: 114..122 @23 FieldDefinition {
                                    description: None,
                                    name: "pet",
                                    arguments: [],
                                    ty: Named(
                                        "Dog",
                                    ),
                                    directives: [],
                                },
                                alias: None,
                                name: "pet",
                                arguments: [],
                                directives: [],
                                selection_set: SelectionSet {
                                    ty: "Dog",
                                    selections: [
                                        FragmentSpread(
                                            158..198 @23 FragmentSpread {
                                                fragment_name: "mergeIdenticalFieldsWithIdenticalArgs",
                                                directives: [],
                                            },
                                        ),
                                    ],
                                },
                            },
                        ),
                    ],
                },
            },
            "queryPupperAgain": 206..316 @23 Operation {
                operation_type: Query,
                name: Some(
                    "queryPupperAgain",
                ),
                variables: [
                    229..252 @23 VariableDefinition {
                        name: "dogCommand",
                        ty: 242..252 @23 Named(
                            "DogCommand",
                        ),
                        default_value: None,
                        directives: [],
                    },
                ],
                directives: [],
                selection_set: SelectionSet {
                    ty: "Query",
                    selections: [
                        Field(
                            258..314 @23 Field {
                                definition: 114..122 @23 FieldDefinition {
                                    description: None,
                                    name: "pet",
                                    arguments: [],
                                    ty: Named(
                                        "Dog",
                                    ),
                                    directives: [],
                                },
                                alias: None,
                                name: "pet",
                                arguments: [],
                                directives: [],
                                selection_set: SelectionSet {
                                    ty: "Dog",
                                    selections: [
                                        FragmentSpread(
                                            268..310 @23 FragmentSpread {
                                                fragment_name: "mergeIdenticalFieldsWithIdenticalValues",
                                                directives: [],
                                            },
                                        ),
                                    ],
                                },
                            },
                        ),
                    ],
                },
            },
        },
    },
    fragments: {
        "mergeIdenticalFieldsWithIdenticalArgs": 318..445 @23 Fragment {
            name: "mergeIdenticalFieldsWithIdenticalArgs",
            directives: [],
            selection_set: SelectionSet {
                ty: "Dog",
                selections: [
                    Field(
                        376..408 @23 Field {
                            definition: 47..95 @23 FieldDefinition {
                                description: None,
                                name: "doesKnowCommand",
                                arguments: [
                                    63..85 @23 InputValueDefinition {
                                        description: None,
                                        name: "dogCommand",
                                        ty: 75..85 @23 Named(
                                            "DogCommand",
                                        ),
                                        default_value: None,
                                        directives: [],
                                    },
                                ],
                                ty: Named(
                                    "Boolean",
                                ),
                                directives: [],
                            },
                            alias: None,
                            name: "doesKnowCommand",
                            arguments: [
                                392..407 @23 Argument {
                                    name: "dogCommand",
                                    value: 404..407 @23 Enum(
                                        "SIT",
                                    ),
                                },
                            ],
                            directives: [],
                            selection_set: SelectionSet {
                                ty: "Boolean",
                                selections: [],
                            },
                        },
                    ),
                    Field(
                        411..443 @23 Field {
                            definition: 47..95 @23 FieldDefinition {
                                description: None,
                                name: "doesKnowCommand",
                                arguments: [
                                    63..85 @23 InputValueDefinition {
                                        description: None,
                                        name: "dogCommand",
                                        ty: 75..85 @23 Named(
                                            "DogCommand",
                                        ),
                                        default_value: None,
                                        directives: [],
                                    },
                                ],
                                ty: Named(
                                    "Boolean",
                                ),
                                directives: [],
                            },
                            alias: None,
                            name: "doesKnowCommand",
                            arguments: [
                                427..442 @23 Argument {
                                    name: "dogCommand",
                                    value: 439..442 @23 Enum(
                                        "SIT",
                                    ),
                                },
                            ],
                            directives: [],
                            selection_set: SelectionSet {
                                ty: "Boolean",
                                selections: [],
                            },
                        },
                    ),
                ],
            },
        },
        "mergeIdenticalFieldsWithIdenticalValues": 447..592 @23 Fragment {
            name: "mergeIdenticalFieldsWithIdenticalValues",
            directives: [],
            selection_set: SelectionSet {
                ty: "Dog",
                selections: [
                    Field(
                        507..547 @23 Field {
                            definition: 47..95 @23 FieldDefinition {
                                description: None,
                                name: "doesKnowCommand",
                                arguments: [
                                    63..85 @23 InputValueDefinition {
                                        description: None,
                                        name: "dogCommand",
                                        ty: 75..85 @23 Named(
                                            "DogCommand",
                                        ),
                                        default_value: None,
                                        directives: [],
                                    },
                                ],
                                ty: Named(
                                    "Boolean",
                                ),
                                directives: [],
                            },
                            alias: None,
                            name: "doesKnowCommand",
                            arguments: [
                                523..546 @23 Argument {
                                    name: "dogCommand",
                                    value: 535..546 @23 Variable(
                                        "dogCommand",
                                    ),
                                },
                            ],
                            directives: [],
                            selection_set: SelectionSet {
                                ty: "Boolean",
                                selections: [],
                            },
                        },
                    ),
                    Field(
                        550..590 @23 Field {
                            definition: 47..95 @23 FieldDefinition {
                                description: None,
                                name: "doesKnowCommand",
                                arguments: [
                                    63..85 @23 InputValueDefinition {
                                        description: None,
                                        name: "dogCommand",
                                        ty: 75..85 @23 Named(
                                            "DogCommand",
                                        ),
                                        default_value: None,
                                        directives: [],
                                    },
                                ],
                                ty: Named(
                                    "Boolean",
                                ),
                                directives: [],
                            },
                            alias: None,
                            name: "doesKnowCommand",
                            arguments: [
                                566..589 @23 Argument {
                                    name: "dogCommand",
                                    value: 578..589 @23 Variable(
                                        "dogCommand",
                                    ),
                                },
                            ],
                            directives: [],
                            selection_set: SelectionSet {
                                ty: "Boolean",
                                selections: [],
                            },
                        },
                    ),
                ],
            },
        },
    },
}
