Understand Swift ingestion limitations in GitNexus
mainGitNexus tracks known gaps in its Swift ingestion pipeline, which can affect how accurately the knowledge graph represents Swift codebases. These gaps are categorized by priority (High, Medium, Low) and impact different aspects of code understanding such as Type Inference, Call Resolution, Symbol Extraction, Inheritance, and Module Imports.
High Priority Gaps
- Type Inference: Issues with
if let/guard letinside for-loop bodies (unresolved calls insidefor item in collection) andwhile letbindings. - Call Resolution: Difficulties with
await expr/try exprwrappers, multi-hop chains (e.g.,a.b.c()), and trailing closures where$0type is not inferrable.
Medium Priority Gaps
- Symbol Extraction: Missing support for Enum
caseas callables, subscript declarations, operator overloads,deinit, and Swift 5.9+ macros. - Heritage / Inheritance: Incomplete tracking of multiple inheritance specifiers, generic constraints, conditional conformance, and protocol composition.
- Export / Visibility: Nested function declarations may be incorrectly marked as exported.
- Module / Import:
@testable import, cross-package SPM imports, and@_exported importare not fully tracked.
Low Priority Gaps
- Type Inference:
switch/casepattern binding, tuple destructuring, and SwiftUI-specific patterns like@Environmentor@Query.