Skip to content

GraphQL input fields and union variants not indexed as anchors #1825

Description

@Widthdom

Summary

GraphQL input X { field: Type } and union U = A | B | C declarations capture the container symbol but do not emit per-field or per-variant rows (SymbolExtractor.cs:1680-1681). A references / definition query against an input-type field name (UpdateUserInput.email) returns nothing; union variant names (A, B, C) cannot be navigated to even though they are first-class type references in GraphQL. Sibling concern to the already-filed #1025 (fragment / directive gaps) — together they cover the major remaining GraphQL extractor blind spots.

Where

  • src/CodeIndex/Indexer/Extraction/SymbolExtractor.cs:1680-1681 (GraphQL input/union handling)

Suggested approach

(1) For input X { ... }, parse the body and emit one symbol per field with kind input_field (or reuse field with parent metadata pointing at X). (2) For union U = A | B | C, emit one reference row per variant (A, B, C) of kind type_reference, parented to U. (3) Handle the multi-line form union U =\n | A\n | B. (4) Cover extend input X and extend union U (cross-link with #1025 — same extend family). (5) Add fixtures and regression tests using a representative GraphQL schema (one input with 3 fields, one union with 3 variants, one extend on each). (6) Update the kind taxonomy doc (cross-link with #1772).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions