diff --git a/compiler/crates/graphql-ir/src/associated_data.rs b/compiler/crates/graphql-ir/src/associated_data.rs index f1ba2ae230de3..82fc86a97cfd2 100644 --- a/compiler/crates/graphql-ir/src/associated_data.rs +++ b/compiler/crates/graphql-ir/src/associated_data.rs @@ -83,6 +83,8 @@ macro_rules! associated_data_impl { name: $crate::reexport::WithLocation::generated($name::directive_name()), arguments: Vec::new(), data: Some(Box::new(item)), + location: $crate::reexport::WithLocation::generated($name::directive_name()) + .location, } } } diff --git a/compiler/crates/graphql-ir/src/build.rs b/compiler/crates/graphql-ir/src/build.rs index cdce4f1d647b6..2392b1bec3568 100644 --- a/compiler/crates/graphql-ir/src/build.rs +++ b/compiler/crates/graphql-ir/src/build.rs @@ -1381,6 +1381,7 @@ impl<'schema, 'signatures, 'options> Builder<'schema, 'signatures, 'options> { .map(DirectiveName), arguments: vec![], data: None, + location: self.location.with_span(directive.span), }); } let directive_definition = match self @@ -1420,6 +1421,7 @@ impl<'schema, 'signatures, 'options> Builder<'schema, 'signatures, 'options> { ), arguments, data: None, + location: self.location.with_span(directive.span), }) } diff --git a/compiler/crates/graphql-ir/src/ir.rs b/compiler/crates/graphql-ir/src/ir.rs index d12cde91a9a13..a36d632a7ab12 100644 --- a/compiler/crates/graphql-ir/src/ir.rs +++ b/compiler/crates/graphql-ir/src/ir.rs @@ -568,6 +568,7 @@ pub struct Directive { /// to attach arbitrary data on compiler-internal directives, such as to /// pass instructions to code generation. pub data: Option>, + pub location: Location, } impl Named for Directive { type Name = DirectiveName; diff --git a/compiler/crates/graphql-ir/src/signatures.rs b/compiler/crates/graphql-ir/src/signatures.rs index 9cf69cdf67688..c394eaa343125 100644 --- a/compiler/crates/graphql-ir/src/signatures.rs +++ b/compiler/crates/graphql-ir/src/signatures.rs @@ -300,6 +300,7 @@ fn build_fragment_variable_definitions( ), arguments: Vec::new(), data: None, + location: fragment.location.with_span(unused_local_variable_arg.span) }); } @@ -334,6 +335,7 @@ fn build_fragment_variable_definitions( original_variable_name: VariableName(variable_name.value), fragment_source_location: fragment.location.source_location(), })), + location: fragment.location.with_span(provider_arg.span), }); } diff --git a/compiler/crates/graphql-ir/tests/parse/fixtures/argument_definitions.expected b/compiler/crates/graphql-ir/tests/parse/fixtures/argument_definitions.expected index 1650f9ccc3b2c..1f2ea84253390 100644 --- a/compiler/crates/graphql-ir/tests/parse/fixtures/argument_definitions.expected +++ b/compiler/crates/graphql-ir/tests/parse/fixtures/argument_definitions.expected @@ -38,6 +38,7 @@ fragment TestFragment on User }, arguments: [], data: None, + location: :89:102, }, ], }, @@ -80,6 +81,7 @@ fragment TestFragment on User }, arguments: [], data: None, + location: argument_definitions.graphql:32:156, }, ], selections: [ diff --git a/compiler/crates/graphql-ir/tests/parse/fixtures/directive-generic.expected b/compiler/crates/graphql-ir/tests/parse/fixtures/directive-generic.expected index cd17934994ec6..c97f8c7362048 100644 --- a/compiler/crates/graphql-ir/tests/parse/fixtures/directive-generic.expected +++ b/compiler/crates/graphql-ir/tests/parse/fixtures/directive-generic.expected @@ -51,6 +51,7 @@ fragment TestFragment on User { }, ], data: None, + location: directive-generic.graphql:37:64, }, ], }, diff --git a/compiler/crates/graphql-ir/tests/parse/fixtures/fixme_fat_interface_on_union.expected b/compiler/crates/graphql-ir/tests/parse/fixtures/fixme_fat_interface_on_union.expected index 071319caaf86c..62fb1be7d5acc 100644 --- a/compiler/crates/graphql-ir/tests/parse/fixtures/fixme_fat_interface_on_union.expected +++ b/compiler/crates/graphql-ir/tests/parse/fixtures/fixme_fat_interface_on_union.expected @@ -46,6 +46,7 @@ query Test { }, arguments: [], data: None, + location: fixme_fat_interface_on_union.graphql:54:74, }, ], }, diff --git a/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-arguments.expected b/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-arguments.expected index 96624130be666..e54d6a1ac2bb2 100644 --- a/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-arguments.expected +++ b/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-arguments.expected @@ -97,6 +97,7 @@ fragment Foo on User @argumentDefinitions(localId: {type: "ID!"}) { }, arguments: [], data: None, + location: fragment-with-arguments.graphql:32:126, }, ], selections: [ @@ -276,6 +277,7 @@ fragment Foo on User @argumentDefinitions(localId: {type: "ID!"}) { }, arguments: [], data: None, + location: fragment-with-arguments.graphql:298:342, }, ], selections: [ diff --git a/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-literal-arguments.expected b/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-literal-arguments.expected index 8de38bf89f8d1..2d34f687158d2 100644 --- a/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-literal-arguments.expected +++ b/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-literal-arguments.expected @@ -95,6 +95,7 @@ fragment ChildFragment on User }, arguments: [], data: None, + location: fragment-with-literal-arguments.graphql:119:169, }, ], selections: [ diff --git a/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-literal-enum-arguments-into-enum-list.expected b/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-literal-enum-arguments-into-enum-list.expected index 3ab7ce2e7a6da..605fafd1e7d5f 100644 --- a/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-literal-enum-arguments-into-enum-list.expected +++ b/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-literal-enum-arguments-into-enum-list.expected @@ -144,6 +144,7 @@ fragment ChildFragment on User }, arguments: [], data: None, + location: fragment-with-literal-enum-arguments-into-enum-list.graphql:187:248, }, ], selections: [ diff --git a/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-literal-enum-arguments.expected b/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-literal-enum-arguments.expected index 69c3af370caeb..1e26d31763d84 100644 --- a/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-literal-enum-arguments.expected +++ b/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-literal-enum-arguments.expected @@ -136,6 +136,7 @@ fragment ChildFragment on Query }, arguments: [], data: None, + location: fragment-with-literal-enum-arguments.graphql:188:245, }, ], selections: [ diff --git a/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-literal-enum-list-arguments.expected b/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-literal-enum-list-arguments.expected index 3655c9d423b17..8571175d1510e 100644 --- a/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-literal-enum-list-arguments.expected +++ b/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-literal-enum-list-arguments.expected @@ -148,6 +148,7 @@ fragment ChildFragment on User }, arguments: [], data: None, + location: fragment-with-literal-enum-list-arguments.graphql:189:250, }, ], selections: [ diff --git a/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-literal-object-arguments.expected b/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-literal-object-arguments.expected index 73e2d9124cb04..8829dda1ecc79 100644 --- a/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-literal-object-arguments.expected +++ b/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-literal-object-arguments.expected @@ -166,6 +166,7 @@ fragment ChildFragment on Query }, arguments: [], data: None, + location: fragment-with-literal-object-arguments.graphql:205:263, }, ], selections: [ diff --git a/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-literal-object-list-arguments.expected b/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-literal-object-list-arguments.expected index 944c57b367750..bbf510c7e5a2e 100644 --- a/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-literal-object-list-arguments.expected +++ b/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-literal-object-list-arguments.expected @@ -174,6 +174,7 @@ fragment ChildFragment on Query }, arguments: [], data: None, + location: fragment-with-literal-object-list-arguments.graphql:208:270, }, ], selections: [ diff --git a/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-variable-definitions-syntax.expected b/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-variable-definitions-syntax.expected index 2924c81219797..01cb0c4c9d0a7 100644 --- a/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-variable-definitions-syntax.expected +++ b/compiler/crates/graphql-ir/tests/parse/fixtures/fragment-with-variable-definitions-syntax.expected @@ -97,6 +97,7 @@ fragment Foo($localId: ID!) on User { }, arguments: [], data: None, + location: fragment-with-variable-definitions-syntax.graphql:32:126, }, ], selections: [ diff --git a/compiler/crates/graphql-ir/tests/parse/fixtures/fragment_with_arguments_defaulting.expected b/compiler/crates/graphql-ir/tests/parse/fixtures/fragment_with_arguments_defaulting.expected index f0bf71538b832..6fabc5e618945 100644 --- a/compiler/crates/graphql-ir/tests/parse/fixtures/fragment_with_arguments_defaulting.expected +++ b/compiler/crates/graphql-ir/tests/parse/fixtures/fragment_with_arguments_defaulting.expected @@ -57,6 +57,7 @@ fragment F2 on Query @argumentDefinitions( }, arguments: [], data: None, + location: fragment_with_arguments_defaulting.graphql:31:177, }, ], selections: [ @@ -137,6 +138,7 @@ fragment F2 on Query @argumentDefinitions( }, arguments: [], data: None, + location: fragment_with_arguments_defaulting.graphql:248:298, }, ], selections: [ diff --git a/compiler/crates/graphql-ir/tests/parse/fixtures/linked-handle-field-with-filters.expected b/compiler/crates/graphql-ir/tests/parse/fixtures/linked-handle-field-with-filters.expected index 6df3a2daaf27d..c7275d8d045aa 100644 --- a/compiler/crates/graphql-ir/tests/parse/fixtures/linked-handle-field-with-filters.expected +++ b/compiler/crates/graphql-ir/tests/parse/fixtures/linked-handle-field-with-filters.expected @@ -136,6 +136,7 @@ fragment LinkedHandleField on User { }, ], data: None, + location: linked-handle-field-with-filters.graphql:81:151, }, ], selections: [ diff --git a/compiler/crates/graphql-ir/tests/parse/fixtures/linked-handle-field-with-key.expected b/compiler/crates/graphql-ir/tests/parse/fixtures/linked-handle-field-with-key.expected index feddac413f4aa..7b326e1e4f663 100644 --- a/compiler/crates/graphql-ir/tests/parse/fixtures/linked-handle-field-with-key.expected +++ b/compiler/crates/graphql-ir/tests/parse/fixtures/linked-handle-field-with-key.expected @@ -87,6 +87,7 @@ fragment LinkedHandleField on User { }, ], data: None, + location: linked-handle-field-with-key.graphql:62:135, }, ], selections: [ diff --git a/compiler/crates/graphql-ir/tests/parse/fixtures/linked-handle-field.expected b/compiler/crates/graphql-ir/tests/parse/fixtures/linked-handle-field.expected index a394978779c09..19e5f02914ebf 100644 --- a/compiler/crates/graphql-ir/tests/parse/fixtures/linked-handle-field.expected +++ b/compiler/crates/graphql-ir/tests/parse/fixtures/linked-handle-field.expected @@ -72,6 +72,7 @@ fragment LinkedHandleField on User { }, ], data: None, + location: linked-handle-field.graphql:62:101, }, Directive { name: WithLocation { @@ -99,6 +100,7 @@ fragment LinkedHandleField on User { }, ], data: None, + location: linked-handle-field.graphql:106:144, }, ], selections: [ diff --git a/compiler/crates/graphql-ir/tests/parse/fixtures/linked-handle-filter.expected b/compiler/crates/graphql-ir/tests/parse/fixtures/linked-handle-filter.expected index 62bf208fcd2ea..b66a8efc449a8 100644 --- a/compiler/crates/graphql-ir/tests/parse/fixtures/linked-handle-filter.expected +++ b/compiler/crates/graphql-ir/tests/parse/fixtures/linked-handle-filter.expected @@ -92,6 +92,7 @@ fragment LinkedHandleField on User { }, ], data: None, + location: linked-handle-filter.graphql:62:121, }, Directive { name: WithLocation { @@ -119,6 +120,7 @@ fragment LinkedHandleField on User { }, ], data: None, + location: linked-handle-filter.graphql:126:164, }, ], selections: [ diff --git a/compiler/crates/graphql-ir/tests/parse/fixtures/scalar-handle-field.expected b/compiler/crates/graphql-ir/tests/parse/fixtures/scalar-handle-field.expected index 393e304c0b0e0..2657f697a5642 100644 --- a/compiler/crates/graphql-ir/tests/parse/fixtures/scalar-handle-field.expected +++ b/compiler/crates/graphql-ir/tests/parse/fixtures/scalar-handle-field.expected @@ -53,6 +53,7 @@ fragment ScalarHandleField on User { }, ], data: None, + location: scalar-handle-field.graphql:48:84, }, Directive { name: WithLocation { @@ -80,6 +81,7 @@ fragment ScalarHandleField on User { }, ], data: None, + location: scalar-handle-field.graphql:89:126, }, ], }, diff --git a/compiler/crates/graphql-ir/tests/parse_with_extensions/fixtures/custom_scalar_directive_arg_variable.expected b/compiler/crates/graphql-ir/tests/parse_with_extensions/fixtures/custom_scalar_directive_arg_variable.expected index f7f4b0bc02a5d..0bf9ff78d62b5 100644 --- a/compiler/crates/graphql-ir/tests/parse_with_extensions/fixtures/custom_scalar_directive_arg_variable.expected +++ b/compiler/crates/graphql-ir/tests/parse_with_extensions/fixtures/custom_scalar_directive_arg_variable.expected @@ -97,6 +97,7 @@ extend type Query { }, ], data: None, + location: custom_scalar_directive_arg_variable.graphql:116:149, }, ], selections: [ @@ -155,6 +156,7 @@ extend type Query { }, ], data: None, + location: custom_scalar_directive_arg_variable.graphql:204:237, }, ], }, diff --git a/compiler/crates/graphql-ir/tests/parse_with_provider/fixtures/fragment_with_valid_provider.expected b/compiler/crates/graphql-ir/tests/parse_with_provider/fixtures/fragment_with_valid_provider.expected index f151b32076fcf..9f4e66e7f6053 100644 --- a/compiler/crates/graphql-ir/tests/parse_with_provider/fixtures/fragment_with_valid_provider.expected +++ b/compiler/crates/graphql-ir/tests/parse_with_provider/fixtures/fragment_with_valid_provider.expected @@ -92,6 +92,7 @@ fragment TestFragment on User }, }, ), + location: fragment_with_valid_provider.graphql:173:199, }, ], }, @@ -124,6 +125,7 @@ fragment TestFragment on User }, arguments: [], data: None, + location: fragment_with_valid_provider.graphql:32:205, }, ], selections: [ diff --git a/compiler/crates/graphql-ir/tests/parse_with_provider/fixtures/use_fragment_spread_with_provider.expected b/compiler/crates/graphql-ir/tests/parse_with_provider/fixtures/use_fragment_spread_with_provider.expected index 652b76973c9b7..bf6ac02d3f0d2 100644 --- a/compiler/crates/graphql-ir/tests/parse_with_provider/fixtures/use_fragment_spread_with_provider.expected +++ b/compiler/crates/graphql-ir/tests/parse_with_provider/fixtures/use_fragment_spread_with_provider.expected @@ -138,6 +138,7 @@ fragment ChildFragment2 on User }, }, ), + location: use_fragment_spread_with_provider.graphql:247:275, }, ], }, @@ -154,6 +155,7 @@ fragment ChildFragment2 on User }, arguments: [], data: None, + location: use_fragment_spread_with_provider.graphql:141:280, }, ], selections: [ @@ -270,6 +272,7 @@ fragment ChildFragment2 on User }, }, ), + location: use_fragment_spread_with_provider.graphql:487:515, }, ], }, @@ -286,6 +289,7 @@ fragment ChildFragment2 on User }, arguments: [], data: None, + location: use_fragment_spread_with_provider.graphql:414:520, }, ], selections: [ diff --git a/compiler/crates/relay-codegen/tests/request_metadata.rs b/compiler/crates/relay-codegen/tests/request_metadata.rs index 37954f51b02ef..c1b64489d5a4f 100644 --- a/compiler/crates/relay-codegen/tests/request_metadata.rs +++ b/compiler/crates/relay-codegen/tests/request_metadata.rs @@ -60,6 +60,7 @@ pub async fn transform_fixture(fixture: &Fixture<'_>) -> Result ), }], data: None, + location: operation.name.location, }], ..operation.clone() }; diff --git a/compiler/crates/relay-transforms/src/assignable_fragment_spread/annotate_updatable_fragment_spreads.rs b/compiler/crates/relay-transforms/src/assignable_fragment_spread/annotate_updatable_fragment_spreads.rs index 6efc956911c44..7679638e2d095 100644 --- a/compiler/crates/relay-transforms/src/assignable_fragment_spread/annotate_updatable_fragment_spreads.rs +++ b/compiler/crates/relay-transforms/src/assignable_fragment_spread/annotate_updatable_fragment_spreads.rs @@ -8,6 +8,7 @@ use std::sync::Arc; use common::DirectiveName; +use common::Location; use common::NamedItem; use common::WithLocation; use graphql_ir::Directive; @@ -60,6 +61,7 @@ impl<'s> Transformer for AnnotateUpdatableFragmentSpreads<'s> { name: WithLocation::generated(*UPDATABLE_DIRECTIVE_FOR_TYPEGEN), arguments: vec![], data: None, + location: Location::generated(), }); Transformed::Replace(Selection::FragmentSpread(Arc::new(fragment_spread))) } else { diff --git a/compiler/crates/relay-transforms/src/assignable_fragment_spread/transform_assignable_fragment_spreads_in_updatable_queries.rs b/compiler/crates/relay-transforms/src/assignable_fragment_spread/transform_assignable_fragment_spreads_in_updatable_queries.rs index 5a2c59fbdb858..0c258d90f3339 100644 --- a/compiler/crates/relay-transforms/src/assignable_fragment_spread/transform_assignable_fragment_spreads_in_updatable_queries.rs +++ b/compiler/crates/relay-transforms/src/assignable_fragment_spread/transform_assignable_fragment_spreads_in_updatable_queries.rs @@ -8,6 +8,7 @@ use std::sync::Arc; use common::DirectiveName; +use common::Location; use common::NamedItem; use common::WithLocation; use graphql_ir::associated_data_impl; @@ -122,6 +123,7 @@ fn get_directive(type_condition: Type, schema: &SDLSchema) -> Directive { name: WithLocation::generated(*ASSIGNABLE_DIRECTIVE_FOR_TYPEGEN), arguments: vec![], data: Some(Box::new(get_associated_data(type_condition, schema))), + location: Location::generated(), } } diff --git a/compiler/crates/relay-transforms/src/client_edges.rs b/compiler/crates/relay-transforms/src/client_edges.rs index e198dd2b7ad40..be7ceffed5d89 100644 --- a/compiler/crates/relay-transforms/src/client_edges.rs +++ b/compiler/crates/relay-transforms/src/client_edges.rs @@ -699,6 +699,7 @@ fn make_refetchable_directive(query_name: OperationDefinitionName) -> Directive value: WithLocation::generated(Value::Constant(ConstantValue::String(query_name.0))), }], data: None, + location: Location::generated(), } } diff --git a/compiler/crates/relay-transforms/src/client_extensions.rs b/compiler/crates/relay-transforms/src/client_extensions.rs index 493425ddab7cc..0f888de844799 100644 --- a/compiler/crates/relay-transforms/src/client_extensions.rs +++ b/compiler/crates/relay-transforms/src/client_extensions.rs @@ -216,5 +216,6 @@ fn build_client_extension_directive() -> Directive { name: WithLocation::generated(*CLIENT_EXTENSION_DIRECTIVE_NAME), arguments: Default::default(), data: None, + location: Location::generated(), } } diff --git a/compiler/crates/relay-transforms/src/defer_stream.rs b/compiler/crates/relay-transforms/src/defer_stream.rs index 6f2158d2faf4d..be1b4cdc10a6c 100644 --- a/compiler/crates/relay-transforms/src/defer_stream.rs +++ b/compiler/crates/relay-transforms/src/defer_stream.rs @@ -155,6 +155,7 @@ impl DeferStreamTransform<'_> { name: defer.name, arguments: next_arguments, data: None, + location: defer.location, }; Ok(Transformed::Replace(Selection::InlineFragment(Arc::new( @@ -264,6 +265,7 @@ impl DeferStreamTransform<'_> { name: stream.name, arguments: next_arguments, data: None, + location: stream.location, }; Ok(get_next_selection(replace_directive( diff --git a/compiler/crates/relay-transforms/src/generate_typename.rs b/compiler/crates/relay-transforms/src/generate_typename.rs index 6b21adcf03494..b78e3241a2f25 100644 --- a/compiler/crates/relay-transforms/src/generate_typename.rs +++ b/compiler/crates/relay-transforms/src/generate_typename.rs @@ -243,6 +243,7 @@ fn generate_abstract_key_field( name: WithLocation::new(location, *TYPE_DISCRIMINATOR_DIRECTIVE_NAME), arguments: vec![], data: None, + location, }] } else { vec![] diff --git a/compiler/crates/relay-transforms/src/handle_fields/handle_field_util.rs b/compiler/crates/relay-transforms/src/handle_fields/handle_field_util.rs index 4ef136726777f..b839ecc2892fe 100644 --- a/compiler/crates/relay-transforms/src/handle_fields/handle_field_util.rs +++ b/compiler/crates/relay-transforms/src/handle_fields/handle_field_util.rs @@ -7,6 +7,7 @@ use common::ArgumentName; use common::DirectiveName; +use common::Location; use common::WithLocation; use graphql_ir::Argument; use graphql_ir::ConstantValue; @@ -140,6 +141,7 @@ pub fn build_handle_field_directive(values: HandleFieldDirectiveValues) -> Direc name: WithLocation::generated(*HANDLE_FIELD_DIRECTIVE_NAME), arguments: directive_arguments, data: None, + location: Location::generated(), } } diff --git a/compiler/crates/relay-transforms/src/metadata_directive.rs b/compiler/crates/relay-transforms/src/metadata_directive.rs index 607d273adc981..62a1a42f9792f 100644 --- a/compiler/crates/relay-transforms/src/metadata_directive.rs +++ b/compiler/crates/relay-transforms/src/metadata_directive.rs @@ -7,6 +7,7 @@ use common::ArgumentName; use common::DirectiveName; +use common::Location; use common::WithLocation; use graphql_ir::Argument; use graphql_ir::ConstantValue; @@ -32,5 +33,6 @@ pub fn create_metadata_directive(key: ArgumentName, value: ConstantValue) -> Dir value: WithLocation::generated(Value::Constant(value)), }], data: None, + location: Location::generated(), } } diff --git a/compiler/crates/relay-transforms/src/no_inline.rs b/compiler/crates/relay-transforms/src/no_inline.rs index 93df115048152..c52d3fcda6066 100644 --- a/compiler/crates/relay-transforms/src/no_inline.rs +++ b/compiler/crates/relay-transforms/src/no_inline.rs @@ -11,6 +11,7 @@ use common::ArgumentName; use common::Diagnostic; use common::DiagnosticsResult; use common::DirectiveName; +use common::Location; use common::NamedItem; use common::WithLocation; use graphql_ir::Argument; @@ -74,6 +75,7 @@ pub fn attach_no_inline_directives_to_fragments( name: WithLocation::new(fragment.name.location, *NO_INLINE_DIRECTIVE_NAME), arguments: vec![create_parent_documents_arg(parent_sources)], data: None, + location: Location::generated(), }) } } diff --git a/compiler/crates/relay-transforms/src/relay_actor_change.rs b/compiler/crates/relay-transforms/src/relay_actor_change.rs index f6a969341bae2..709f15a32f7e4 100644 --- a/compiler/crates/relay-transforms/src/relay_actor_change.rs +++ b/compiler/crates/relay-transforms/src/relay_actor_change.rs @@ -173,6 +173,7 @@ impl<'program, 'feature> Transformer for ActorChangeTransform<'program, 'feature ), arguments: vec![], data: None, + location: actor_change_directive.location, }], selections: vec![Selection::LinkedField(Arc::new(LinkedField { selections: next_selections, diff --git a/compiler/crates/relay-transforms/src/required_directive.rs b/compiler/crates/relay-transforms/src/required_directive.rs index b7ac51c4db89c..efdcf10ef701f 100644 --- a/compiler/crates/relay-transforms/src/required_directive.rs +++ b/compiler/crates/relay-transforms/src/required_directive.rs @@ -543,6 +543,7 @@ fn maybe_add_children_can_bubble_metadata_directive( name: WithLocation::generated(*CHILDREN_CAN_BUBBLE_METADATA_KEY), arguments: vec![], data: None, + location: Location::generated(), }); TransformedValue::Replace(next_directives) } diff --git a/compiler/crates/relay-transforms/src/transform_connections.rs b/compiler/crates/relay-transforms/src/transform_connections.rs index a6a8913785f7a..e11bfa0d704ff 100644 --- a/compiler/crates/relay-transforms/src/transform_connections.rs +++ b/compiler/crates/relay-transforms/src/transform_connections.rs @@ -214,6 +214,7 @@ impl<'s> ConnectionTransform<'s> { ), arguments, data: None, + location: connection_directive.location, }); } @@ -317,6 +318,7 @@ impl<'s> ConnectionTransform<'s> { ), arguments, data: None, + location: connection_directive.location, }], spread_location: Location::generated(), })) @@ -364,6 +366,7 @@ impl<'s> ConnectionTransform<'s> { ), }], data: None, + location, }], selections: fields, });