gitnexus 1.6.10-rc.99 → 1.6.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +177 -18
- package/dist/_shared/graph/types.d.ts +21 -2
- package/dist/_shared/graph/types.d.ts.map +1 -1
- package/dist/_shared/index.d.ts +3 -3
- package/dist/_shared/index.d.ts.map +1 -1
- package/dist/_shared/index.js +1 -1
- package/dist/_shared/index.js.map +1 -1
- package/dist/_shared/integrations/circuit-breaker.d.ts.map +1 -1
- package/dist/_shared/integrations/circuit-breaker.js.map +1 -1
- package/dist/_shared/integrations/resilient-fetch.d.ts +16 -0
- package/dist/_shared/integrations/resilient-fetch.d.ts.map +1 -1
- package/dist/_shared/integrations/resilient-fetch.js +19 -7
- package/dist/_shared/integrations/resilient-fetch.js.map +1 -1
- package/dist/_shared/language-detection.d.ts.map +1 -1
- package/dist/_shared/lbug/schema-constants.d.ts +2 -2
- package/dist/_shared/lbug/schema-constants.d.ts.map +1 -1
- package/dist/_shared/lbug/schema-constants.js +3 -0
- package/dist/_shared/lbug/schema-constants.js.map +1 -1
- package/dist/_shared/scope-resolution/evidence-weights.d.ts.map +1 -1
- package/dist/_shared/scope-resolution/finalize-algorithm.d.ts +5 -0
- package/dist/_shared/scope-resolution/finalize-algorithm.d.ts.map +1 -1
- package/dist/_shared/scope-resolution/finalize-algorithm.js +315 -36
- package/dist/_shared/scope-resolution/finalize-algorithm.js.map +1 -1
- package/dist/_shared/scope-resolution/reference-site.d.ts +115 -0
- package/dist/_shared/scope-resolution/reference-site.d.ts.map +1 -1
- package/dist/_shared/scope-resolution/registries/field-registry.js.map +1 -1
- package/dist/_shared/scope-resolution/registries/lookup-core.d.ts.map +1 -1
- package/dist/_shared/scope-resolution/registries/lookup-core.js +58 -2
- package/dist/_shared/scope-resolution/registries/lookup-core.js.map +1 -1
- package/dist/_shared/scope-resolution/registries/method-registry.js.map +1 -1
- package/dist/_shared/scope-resolution/scope-tree.d.ts.map +1 -1
- package/dist/_shared/scope-resolution/scope-tree.js.map +1 -1
- package/dist/_shared/scope-resolution/symbol-definition.d.ts +47 -0
- package/dist/_shared/scope-resolution/symbol-definition.d.ts.map +1 -1
- package/dist/_shared/scope-resolution/types.d.ts +278 -3
- package/dist/_shared/scope-resolution/types.d.ts.map +1 -1
- package/dist/cli/ai-context.d.ts +3 -2
- package/dist/cli/ai-context.js +71 -16
- package/dist/cli/analyze-config.d.ts +1 -1
- package/dist/cli/analyze-options.d.ts +131 -0
- package/dist/cli/analyze-options.js +1 -0
- package/dist/cli/analyze.d.ts +21 -113
- package/dist/cli/analyze.js +172 -29
- package/dist/cli/cli-message.d.ts +1 -1
- package/dist/cli/detect-changes-format.js +19 -2
- package/dist/cli/doctor.d.ts +12 -0
- package/dist/cli/doctor.js +32 -5
- package/dist/cli/editor-targets.js +6 -0
- package/dist/cli/eval-server.js +2 -1
- package/dist/cli/format-symbol.d.ts +15 -0
- package/dist/cli/format-symbol.js +17 -0
- package/dist/cli/generated-skill.d.ts +17 -0
- package/dist/cli/generated-skill.js +1 -0
- package/dist/cli/group.js +229 -21
- package/dist/cli/help-i18n.js +1 -2
- package/dist/cli/i18n/en.d.ts +11 -9
- package/dist/cli/i18n/en.js +13 -9
- package/dist/cli/i18n/resources.d.ts +15 -11
- package/dist/cli/i18n/zh-CN.d.ts +4 -2
- package/dist/cli/i18n/zh-CN.js +11 -9
- package/dist/cli/index.js +8 -4
- package/dist/cli/resolve-invocation.d.ts +7 -3
- package/dist/cli/resolve-invocation.js +7 -3
- package/dist/cli/setup.js +4 -3
- package/dist/cli/skill-gen.d.ts +1 -6
- package/dist/cli/tool.d.ts +1 -0
- package/dist/cli/tool.js +74 -17
- package/dist/cli/wiki.js +53 -10
- package/dist/config/ignore-service.d.ts +2 -0
- package/dist/config/ignore-service.js +54 -13
- package/dist/core/analyzer-identity.d.ts +80 -0
- package/dist/core/analyzer-identity.js +364 -26
- package/dist/core/augmentation/engine.js +86 -71
- package/dist/core/embedding-checkpoint.d.ts +143 -0
- package/dist/core/embedding-checkpoint.js +221 -0
- package/dist/core/embedding-count.d.ts +61 -0
- package/dist/core/embedding-count.js +69 -0
- package/dist/core/embeddings/ast-utils.js +9 -1
- package/dist/core/embeddings/embedding-pipeline.d.ts +8 -0
- package/dist/core/embeddings/embedding-pipeline.js +253 -14
- package/dist/core/embeddings/http-client.d.ts +5 -0
- package/dist/core/embeddings/http-client.js +142 -27
- package/dist/core/graph/graph.js +3 -0
- package/dist/core/graph/import-cycles.d.ts +194 -3
- package/dist/core/graph/import-cycles.js +522 -73
- package/dist/core/graph/types.d.ts +18 -0
- package/dist/core/group/bridge-db.d.ts +204 -1
- package/dist/core/group/bridge-db.js +401 -28
- package/dist/core/group/completeness.d.ts +130 -0
- package/dist/core/group/completeness.js +83 -0
- package/dist/core/group/config-parser.js +0 -5
- package/dist/core/group/cross-impact.d.ts +46 -1
- package/dist/core/group/cross-impact.js +220 -19
- package/dist/core/group/cross-trace.d.ts +32 -11
- package/dist/core/group/cross-trace.js +114 -20
- package/dist/core/group/extractors/http-patterns/java.js +278 -22
- package/dist/core/group/extractors/http-patterns/node.js +332 -216
- package/dist/core/group/extractors/http-patterns/types.d.ts +8 -0
- package/dist/core/group/extractors/http-route-extractor.d.ts +1 -0
- package/dist/core/group/extractors/http-route-extractor.js +122 -48
- package/dist/core/group/extractors/include-extractor.js +20 -2
- package/dist/core/group/extractors/manifest-extractor.d.ts +1 -1
- package/dist/core/group/extractors/manifest-extractor.js +7 -7
- package/dist/core/group/extractors/python-workspace-extractor.js +5 -2
- package/dist/core/group/group-lock.d.ts +31 -0
- package/dist/core/group/group-lock.js +166 -0
- package/dist/core/group/service.js +297 -16
- package/dist/core/group/storage.d.ts +3 -0
- package/dist/core/group/storage.js +7 -39
- package/dist/core/group/sync.d.ts +49 -3
- package/dist/core/group/sync.js +0 -0
- package/dist/core/group/types.d.ts +183 -8
- package/dist/core/group/types.js +28 -1
- package/dist/core/incremental/subgraph-extract.d.ts +9 -6
- package/dist/core/incremental/subgraph-extract.js +33 -10
- package/dist/core/index-freshness.d.ts +77 -2
- package/dist/core/index-freshness.js +109 -2
- package/dist/core/ingestion/call-processor.d.ts +13 -1
- package/dist/core/ingestion/call-processor.js +110 -3
- package/dist/core/ingestion/cfg/callee-cell-format.d.ts +42 -0
- package/dist/core/ingestion/cfg/callee-cell-format.js +42 -0
- package/dist/core/ingestion/cfg/emit.d.ts +8 -23
- package/dist/core/ingestion/cfg/emit.js +9 -23
- package/dist/core/ingestion/class-extractors/configs/go.js +10 -5
- package/dist/core/ingestion/cluster-enricher.js +8 -4
- package/dist/core/ingestion/community-processor.d.ts +21 -3
- package/dist/core/ingestion/community-processor.js +81 -82
- package/dist/core/ingestion/di-extractors/index.d.ts +9 -33
- package/dist/core/ingestion/di-extractors/spring.d.ts +1 -1
- package/dist/core/ingestion/di-extractors/spring.js +8 -1
- package/dist/core/ingestion/di-extractors/types.d.ts +60 -0
- package/dist/core/ingestion/di-extractors/types.js +15 -0
- package/dist/core/ingestion/filesystem-walker.js +30 -14
- package/dist/core/ingestion/finalize-orchestrator.js +1 -0
- package/dist/core/ingestion/frameworks/spring/analysis-features.d.ts +6 -0
- package/dist/core/ingestion/frameworks/spring/analysis-features.js +35 -1
- package/dist/core/ingestion/frameworks/spring/annotation-arguments.d.ts +13 -0
- package/dist/core/ingestion/frameworks/spring/annotation-arguments.js +227 -0
- package/dist/core/ingestion/frameworks/spring/aop-candidates.d.ts +15 -0
- package/dist/core/ingestion/frameworks/spring/aop-candidates.js +85 -0
- package/dist/core/ingestion/frameworks/spring/aop.d.ts +118 -0
- package/dist/core/ingestion/frameworks/spring/aop.js +476 -0
- package/dist/core/ingestion/frameworks/spring/auto-configuration.d.ts +8 -0
- package/dist/core/ingestion/frameworks/spring/auto-configuration.js +16 -0
- package/dist/core/ingestion/frameworks/spring/bean-catalog.js +1 -0
- package/dist/core/ingestion/frameworks/spring/bean-factories.d.ts +33 -0
- package/dist/core/ingestion/frameworks/spring/bean-factories.js +65 -0
- package/dist/core/ingestion/frameworks/spring/conditionals.d.ts +25 -0
- package/dist/core/ingestion/frameworks/spring/conditionals.js +319 -0
- package/dist/core/ingestion/frameworks/spring/di-metadata.d.ts +3 -0
- package/dist/core/ingestion/frameworks/spring/di-metadata.js +162 -13
- package/dist/core/ingestion/frameworks/spring/non-http-handlers.d.ts +28 -0
- package/dist/core/ingestion/frameworks/spring/non-http-handlers.js +152 -0
- package/dist/core/ingestion/frameworks/spring/resource-injection.d.ts +5 -0
- package/dist/core/ingestion/frameworks/spring/resource-injection.js +91 -0
- package/dist/core/ingestion/import-resolvers/configs/csharp.js +5 -1
- package/dist/core/ingestion/import-resolvers/configs/swift.js +13 -0
- package/dist/core/ingestion/import-resolvers/csharp.d.ts +9 -1
- package/dist/core/ingestion/import-resolvers/csharp.js +234 -27
- package/dist/core/ingestion/import-resolvers/go.d.ts +11 -1
- package/dist/core/ingestion/import-resolvers/go.js +44 -17
- package/dist/core/ingestion/import-resolvers/jvm.d.ts +2 -2
- package/dist/core/ingestion/import-resolvers/node-workspace-packages.d.ts +90 -0
- package/dist/core/ingestion/import-resolvers/node-workspace-packages.js +429 -0
- package/dist/core/ingestion/import-resolvers/package-dir-index.d.ts +124 -0
- package/dist/core/ingestion/import-resolvers/package-dir-index.js +223 -0
- package/dist/core/ingestion/import-resolvers/pass-cache.d.ts +50 -0
- package/dist/core/ingestion/import-resolvers/pass-cache.js +60 -0
- package/dist/core/ingestion/import-resolvers/per-file-set.d.ts +71 -0
- package/dist/core/ingestion/import-resolvers/per-file-set.js +11 -0
- package/dist/core/ingestion/import-resolvers/php.d.ts +1 -1
- package/dist/core/ingestion/import-resolvers/php.js +65 -19
- package/dist/core/ingestion/import-resolvers/python-file-index.d.ts +201 -0
- package/dist/core/ingestion/import-resolvers/python-file-index.js +302 -0
- package/dist/core/ingestion/import-resolvers/python.js +25 -6
- package/dist/core/ingestion/import-resolvers/ruby.d.ts +1 -1
- package/dist/core/ingestion/import-resolvers/rust.d.ts +2 -2
- package/dist/core/ingestion/import-resolvers/standard.d.ts +1 -1
- package/dist/core/ingestion/import-resolvers/types.d.ts +1 -12
- package/dist/core/ingestion/import-resolvers/utils.d.ts +65 -6
- package/dist/core/ingestion/import-resolvers/utils.js +215 -36
- package/dist/core/ingestion/import-resolvers/workspace-file-index.d.ts +72 -0
- package/dist/core/ingestion/import-resolvers/workspace-file-index.js +58 -0
- package/dist/core/ingestion/language-config.d.ts +29 -1
- package/dist/core/ingestion/language-config.js +110 -35
- package/dist/core/ingestion/language-provider.d.ts +209 -7
- package/dist/core/ingestion/language-provider.js +37 -0
- package/dist/core/ingestion/languages/c/captures.js +7 -0
- package/dist/core/ingestion/languages/c/import-target.js +12 -16
- package/dist/core/ingestion/languages/c/scope-resolver.js +20 -19
- package/dist/core/ingestion/languages/c/static-linkage.js +12 -16
- package/dist/core/ingestion/languages/c-cpp.js +13 -0
- package/dist/core/ingestion/languages/cobol/scope-resolver.js +27 -20
- package/dist/core/ingestion/languages/cobol.js +13 -0
- package/dist/core/ingestion/languages/cpp/adl.d.ts +2 -2
- package/dist/core/ingestion/languages/cpp/adl.js +67 -44
- package/dist/core/ingestion/languages/cpp/captures.js +14 -2
- package/dist/core/ingestion/languages/cpp/file-local-linkage.js +11 -15
- package/dist/core/ingestion/languages/cpp/inline-namespaces.d.ts +28 -8
- package/dist/core/ingestion/languages/cpp/inline-namespaces.js +242 -68
- package/dist/core/ingestion/languages/cpp/interpret.d.ts +2 -0
- package/dist/core/ingestion/languages/cpp/interpret.js +126 -6
- package/dist/core/ingestion/languages/cpp/query.js +106 -0
- package/dist/core/ingestion/languages/cpp/scope-resolver.js +48 -20
- package/dist/core/ingestion/languages/csharp/accessor-unwrap.d.ts +2 -15
- package/dist/core/ingestion/languages/csharp/accessor-unwrap.js +18 -10
- package/dist/core/ingestion/languages/csharp/captures.js +19 -0
- package/dist/core/ingestion/languages/csharp/import-target.js +46 -72
- package/dist/core/ingestion/languages/csharp/namespace-siblings.js +5 -1
- package/dist/core/ingestion/languages/csharp/query.js +25 -5
- package/dist/core/ingestion/languages/csharp/scope-resolver.js +75 -2
- package/dist/core/ingestion/languages/dart/captures.d.ts +10 -0
- package/dist/core/ingestion/languages/dart/captures.js +598 -16
- package/dist/core/ingestion/languages/dart/import-target.js +32 -9
- package/dist/core/ingestion/languages/dart/index.d.ts +1 -1
- package/dist/core/ingestion/languages/dart/index.js +1 -1
- package/dist/core/ingestion/languages/dart/query.js +98 -1
- package/dist/core/ingestion/languages/dart/scope-resolver.js +14 -3
- package/dist/core/ingestion/languages/dart/simple-hooks.js +9 -0
- package/dist/core/ingestion/languages/dart.js +6 -1
- package/dist/core/ingestion/languages/go/captures.js +108 -3
- package/dist/core/ingestion/languages/go/generic-type-parameters.d.ts +31 -0
- package/dist/core/ingestion/languages/go/generic-type-parameters.js +140 -0
- package/dist/core/ingestion/languages/go/import-target.d.ts +3 -10
- package/dist/core/ingestion/languages/go/import-target.js +34 -30
- package/dist/core/ingestion/languages/go/index.d.ts +1 -1
- package/dist/core/ingestion/languages/go/interface-impls.d.ts +9 -1
- package/dist/core/ingestion/languages/go/interface-impls.js +693 -87
- package/dist/core/ingestion/languages/go/interpret.d.ts +2 -0
- package/dist/core/ingestion/languages/go/interpret.js +22 -8
- package/dist/core/ingestion/languages/go/method-owners.js +31 -12
- package/dist/core/ingestion/languages/go/package-clause.d.ts +46 -0
- package/dist/core/ingestion/languages/go/package-clause.js +75 -0
- package/dist/core/ingestion/languages/go/package-siblings.js +7 -11
- package/dist/core/ingestion/languages/go/query.js +56 -3
- package/dist/core/ingestion/languages/go/scope-resolver.js +39 -0
- package/dist/core/ingestion/languages/go.js +9 -0
- package/dist/core/ingestion/languages/java/analysis-features.d.ts +4 -0
- package/dist/core/ingestion/languages/java/analysis-features.js +12 -0
- package/dist/core/ingestion/languages/java/capture-side-channel.d.ts +12 -0
- package/dist/core/ingestion/languages/java/capture-side-channel.js +48 -0
- package/dist/core/ingestion/languages/java/captures.js +77 -32
- package/dist/core/ingestion/languages/java/import-target.d.ts +49 -9
- package/dist/core/ingestion/languages/java/import-target.js +68 -88
- package/dist/core/ingestion/languages/java/interpret.js +3 -2
- package/dist/core/ingestion/languages/java/module-resolution.d.ts +62 -0
- package/dist/core/ingestion/languages/java/module-resolution.js +142 -0
- package/dist/core/ingestion/languages/java/query.js +15 -3
- package/dist/core/ingestion/languages/java/record-components.d.ts +14 -0
- package/dist/core/ingestion/languages/java/record-components.js +185 -0
- package/dist/core/ingestion/languages/java/scope-resolver.js +10 -2
- package/dist/core/ingestion/languages/java/spring-aop.d.ts +12 -0
- package/dist/core/ingestion/languages/java/spring-aop.js +49 -0
- package/dist/core/ingestion/languages/java/spring-conditionals.d.ts +11 -0
- package/dist/core/ingestion/languages/java/spring-conditionals.js +48 -0
- package/dist/core/ingestion/languages/java/spring-di.d.ts +4 -1
- package/dist/core/ingestion/languages/java/spring-di.js +41 -9
- package/dist/core/ingestion/languages/java/spring-non-http-handlers.d.ts +7 -0
- package/dist/core/ingestion/languages/java/spring-non-http-handlers.js +32 -0
- package/dist/core/ingestion/languages/java.js +94 -3
- package/dist/core/ingestion/languages/javascript/captures.d.ts +6 -1
- package/dist/core/ingestion/languages/javascript/captures.js +262 -4
- package/dist/core/ingestion/languages/javascript/import-target.d.ts +17 -21
- package/dist/core/ingestion/languages/javascript/import-target.js +24 -41
- package/dist/core/ingestion/languages/javascript/index.d.ts +54 -5
- package/dist/core/ingestion/languages/javascript/index.js +54 -5
- package/dist/core/ingestion/languages/javascript/query.d.ts +1 -0
- package/dist/core/ingestion/languages/javascript/query.js +211 -5
- package/dist/core/ingestion/languages/javascript/scope-resolver.js +12 -0
- package/dist/core/ingestion/languages/javascript/simple-hooks.js +2 -1
- package/dist/core/ingestion/languages/jvm/package-siblings.js +77 -9
- package/dist/core/ingestion/languages/kotlin/capture-side-channel.d.ts +15 -0
- package/dist/core/ingestion/languages/kotlin/capture-side-channel.js +48 -0
- package/dist/core/ingestion/languages/kotlin/captures.js +43 -1
- package/dist/core/ingestion/languages/kotlin/import-target.d.ts +8 -1
- package/dist/core/ingestion/languages/kotlin/import-target.js +20 -123
- package/dist/core/ingestion/languages/kotlin/index.d.ts +1 -0
- package/dist/core/ingestion/languages/kotlin/index.js +1 -0
- package/dist/core/ingestion/languages/kotlin/module-resolution.d.ts +22 -0
- package/dist/core/ingestion/languages/kotlin/module-resolution.js +108 -0
- package/dist/core/ingestion/languages/kotlin/query.js +28 -2
- package/dist/core/ingestion/languages/kotlin/scope-resolver.js +23 -2
- package/dist/core/ingestion/languages/kotlin/spring-aop.d.ts +12 -0
- package/dist/core/ingestion/languages/kotlin/spring-aop.js +64 -0
- package/dist/core/ingestion/languages/kotlin/spring-conditionals.d.ts +12 -0
- package/dist/core/ingestion/languages/kotlin/spring-conditionals.js +49 -0
- package/dist/core/ingestion/languages/kotlin/spring-di.d.ts +2 -0
- package/dist/core/ingestion/languages/kotlin/spring-di.js +60 -11
- package/dist/core/ingestion/languages/kotlin/spring-non-http-handlers.d.ts +10 -0
- package/dist/core/ingestion/languages/kotlin/spring-non-http-handlers.js +41 -0
- package/dist/core/ingestion/languages/php/captures.d.ts +5 -0
- package/dist/core/ingestion/languages/php/captures.js +319 -51
- package/dist/core/ingestion/languages/php/import-target.d.ts +3 -4
- package/dist/core/ingestion/languages/php/import-target.js +192 -62
- package/dist/core/ingestion/languages/php/query.js +31 -0
- package/dist/core/ingestion/languages/python/arity-metadata.d.ts +1 -0
- package/dist/core/ingestion/languages/python/arity-metadata.js +1 -0
- package/dist/core/ingestion/languages/python/captures.js +29 -0
- package/dist/core/ingestion/languages/python/import-decomposer.js +22 -1
- package/dist/core/ingestion/languages/python/import-target.d.ts +42 -1
- package/dist/core/ingestion/languages/python/import-target.js +277 -91
- package/dist/core/ingestion/languages/python/index.d.ts +1 -1
- package/dist/core/ingestion/languages/python/index.js +1 -1
- package/dist/core/ingestion/languages/python/interpret.d.ts +52 -0
- package/dist/core/ingestion/languages/python/interpret.js +249 -7
- package/dist/core/ingestion/languages/python/query.js +9 -0
- package/dist/core/ingestion/languages/python/receiver-binding.d.ts +8 -6
- package/dist/core/ingestion/languages/python/receiver-binding.js +108 -12
- package/dist/core/ingestion/languages/python/scope-resolver.js +27 -4
- package/dist/core/ingestion/languages/python/simple-hooks.js +2 -8
- package/dist/core/ingestion/languages/python.js +13 -0
- package/dist/core/ingestion/languages/ruby/captures.js +158 -0
- package/dist/core/ingestion/languages/ruby/import-target.js +7 -5
- package/dist/core/ingestion/languages/ruby/query.js +93 -0
- package/dist/core/ingestion/languages/ruby/scope-resolver.js +2 -0
- package/dist/core/ingestion/languages/ruby/simple-hooks.d.ts +1 -1
- package/dist/core/ingestion/languages/ruby/simple-hooks.js +22 -1
- package/dist/core/ingestion/languages/rust/captures.js +39 -1
- package/dist/core/ingestion/languages/rust/method-owners.js +11 -1
- package/dist/core/ingestion/languages/rust/module-path.d.ts +126 -0
- package/dist/core/ingestion/languages/rust/module-path.js +214 -0
- package/dist/core/ingestion/languages/rust/qualified-call.d.ts +41 -0
- package/dist/core/ingestion/languages/rust/qualified-call.js +481 -0
- package/dist/core/ingestion/languages/rust/query.js +39 -6
- package/dist/core/ingestion/languages/rust/scope-resolver.js +21 -2
- package/dist/core/ingestion/languages/rust.js +17 -0
- package/dist/core/ingestion/languages/swift/captures.js +87 -3
- package/dist/core/ingestion/languages/swift/conditional-directive-preprocess.d.ts +48 -0
- package/dist/core/ingestion/languages/swift/conditional-directive-preprocess.js +253 -0
- package/dist/core/ingestion/languages/swift/import-target.js +4 -9
- package/dist/core/ingestion/languages/swift/query.js +17 -0
- package/dist/core/ingestion/languages/swift/receiver-binding.d.ts +8 -0
- package/dist/core/ingestion/languages/swift/receiver-binding.js +6 -2
- package/dist/core/ingestion/languages/swift.js +2 -0
- package/dist/core/ingestion/languages/typescript/captures.d.ts +90 -1
- package/dist/core/ingestion/languages/typescript/captures.js +267 -5
- package/dist/core/ingestion/languages/typescript/cjs-export-assignment.d.ts +134 -0
- package/dist/core/ingestion/languages/typescript/cjs-export-assignment.js +523 -0
- package/dist/core/ingestion/languages/typescript/cjs-module-exports.d.ts +54 -0
- package/dist/core/ingestion/languages/typescript/cjs-module-exports.js +191 -0
- package/dist/core/ingestion/languages/typescript/convex-endpoint-metadata.d.ts +7 -0
- package/dist/core/ingestion/languages/typescript/convex-endpoint-metadata.js +92 -0
- package/dist/core/ingestion/languages/typescript/file-candidates.d.ts +29 -0
- package/dist/core/ingestion/languages/typescript/file-candidates.js +70 -0
- package/dist/core/ingestion/languages/typescript/import-decomposer.d.ts +28 -1
- package/dist/core/ingestion/languages/typescript/import-decomposer.js +125 -10
- package/dist/core/ingestion/languages/typescript/import-target.d.ts +25 -37
- package/dist/core/ingestion/languages/typescript/import-target.js +24 -26
- package/dist/core/ingestion/languages/typescript/interpret.d.ts +21 -1
- package/dist/core/ingestion/languages/typescript/interpret.js +45 -5
- package/dist/core/ingestion/languages/typescript/module-resolution.d.ts +48 -0
- package/dist/core/ingestion/languages/typescript/module-resolution.js +171 -0
- package/dist/core/ingestion/languages/typescript/query.d.ts +1 -0
- package/dist/core/ingestion/languages/typescript/query.js +303 -14
- package/dist/core/ingestion/languages/typescript/receiver-binding.d.ts +17 -0
- package/dist/core/ingestion/languages/typescript/receiver-binding.js +27 -0
- package/dist/core/ingestion/languages/typescript/scope-resolver.js +27 -40
- package/dist/core/ingestion/languages/typescript/simple-hooks.d.ts +0 -10
- package/dist/core/ingestion/languages/typescript/simple-hooks.js +22 -22
- package/dist/core/ingestion/languages/typescript/tsconfig.d.ts +59 -0
- package/dist/core/ingestion/languages/typescript/tsconfig.js +292 -0
- package/dist/core/ingestion/languages/typescript.js +93 -2
- package/dist/core/ingestion/languages/vue/import-target.d.ts +6 -22
- package/dist/core/ingestion/languages/vue/import-target.js +11 -47
- package/dist/core/ingestion/languages/vue/scope-resolver.js +4 -2
- package/dist/core/ingestion/local-symbol-pruner.js +11 -11
- package/dist/core/ingestion/method-extractors/configs/csharp.js +1 -0
- package/dist/core/ingestion/method-extractors/generic.js +1 -0
- package/dist/core/ingestion/method-types.d.ts +16 -0
- package/dist/core/ingestion/pipeline-phases/di.d.ts +1 -1
- package/dist/core/ingestion/pipeline-phases/di.js +136 -21
- package/dist/core/ingestion/pipeline-phases/index.d.ts +2 -0
- package/dist/core/ingestion/pipeline-phases/index.js +2 -0
- package/dist/core/ingestion/pipeline-phases/parse-impl.d.ts +15 -0
- package/dist/core/ingestion/pipeline-phases/parse-impl.js +154 -4
- package/dist/core/ingestion/pipeline-phases/parse.js +5 -0
- package/dist/core/ingestion/pipeline-phases/processes.d.ts +3 -2
- package/dist/core/ingestion/pipeline-phases/processes.js +91 -6
- package/dist/core/ingestion/pipeline-phases/routes.js +116 -25
- package/dist/core/ingestion/pipeline-phases/spring-aop.d.ts +34 -0
- package/dist/core/ingestion/pipeline-phases/spring-aop.js +439 -0
- package/dist/core/ingestion/pipeline-phases/spring-auto-configuration.d.ts +34 -0
- package/dist/core/ingestion/pipeline-phases/spring-auto-configuration.js +255 -0
- package/dist/core/ingestion/pipeline-phases/types.d.ts +7 -0
- package/dist/core/ingestion/pipeline.d.ts +26 -2
- package/dist/core/ingestion/pipeline.js +60 -11
- package/dist/core/ingestion/process-processor.d.ts +109 -2
- package/dist/core/ingestion/process-processor.js +464 -52
- package/dist/core/ingestion/resolve-references.d.ts +6 -1
- package/dist/core/ingestion/resolve-references.js +66 -6
- package/dist/core/ingestion/route-extractors/constant-resolver.d.ts +8 -2
- package/dist/core/ingestion/route-extractors/constant-resolver.js +11 -7
- package/dist/core/ingestion/route-extractors/data-route-table.d.ts +40 -0
- package/dist/core/ingestion/route-extractors/data-route-table.js +876 -0
- package/dist/core/ingestion/route-extractors/dispatch-guard.d.ts +96 -0
- package/dist/core/ingestion/route-extractors/dispatch-guard.js +1184 -0
- package/dist/core/ingestion/route-extractors/java-const-resolver.d.ts +114 -0
- package/dist/core/ingestion/route-extractors/java-const-resolver.js +569 -0
- package/dist/core/ingestion/route-extractors/js-const-resolver.d.ts +192 -0
- package/dist/core/ingestion/route-extractors/js-const-resolver.js +1033 -0
- package/dist/core/ingestion/route-extractors/nest.d.ts +53 -0
- package/dist/core/ingestion/route-extractors/nest.js +523 -0
- package/dist/core/ingestion/route-extractors/spring-shared.d.ts +11 -0
- package/dist/core/ingestion/route-extractors/spring-shared.js +89 -0
- package/dist/core/ingestion/route-extractors/spring.js +214 -29
- package/dist/core/ingestion/scope-extractor-bridge.js +9 -1
- package/dist/core/ingestion/scope-extractor.d.ts +22 -7
- package/dist/core/ingestion/scope-extractor.js +309 -15
- package/dist/core/ingestion/scope-resolution/contract/scope-resolver.d.ts +311 -21
- package/dist/core/ingestion/scope-resolution/contract/scope-resolver.js +16 -5
- package/dist/core/ingestion/scope-resolution/graph-bridge/edges.d.ts +12 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/edges.js +47 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/ids.d.ts +20 -15
- package/dist/core/ingestion/scope-resolution/graph-bridge/ids.js +280 -42
- package/dist/core/ingestion/scope-resolution/graph-bridge/imports-to-edges.d.ts +123 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/imports-to-edges.js +171 -17
- package/dist/core/ingestion/scope-resolution/graph-bridge/node-lookup.d.ts +58 -1
- package/dist/core/ingestion/scope-resolution/graph-bridge/node-lookup.js +137 -34
- package/dist/core/ingestion/scope-resolution/graph-bridge/references-to-edges.d.ts +30 -1
- package/dist/core/ingestion/scope-resolution/graph-bridge/references-to-edges.js +39 -1
- package/dist/core/ingestion/scope-resolution/passes/callable-value-flow.d.ts +18 -1
- package/dist/core/ingestion/scope-resolution/passes/callable-value-flow.js +113 -18
- package/dist/core/ingestion/scope-resolution/passes/compound-receiver.d.ts +107 -5
- package/dist/core/ingestion/scope-resolution/passes/compound-receiver.js +590 -33
- package/dist/core/ingestion/scope-resolution/passes/free-call-fallback.d.ts +3 -0
- package/dist/core/ingestion/scope-resolution/passes/free-call-fallback.js +101 -41
- package/dist/core/ingestion/scope-resolution/passes/imported-value-refs.d.ts +34 -0
- package/dist/core/ingestion/scope-resolution/passes/imported-value-refs.js +62 -0
- package/dist/core/ingestion/scope-resolution/passes/property-dispatch.d.ts +5 -1
- package/dist/core/ingestion/scope-resolution/passes/property-dispatch.js +8 -1
- package/dist/core/ingestion/scope-resolution/passes/receiver-bound-calls.d.ts +105 -5
- package/dist/core/ingestion/scope-resolution/passes/receiver-bound-calls.js +931 -92
- package/dist/core/ingestion/scope-resolution/passes/return-shape-members.d.ts +58 -0
- package/dist/core/ingestion/scope-resolution/passes/return-shape-members.js +458 -0
- package/dist/core/ingestion/scope-resolution/passes/unique-name-properties.d.ts +180 -0
- package/dist/core/ingestion/scope-resolution/passes/unique-name-properties.js +418 -0
- package/dist/core/ingestion/scope-resolution/pipeline/phase.d.ts +29 -0
- package/dist/core/ingestion/scope-resolution/pipeline/phase.js +57 -0
- package/dist/core/ingestion/scope-resolution/pipeline/run.d.ts +55 -1
- package/dist/core/ingestion/scope-resolution/pipeline/run.js +241 -19
- package/dist/core/ingestion/scope-resolution/resolution-outcome.d.ts +112 -2
- package/dist/core/ingestion/scope-resolution/resolution-outcome.js +38 -1
- package/dist/core/ingestion/scope-resolution/scope/namespace-targets.d.ts +25 -3
- package/dist/core/ingestion/scope-resolution/scope/namespace-targets.js +36 -16
- package/dist/core/ingestion/scope-resolution/scope/walkers.d.ts +210 -9
- package/dist/core/ingestion/scope-resolution/scope/walkers.js +905 -22
- package/dist/core/ingestion/scope-resolution/summary-maps.d.ts +28 -0
- package/dist/core/ingestion/scope-resolution/summary-maps.js +50 -0
- package/dist/core/ingestion/scope-resolution/undecided-satisfaction.d.ts +55 -0
- package/dist/core/ingestion/scope-resolution/undecided-satisfaction.js +37 -0
- package/dist/core/ingestion/scope-resolution/unresolved-receivers.d.ts +109 -0
- package/dist/core/ingestion/scope-resolution/unresolved-receivers.js +204 -0
- package/dist/core/ingestion/scope-resolution/utils/definition-id.d.ts +13 -0
- package/dist/core/ingestion/scope-resolution/utils/definition-id.js +19 -0
- package/dist/core/ingestion/scope-resolution/utils/generic-instantiation.d.ts +171 -0
- package/dist/core/ingestion/scope-resolution/utils/generic-instantiation.js +218 -0
- package/dist/core/ingestion/scope-resolution/workspace-index-types.d.ts +34 -0
- package/dist/core/ingestion/scope-resolution/workspace-index-types.js +15 -0
- package/dist/core/ingestion/scope-resolution/workspace-index.d.ts +7 -20
- package/dist/core/ingestion/tree-sitter-queries.d.ts +11 -11
- package/dist/core/ingestion/tree-sitter-queries.js +678 -4
- package/dist/core/ingestion/type-env.js +11 -7
- package/dist/core/ingestion/type-extractors/shared.d.ts +17 -0
- package/dist/core/ingestion/type-extractors/shared.js +16 -0
- package/dist/core/ingestion/type-extractors/types.d.ts +12 -0
- package/dist/core/ingestion/type-extractors/typescript.d.ts +20 -0
- package/dist/core/ingestion/type-extractors/typescript.js +26 -0
- package/dist/core/ingestion/utils/ast-helpers.d.ts +297 -15
- package/dist/core/ingestion/utils/ast-helpers.js +578 -46
- package/dist/core/ingestion/utils/call-analysis.d.ts +27 -22
- package/dist/core/ingestion/utils/call-analysis.js +202 -7
- package/dist/core/ingestion/utils/callable-flow-captures.d.ts +59 -0
- package/dist/core/ingestion/utils/callable-flow-captures.js +51 -1
- package/dist/core/ingestion/utils/callable-labels.d.ts +25 -0
- package/dist/core/ingestion/utils/callable-labels.js +31 -0
- package/dist/core/ingestion/utils/effective-ram.d.ts +40 -0
- package/dist/core/ingestion/utils/effective-ram.js +58 -0
- package/dist/core/ingestion/utils/line-base.d.ts +14 -0
- package/dist/core/ingestion/utils/line-base.js +14 -0
- package/dist/core/ingestion/utils/method-props.d.ts +27 -4
- package/dist/core/ingestion/utils/method-props.js +29 -4
- package/dist/core/ingestion/utils/receiver-chain-captures.d.ts +31 -0
- package/dist/core/ingestion/utils/receiver-chain-captures.js +57 -0
- package/dist/core/ingestion/utils/receiver-chain-codec.d.ts +89 -0
- package/dist/core/ingestion/utils/receiver-chain-codec.js +182 -0
- package/dist/core/ingestion/utils/scope-tree-walk.d.ts +22 -0
- package/dist/core/ingestion/utils/scope-tree-walk.js +33 -0
- package/dist/core/ingestion/utils/template-arguments.d.ts +96 -0
- package/dist/core/ingestion/utils/template-arguments.js +196 -0
- package/dist/core/ingestion/utils/type-parameters.d.ts +49 -0
- package/dist/core/ingestion/utils/type-parameters.js +206 -0
- package/dist/core/ingestion/workers/callable-id.d.ts +80 -0
- package/dist/core/ingestion/workers/callable-id.js +125 -0
- package/dist/core/ingestion/workers/parse-worker.d.ts +14 -1
- package/dist/core/ingestion/workers/parse-worker.js +493 -54
- package/dist/core/ingestion/workers/worker-pool.d.ts +20 -27
- package/dist/core/ingestion/workers/worker-pool.js +91 -3
- package/dist/core/lbug/csv-generator.d.ts +27 -0
- package/dist/core/lbug/csv-generator.js +72 -17
- package/dist/core/lbug/extension-load-error.js +13 -2
- package/dist/core/lbug/extension-loader.d.ts +29 -0
- package/dist/core/lbug/extension-loader.js +31 -6
- package/dist/core/lbug/graph-emit-sink.d.ts +264 -0
- package/dist/core/lbug/graph-emit-sink.js +581 -0
- package/dist/core/lbug/lbug-adapter.d.ts +290 -11
- package/dist/core/lbug/lbug-adapter.js +652 -69
- package/dist/core/lbug/native-check.d.ts +21 -0
- package/dist/core/lbug/native-check.js +248 -32
- package/dist/core/lbug/pdg-emit-sink.d.ts +13 -4
- package/dist/core/lbug/pdg-emit-sink.js +21 -111
- package/dist/core/lbug/pool-adapter.d.ts +9 -0
- package/dist/core/lbug/pool-adapter.js +164 -14
- package/dist/core/lbug/query-batch.d.ts +75 -0
- package/dist/core/lbug/query-batch.js +102 -0
- package/dist/core/lbug/rel-pair-routing.d.ts +160 -2
- package/dist/core/lbug/rel-pair-routing.js +228 -10
- package/dist/core/lbug/schema.d.ts +163 -4
- package/dist/core/lbug/schema.js +404 -159
- package/dist/core/lbug/sync-csv-writer.d.ts +47 -0
- package/dist/core/lbug/sync-csv-writer.js +108 -0
- package/dist/core/run-analyze.d.ts +147 -0
- package/dist/core/run-analyze.js +1215 -179
- package/dist/core/search/bm25-index.d.ts +11 -0
- package/dist/core/search/bm25-index.js +60 -26
- package/dist/core/search/fts-indexes.d.ts +150 -9
- package/dist/core/search/fts-indexes.js +241 -23
- package/dist/core/wiki/graph-queries.js +145 -112
- package/dist/core/wiki/llm-client.d.ts +29 -3
- package/dist/core/wiki/llm-client.js +47 -12
- package/dist/core/wiki/prompts.d.ts +19 -0
- package/dist/core/wiki/prompts.js +20 -1
- package/dist/lib/utils.d.ts +113 -0
- package/dist/lib/utils.js +185 -0
- package/dist/mcp/local/aop-metadata.d.ts +77 -0
- package/dist/mcp/local/aop-metadata.js +227 -0
- package/dist/mcp/local/bean-metadata.d.ts +2 -1
- package/dist/mcp/local/bean-metadata.js +22 -1
- package/dist/mcp/local/convex-metadata.d.ts +8 -0
- package/dist/mcp/local/convex-metadata.js +45 -0
- package/dist/mcp/local/local-backend.d.ts +174 -11
- package/dist/mcp/local/local-backend.js +1678 -331
- package/dist/mcp/local/path-predicate.d.ts +19 -0
- package/dist/mcp/local/path-predicate.js +21 -0
- package/dist/mcp/local/pdg-impact.d.ts +132 -10
- package/dist/mcp/local/pdg-impact.js +391 -98
- package/dist/mcp/repository-policy.d.ts +1 -0
- package/dist/mcp/repository-policy.js +5 -0
- package/dist/mcp/resources.js +26 -4
- package/dist/mcp/server.js +23 -13
- package/dist/mcp/tools.d.ts +8 -0
- package/dist/mcp/tools.js +76 -23
- package/dist/server/analyze-job.d.ts +37 -2
- package/dist/server/analyze-job.js +13 -2
- package/dist/server/analyze-launch.d.ts +1 -1
- package/dist/server/analyze-launch.js +79 -10
- package/dist/server/analyze-worker-core.d.ts +1 -1
- package/dist/server/analyze-worker-core.js +10 -1
- package/dist/server/analyze-worker-ipc.d.ts +1 -1
- package/dist/server/analyze-worker-ipc.js +4 -0
- package/dist/server/analyze-worker-protocol.d.ts +59 -0
- package/dist/server/analyze-worker-protocol.js +1 -0
- package/dist/server/analyze-worker.d.ts +1 -17
- package/dist/server/api.d.ts +2 -11
- package/dist/server/api.js +164 -163
- package/dist/server/embed-run-outcome.d.ts +89 -0
- package/dist/server/embed-run-outcome.js +88 -0
- package/dist/server/git-clone.js +6 -2
- package/dist/server/middleware.d.ts +116 -9
- package/dist/server/middleware.js +291 -22
- package/dist/server/sse-progress.d.ts +41 -0
- package/dist/server/sse-progress.js +125 -0
- package/dist/storage/branch-index.d.ts +11 -6
- package/dist/storage/branch-index.js +15 -7
- package/dist/storage/file-hash.js +2 -2
- package/dist/storage/fs-atomic.d.ts +25 -0
- package/dist/storage/fs-atomic.js +42 -0
- package/dist/storage/git.d.ts +131 -0
- package/dist/storage/git.js +236 -2
- package/dist/storage/index-lock.d.ts +102 -0
- package/dist/storage/index-lock.js +660 -0
- package/dist/storage/parse-cache.js +588 -6
- package/dist/storage/parsedfile-store.js +76 -6
- package/dist/storage/repo-manager.d.ts +54 -441
- package/dist/storage/repo-manager.js +312 -221
- package/dist/storage/repo-meta.d.ts +530 -0
- package/dist/storage/repo-meta.js +100 -0
- package/dist/types/pipeline.d.ts +37 -0
- package/hooks/antigravity/gitnexus-antigravity-hook.cjs +1 -1
- package/hooks/claude/gitnexus-hook.cjs +1 -1
- package/hooks/claude/resolve-analyze-cmd.cjs +80 -13
- package/package.json +11 -2
- package/scripts/cross-platform-shard.ts +153 -0
- package/scripts/cross-platform-tests.ts +122 -0
- package/scripts/run-cross-platform.ts +16 -5
- package/skills/gitnexus-cli.md +3 -3
- package/skills/gitnexus-debugging.md +37 -7
- package/skills/gitnexus-exploring.md +26 -4
- package/skills/gitnexus-impact-analysis.md +71 -10
- package/skills/gitnexus-plan/README.md +11 -6
- package/skills/gitnexus-plan/references/evidence-provenance.md +49 -12
- package/skills/gitnexus-plan/scripts/evidence-provenance.mjs +654 -372
- package/skills/gitnexus-refactoring.md +48 -5
- package/skills/gitnexus-review/SKILL.md +12 -6
- package/skills/gitnexus-review/ci-personas/ci-adversarial-lens.md +1 -1
- package/skills/gitnexus-review/ci-personas/ci-blast-radius-lens.md +1 -1
- package/skills/gitnexus-review/ci-personas/ci-correctness-lens.md +1 -1
- package/skills/gitnexus-review/ci-personas/ci-coverage-lens.md +1 -1
- package/skills/gitnexus-review/ci-personas/ci-critic-lens.md +1 -1
- package/skills/gitnexus-review/ci-personas/ci-security-lens.md +1 -1
- package/skills/gitnexus-taint-analysis.md +13 -7
- package/skills/gitnexus-work/SKILL.md +4 -1
- package/skills/gitnexus-work/references/evidence-provenance.md +49 -12
- package/skills/gitnexus-work/scripts/evidence-provenance.mjs +654 -372
- package/vendor/leiden/utils.cjs +28 -1
- package/web/assets/ProcessFlowModal-Badh2Pbg.js +24 -0
- package/web/assets/{__vite-browser-external-bMKyYQkO.js → __vite-browser-external-COxE8F0G.js} +1 -1
- package/web/assets/abnfDiagram-QNN2D4NM-Cq2djWWe.js +1 -0
- package/web/assets/agent-Dr4l5EOp.js +662 -0
- package/web/assets/architecture-TIHT7OUA-V6N4J3SY-fTePvLoe.js +1 -0
- package/web/assets/architectureDiagram-OT7VKSJ7-mKEXxkeF.js +36 -0
- package/web/assets/{blockDiagram-7IZFK4PR-DBefcjof.js → blockDiagram-54WLDVWM-Dg_hrRWE.js} +4 -4
- package/web/assets/{c4Diagram-Y2BXMSZH-EjWnjEJl.js → c4Diagram-X2LASM7V-CnhoT4aV.js} +2 -2
- package/web/assets/chunk-224SPVON-B8gxtXpy.js +1 -0
- package/web/assets/chunk-2AEHWXPW-CV4r6-1I.js +127 -0
- package/web/assets/chunk-2SREHG4O-Dip42xOq.js +1 -0
- package/web/assets/chunk-4RFN2BYJ-DHHWuC-n.js +1 -0
- package/web/assets/chunk-66DQ2XMT-CM0xjFAN.js +1 -0
- package/web/assets/chunk-6BELYETK-ChsYtfHW.js +1 -0
- package/web/assets/{chunk-LII3EMHJ-BL6lKJ_P.js → chunk-6L755F7B-CMhLBxi2.js} +1 -1
- package/web/assets/{chunk-QA3QBVWF-DVXPOIxe.js → chunk-7CWYLC5S-DRgGkkpF.js} +1 -1
- package/web/assets/{chunk-ZXARS5L4-C3v-4Fsw.js → chunk-A7VWPJGB-B4O3oQdQ.js} +1 -1
- package/web/assets/chunk-BI6VK774-D0oaWk8V.js +1 -0
- package/web/assets/chunk-D6VWDJW2-BxcBdZ9c.js +2 -0
- package/web/assets/chunk-DMV4VAQV-Bn6WXDSX.js +4 -0
- package/web/assets/chunk-E5QJAATJ-dh-5CtIV.js +2 -0
- package/web/assets/chunk-EQFTRU2I-1ix7TzW9.js +2 -0
- package/web/assets/chunk-FWYVLQTC-BgDItRzJ.js +1 -0
- package/web/assets/chunk-HNC4WDU7-DoU3KnA7.js +1 -0
- package/web/assets/chunk-L5GCOVLC-CE2w8Nm_.js +161 -0
- package/web/assets/chunk-LAHSG3N2-Bz4hcn0N.js +321 -0
- package/web/assets/chunk-LORZLZWG-B57uGw2N.js +88 -0
- package/web/assets/chunk-NLANEA3F-XpH_NPA5.js +62 -0
- package/web/assets/chunk-NV3KIAZN-5yvcpMiu.js +1 -0
- package/web/assets/chunk-OIYT25JQ-CQ6KOZGX.js +1 -0
- package/web/assets/chunk-PE7DX7ZZ-CCvRVj43.js +10 -0
- package/web/assets/chunk-Q67WD55A-BWCH2SVz.js +156 -0
- package/web/assets/chunk-RRFMTAIC-CMN0wcYA.js +1 -0
- package/web/assets/{chunk-RLI5ZMPA-CkXZ0y0U.js → chunk-SATU7PGQ-B1zhgOvc.js} +1 -1
- package/web/assets/chunk-STOV2HOB-GnExfzIX.js +1 -0
- package/web/assets/{chunk-INKRHTLW-Ckl3_KkO.js → chunk-SZD42YQK-ijyKKVr1.js} +21 -21
- package/web/assets/{chunk-LCXTWHL2-C162wE5z.js → chunk-TFPGFQPA-Dj6a-0pC.js} +3 -3
- package/web/assets/chunk-TGVD4F4B-BMc31Gj2.js +2 -0
- package/web/assets/chunk-TZUXEDM2-B7p9AcTw.js +1 -0
- package/web/assets/chunk-UAT7B5JY-DW-A_fpI.js +1 -0
- package/web/assets/{chunk-6764PJDD-C7xxk063.js → chunk-VE5CLXGZ-C1vB7wpY.js} +1 -1
- package/web/assets/{chunk-RG4AUYOV-ZNgyLFq6.js → chunk-VJFVEZTB-CX66F2ep.js} +3 -3
- package/web/assets/chunk-VY5UBI4V-yxPQAWxw.js +1 -0
- package/web/assets/chunk-WJBAP47W-BckNkuEN.js +1 -0
- package/web/assets/chunk-XNMVGMAZ-Cg_LnPtj.js +1 -0
- package/web/assets/classDiagram-VPOSVPXH-BjOiXA_C.js +1 -0
- package/web/assets/classDiagram-v2-5VFNUXQA-BjOiXA_C.js +1 -0
- package/web/assets/{cose-bilkent-UX7MHV2Q-BmnZ7Mvj.js → cose-bilkent-RZA4XIPR-BHpK4Crp.js} +1 -1
- package/web/assets/cynefin-VYW2F7L2-2VAHYKR6-DAsF6GZv.js +1 -0
- package/web/assets/cynefinDiagram-TR7LZUCG-C3Iar9lZ.js +62 -0
- package/web/assets/dagre-K64A6Z3X-CUwi79mA.js +4 -0
- package/web/assets/diagram-2TLGJV2N-C2F5Nfym.js +30 -0
- package/web/assets/diagram-JCD7PQ7C-DC5-9FRr.js +24 -0
- package/web/assets/{diagram-HNR7UZ2L-DVRltWbL.js → diagram-KFBZAVDW-Dfmf_4ti.js} +3 -3
- package/web/assets/diagram-L7DVE3PN-GIRyVUtt.js +41 -0
- package/web/assets/diagram-YP3FGXHI-CyNFYtkd.js +24 -0
- package/web/assets/ebnfDiagram-DRHRQJWO-D8_CI4ZF.js +1 -0
- package/web/assets/erDiagram-SZLJLQMB-CohQjznC.js +85 -0
- package/web/assets/error-D9MtuG9s.js +1 -0
- package/web/assets/eventmodeling-45OFAUF4-AOUJWSLX-BvTc6iQi.js +1 -0
- package/web/assets/flowDiagram-BWE6NHOH-B6RnEvD9.js +1 -0
- package/web/assets/ganttDiagram-2QTCJSNI-Cks_mEcF.js +292 -0
- package/web/assets/gitGraph-TEB2WS4Q-U5VWYIBC-Dy7CCSZ5.js +1 -0
- package/web/assets/gitGraphDiagram-VVZAVV5G-CG41cIVc.js +106 -0
- package/web/assets/{index-D7mTFcvQ.js → index-2zdvEdzg.js} +51 -51
- package/web/assets/index-CJDpyH-n.css +2 -0
- package/web/assets/info-DKCQHKI2-DX6KST54-BLJg1ikX.js +1 -0
- package/web/assets/infoDiagram-FY4PZKRE-BJ3vPVwW.js +2 -0
- package/web/assets/{ishikawaDiagram-BNXS4ZKH-XpjJRU9h.js → ishikawaDiagram-4JDSWWDM-DmqWtjkl.js} +2 -2
- package/web/assets/{journeyDiagram-M6C3CM3L-C6wjooas.js → journeyDiagram-QUS3FAKT-XAzVzrQW.js} +3 -3
- package/web/assets/{kanban-definition-75IXJCU3-5_UVY79g.js → kanban-definition-D4L7SQKK-YurRnmYn.js} +6 -6
- package/web/assets/katex-C5OPUE3Q-Bnbavtmu.js +257 -0
- package/web/assets/{mindmap-definition-2TDM6QVE-8xDLzk2e.js → mindmap-definition-66QP5TD6-ChrWWnil.js} +5 -5
- package/web/assets/node.browser-U-KyT5AW.js +1 -0
- package/web/assets/packet-7NZHBO7P-5WG45QPS-KUxcuvaA.js +1 -0
- package/web/assets/pegDiagram-YKIO5C6U-QGeQLEq2.js +1 -0
- package/web/assets/pie-RZYD4A2V-2OCZ2VTD-DPs08kJY.js +1 -0
- package/web/assets/pieDiagram-YPY3TKG5-BuT3MYzm.js +39 -0
- package/web/assets/{quadrantDiagram-VICAPDV7-DR54jOeR.js → quadrantDiagram-VO5QLCXA-B7098wSc.js} +3 -3
- package/web/assets/radar-I7S5WNFK-EPLSA35B-w5F0K3a7.js +1 -0
- package/web/assets/railroad-3IZDKUUU-PWFQV6Y6-Bu668yqY.js +1 -0
- package/web/assets/railroad-abnf-AHOZXSZD-JYYJX3BS-B6ghpETS.js +1 -0
- package/web/assets/railroad-ebnf-EBAXGLYW-RBZ4ONAP-D-XmHh3M.js +1 -0
- package/web/assets/railroad-peg-LSFZ7HO6-KHNPXGPG-mhkrhzEn.js +1 -0
- package/web/assets/railroadDiagram-M77LTMSB-AXu4vxk_.js +1 -0
- package/web/assets/{requirementDiagram-JXO7QTGE-PEkg7sKC.js → requirementDiagram-RASO5HTO-B-l8InpK.js} +4 -4
- package/web/assets/{sankeyDiagram-URQDO5SZ-DDWEtjcs.js → sankeyDiagram-F32LOJ6L-Kd7zjJgX.js} +3 -3
- package/web/assets/{sequenceDiagram-VS2MUI6T-Bv-uwANx.js → sequenceDiagram-URATNSBD-BlcdY9DS.js} +7 -7
- package/web/assets/sizeCapture-5GORAGP4-BEqQzsxs.js +1 -0
- package/web/assets/src-C5sx_gMp.js +1 -0
- package/web/assets/stateDiagram-DODFXNG5-DTdHc-fF.js +1 -0
- package/web/assets/stateDiagram-v2-JNMM5JRA-DioNLDDo.js +1 -0
- package/web/assets/swimlanes-OSWOYLSK-CA0ofdwY.js +2 -0
- package/web/assets/swimlanesDiagram-RHGX2RDE-PkwUdckC.js +8 -0
- package/web/assets/{timeline-definition-O6YCAMPW-Qmsuo7qS.js → timeline-definition-WJXWRH4I-DUfp1R3E.js} +3 -3
- package/web/assets/treeView-QDETBFTQ-EHYTSQNO-C5lpBgPm.js +1 -0
- package/web/assets/treemap-6X3UGDF4-CCWCF7EK-BB0ZyO-B.js +1 -0
- package/web/assets/vennDiagram-K3VCMQLI-Bj-FN-XS.js +34 -0
- package/web/assets/wardley-OPB4EBWU-6OWERDVT-CEA3Nq0j.js +1 -0
- package/web/assets/wardleyDiagram-XK6FUAWV-CVV0dHFr.js +78 -0
- package/web/assets/xychartDiagram-5VRUVLCW-CK_rbSWE.js +7 -0
- package/web/index.html +16 -15
- package/dist/core/ingestion/languages/python/index-stats.d.ts +0 -18
- package/dist/core/ingestion/languages/python/index-stats.js +0 -25
- package/web/assets/ProcessFlowModal-CwkpVkv-.js +0 -22
- package/web/assets/agent-Ds-lkZjX.js +0 -626
- package/web/assets/architecture-7EHR7CIX-6QZW5X65-BVWFvYz2.js +0 -1
- package/web/assets/architectureDiagram-UL44E2DR-CmG3uPWf.js +0 -36
- package/web/assets/chunk-2T2R6R2M-Bb6Sy3_j.js +0 -4
- package/web/assets/chunk-2UTLFMKG-CXlhF3Pt.js +0 -1
- package/web/assets/chunk-3SSMPTDK-rPsRM1x0.js +0 -321
- package/web/assets/chunk-4R4BOZG6-Be_F0JoX.js +0 -159
- package/web/assets/chunk-67TQ5CYL-CA7OhIEf.js +0 -124
- package/web/assets/chunk-7J6CGLKN-BlKwgXKs.js +0 -10
- package/web/assets/chunk-C62D2QBJ-3gdL8EKc.js +0 -1
- package/web/assets/chunk-CEXFNPSA-CjwtMDkc.js +0 -1
- package/web/assets/chunk-J5EP6P6S-L19oz55R.js +0 -1
- package/web/assets/chunk-KGFNY3KK-BZeP-55u.js +0 -62
- package/web/assets/chunk-KGYTTC2M-zm6n242I.js +0 -1
- package/web/assets/chunk-KNLZD3CH-BGlP6X9R.js +0 -1
- package/web/assets/chunk-LRIF4GLE-n59lhprL.js +0 -1
- package/web/assets/chunk-RERM46MO-B5dAdWpP.js +0 -1
- package/web/assets/chunk-RKZBBQEN-MyIQbGgD.js +0 -1
- package/web/assets/chunk-T2UQINTJ-BEyXhZWe.js +0 -1
- package/web/assets/chunk-UP6H54XL-BG-n7qDp.js +0 -1
- package/web/assets/chunk-UXSXWOXI-CW1_r5cS.js +0 -1
- package/web/assets/chunk-UY5QBCOK-ByqTVLvh.js +0 -1
- package/web/assets/chunk-VU6ZFW4Y-BLeasdkU.js +0 -2
- package/web/assets/classDiagram-KGZ6W3CR-olpO3fMe.js +0 -1
- package/web/assets/classDiagram-v2-72OJOZXJ-olpO3fMe.js +0 -1
- package/web/assets/dagre-ND4H6XIP-CY4iIF7v.js +0 -4
- package/web/assets/diagram-3NCE3AQN-CO6QpzEE.js +0 -43
- package/web/assets/diagram-GF46GFSD-B2atbzmU.js +0 -24
- package/web/assets/diagram-QXG6HAR7-DR6AHD2h.js +0 -24
- package/web/assets/diagram-WEQXMOUZ-DkpoMwTL.js +0 -10
- package/web/assets/erDiagram-L5TCEMPS-n8g_90bc.js +0 -85
- package/web/assets/eventmodeling-FCH6USID-MREXMVOE-CgFBM7e-.js +0 -1
- package/web/assets/flowDiagram-H6V6AXG4-SGMDiCkB.js +0 -162
- package/web/assets/ganttDiagram-JCBTUEKG-Cb3UBqRS.js +0 -292
- package/web/assets/gitGraph-WXDBUCRP-R675I2BI-DCJv7SII.js +0 -1
- package/web/assets/gitGraphDiagram-S2ZK5IYY-Bs9CR7tq.js +0 -106
- package/web/assets/index-CX_fADmQ.css +0 -2
- package/web/assets/info-J43DQDTF-KCYPFFUO-BfNy-9Nd.js +0 -1
- package/web/assets/infoDiagram-3YFTVSEB-T368on4D.js +0 -2
- package/web/assets/katex-K3KEBU37-qRQBy-EZ.js +0 -261
- package/web/assets/node-Ct_zna8U.js +0 -8
- package/web/assets/packet-YPE3B663-LP52Z2RK-D4qkeG9k.js +0 -1
- package/web/assets/pie-LRSECV5Y-TCRJHUBD-B_yMKyQa.js +0 -1
- package/web/assets/pieDiagram-CU6KROY3-Bv4LpAbr.js +0 -30
- package/web/assets/radar-GUYGQ44K-RDLRG3WG-DeD6yN_0.js +0 -1
- package/web/assets/sdk-CzHHH8tD.js +0 -37
- package/web/assets/src-Cv1eWg0o.js +0 -1
- package/web/assets/stateDiagram-7D4R322I-DVNjmkEq.js +0 -1
- package/web/assets/stateDiagram-v2-36443NZ5-CyN4Fh7_.js +0 -1
- package/web/assets/treeView-BLDUP644-QA4HXRO3-CDuSYnd4.js +0 -1
- package/web/assets/treemap-LRROVOQU-LLAWBHMP-imazucyJ.js +0 -1
- package/web/assets/vennDiagram-MWXL3ELB-BD1iK1SX.js +0 -34
- package/web/assets/wardley-L42UT6IY-5TKZOOLJ-DqrT9tB8.js +0 -1
- package/web/assets/wardleyDiagram-CUQ6CDDI-D6TzLVob.js +0 -78
- package/web/assets/xychartDiagram-N2JHSOCM-CoZ_Tits.js +0 -7
- /package/web/assets/{chunk-7W6UQGC5-pyKGssV3.js → chunk-LIEV3EAG-pyKGssV3.js} +0 -0
|
@@ -1,5 +1,18 @@
|
|
|
1
|
-
import type { Range } from '../../../_shared/index.js';
|
|
2
|
-
|
|
1
|
+
import type { Range, ReferenceKind } from '../../../_shared/index.js';
|
|
2
|
+
import type { DecodedReceiverChain } from '../utils/receiver-chain-codec.js';
|
|
3
|
+
export type ResolutionSuppressionReason = 'adl-ordinary-lookup-blocked' | 'conversion-rank-tied' | 'inline-ns-ambiguous' | 'member-lookup-ambiguous' | 'selected-callable-deleted' | 'overload-ambiguous' | 'overload-ambiguous-normalization' | 'free-call-instance-ownership'
|
|
4
|
+
/** #2701 — the receiver is rebound by its own scope and has no type
|
|
5
|
+
* there (a JS/TS ordinary `function`'s `this`), so no enclosing type
|
|
6
|
+
* can be its type. See `isReceiverOwnedButUnbound`. */
|
|
7
|
+
| 'receiver-owned-but-unbound'
|
|
8
|
+
/** #2744 — the receiver is a compound expression (a call, a chain, a
|
|
9
|
+
* construction) whose TYPE could not be established, so the member call
|
|
10
|
+
* was dropped with no candidate at all. Distinct from the ambiguity
|
|
11
|
+
* reasons above: there is nothing to be ambiguous between. Consumers use
|
|
12
|
+
* this to report `impact()`/`context()` counts as a lower bound rather
|
|
13
|
+
* than as exact, since a dropped site's callee is by definition unknown
|
|
14
|
+
* and cannot be attributed to any target. */
|
|
15
|
+
| 'receiver-unresolved';
|
|
3
16
|
export type ResolutionOutcome = {
|
|
4
17
|
readonly kind: 'resolved';
|
|
5
18
|
readonly targetId: string;
|
|
@@ -20,5 +33,102 @@ export type ResolutionOutcome = {
|
|
|
20
33
|
readonly filePath: string;
|
|
21
34
|
readonly name: string;
|
|
22
35
|
readonly range: Range;
|
|
36
|
+
/**
|
|
37
|
+
* The reference kind of the site the suppression happened at, when the
|
|
38
|
+
* emitting case knows it.
|
|
39
|
+
*
|
|
40
|
+
* Set for `receiver-unresolved` because Case 0's gate fires on any
|
|
41
|
+
* compound receiver regardless of what the reference *is*, so a property
|
|
42
|
+
* write (`x.argtypes = [...]`) and a property read (`d.source.kind`) land
|
|
43
|
+
* in the same bucket as a genuinely dropped method call. Anything
|
|
44
|
+
* measuring resolver gaps has to separate them, and the site kind is the
|
|
45
|
+
* only authoritative signal — re-deriving it from the source line means
|
|
46
|
+
* regex-classifying the number that gates the work, which is the same
|
|
47
|
+
* textual-shape dispatch the structural-receiver work exists to remove.
|
|
48
|
+
*
|
|
49
|
+
* Diagnostic only. `summarizeUnresolvedReceivers` ignores it, so the
|
|
50
|
+
* persisted `RepoMeta.unresolvedReceiverMembers` artifact is unchanged.
|
|
51
|
+
*/
|
|
52
|
+
readonly siteKind?: ReferenceKind;
|
|
53
|
+
/**
|
|
54
|
+
* Structural shape of the receiver whose type could not be established.
|
|
55
|
+
*
|
|
56
|
+
* Derived from the site's ENCODED RECEIVER CHAIN — the compact string the
|
|
57
|
+
* capture emitters mint by walking the real AST — never from the source
|
|
58
|
+
* line. Re-deriving a shape textually would mean regex-classifying the
|
|
59
|
+
* number that gates this work, which is exactly the textual-shape dispatch
|
|
60
|
+
* the structural-receiver line of work exists to remove.
|
|
61
|
+
*
|
|
62
|
+
* Lets a consumer ask "which KIND of receiver are we losing?" instead of
|
|
63
|
+
* only "how many". Without it, `callDropsByExtension` is the finest
|
|
64
|
+
* available split and a language's bucket says nothing about whether the
|
|
65
|
+
* cause is one defect or five.
|
|
66
|
+
*
|
|
67
|
+
* NOTE ON COVERAGE: only drops that REACH the recorder carry a shape, and
|
|
68
|
+
* Case 0's gate fires on receiver punctuation, so shapes that mint no
|
|
69
|
+
* reference site at all (`?.`, explicit type args, subscript) are absent
|
|
70
|
+
* from this breakdown entirely — they are the INVISIBLE-GAP population the
|
|
71
|
+
* bench shape arm exists to see. A shape census here is a census of the
|
|
72
|
+
* VISIBLE drops, not of all lost calls.
|
|
73
|
+
*
|
|
74
|
+
* Diagnostic only. `summarizeUnresolvedReceivers` ignores it, so the
|
|
75
|
+
* persisted `RepoMeta.unresolvedReceiverMembers` artifact is unchanged.
|
|
76
|
+
*/
|
|
77
|
+
readonly receiverShape?: ReceiverShape;
|
|
78
|
+
/**
|
|
79
|
+
* Whether the receiver is rooted INSIDE the analyzed program.
|
|
80
|
+
*
|
|
81
|
+
* The single most important distinction a static-analysis tool can make
|
|
82
|
+
* about a call it did not resolve, and the one this codebase previously
|
|
83
|
+
* collapsed:
|
|
84
|
+
*
|
|
85
|
+
* - `in-program` — the receiver's base is a local, parameter, field or a
|
|
86
|
+
* type this index knows. Failing to type it is a RESOLVER DEFECT: a real
|
|
87
|
+
* caller exists in the graph and was lost.
|
|
88
|
+
* - `external` — the base is rooted in code this index does not contain
|
|
89
|
+
* (`System.out.println`, `fetch(...)`, `os.environ.setdefault`). There is
|
|
90
|
+
* NO node to point an edge at, so nothing was lost. A compiler resolves
|
|
91
|
+
* these against the JDK / BCL / lib.d.ts; without those, the honest
|
|
92
|
+
* answer is "outside the program", not "unknown".
|
|
93
|
+
*
|
|
94
|
+
* Only `in-program` makes an `impact` count a lower bound. Reporting an
|
|
95
|
+
* external target as uncertainty is what made the hedge fire on nearly
|
|
96
|
+
* every real codebase and taught readers to ignore it.
|
|
97
|
+
*/
|
|
98
|
+
readonly receiverOrigin?: ReceiverOrigin;
|
|
23
99
|
};
|
|
100
|
+
/**
|
|
101
|
+
* How a dropped receiver was spelled, structurally.
|
|
102
|
+
*
|
|
103
|
+
* - `chain-call` every recorded step is a call — `svc.getUser().save()`
|
|
104
|
+
* - `chain-field` every recorded step is a field — `h.repo.save()`
|
|
105
|
+
* - `chain-mixed` the chain interleaves both — `svc.getUser().addr.save()`
|
|
106
|
+
* - `chain-unwrap` the chain contains an `await` or `index` step — the shapes
|
|
107
|
+
* this work exists to expose. They were previously counted as
|
|
108
|
+
* FIELDS, because the classifier's parameter widened `kind` to
|
|
109
|
+
* `string` and they fell into its `else`.
|
|
110
|
+
* - `no-chain` the site carried no chain, so the receiver was a compound
|
|
111
|
+
* expression the capture walk could not reduce to a nameable
|
|
112
|
+
* base (it stopped early, or the base was unencodable)
|
|
113
|
+
*/
|
|
114
|
+
export type ReceiverShape = 'chain-call' | 'chain-field' | 'chain-mixed' | 'chain-unwrap' | 'no-chain';
|
|
115
|
+
/**
|
|
116
|
+
* Is the receiver rooted inside the analyzed program, or outside it?
|
|
117
|
+
*
|
|
118
|
+
* `unknown` is for a site carrying no usable base at all — neither a chain nor
|
|
119
|
+
* an explicit receiver — where the question cannot be asked. It is treated as
|
|
120
|
+
* `in-program` for hedging purposes, because assuming completeness we cannot
|
|
121
|
+
* demonstrate is the unsafe direction.
|
|
122
|
+
*/
|
|
123
|
+
export type ReceiverOrigin = 'in-program' | 'external' | 'unknown';
|
|
124
|
+
/** Classify a dropped receiver from its encoded chain. `undefined` chain ⇒
|
|
125
|
+
* `no-chain`; an undecodable one is also `no-chain`, since what we know about
|
|
126
|
+
* it is exactly that no usable structure survived.
|
|
127
|
+
*
|
|
128
|
+
* Takes `DecodedReceiverChain` rather than a structural duck-type: widening
|
|
129
|
+
* `kind` to `string` let `await` and `index` fall into an `else` branch and be
|
|
130
|
+
* counted as FIELDS, so the two shapes this work exists to expose were
|
|
131
|
+
* censused as `chain-field`. The discriminated union makes a new step kind a
|
|
132
|
+
* compile error instead of a silent bucket. */
|
|
133
|
+
export declare function classifyReceiverShape(decoded: DecodedReceiverChain | undefined): ReceiverShape;
|
|
24
134
|
export type ResolutionOutcomeRecorder = (outcome: ResolutionOutcome) => void;
|
|
@@ -1 +1,38 @@
|
|
|
1
|
-
|
|
1
|
+
/** Classify a dropped receiver from its encoded chain. `undefined` chain ⇒
|
|
2
|
+
* `no-chain`; an undecodable one is also `no-chain`, since what we know about
|
|
3
|
+
* it is exactly that no usable structure survived.
|
|
4
|
+
*
|
|
5
|
+
* Takes `DecodedReceiverChain` rather than a structural duck-type: widening
|
|
6
|
+
* `kind` to `string` let `await` and `index` fall into an `else` branch and be
|
|
7
|
+
* counted as FIELDS, so the two shapes this work exists to expose were
|
|
8
|
+
* censused as `chain-field`. The discriminated union makes a new step kind a
|
|
9
|
+
* compile error instead of a silent bucket. */
|
|
10
|
+
export function classifyReceiverShape(decoded) {
|
|
11
|
+
if (decoded === undefined || decoded.steps.length === 0)
|
|
12
|
+
return 'no-chain';
|
|
13
|
+
let calls = 0;
|
|
14
|
+
let fields = 0;
|
|
15
|
+
let unwraps = 0;
|
|
16
|
+
for (const step of decoded.steps) {
|
|
17
|
+
switch (step.kind) {
|
|
18
|
+
case 'call':
|
|
19
|
+
calls++;
|
|
20
|
+
break;
|
|
21
|
+
case 'field':
|
|
22
|
+
fields++;
|
|
23
|
+
break;
|
|
24
|
+
case 'await':
|
|
25
|
+
case 'index':
|
|
26
|
+
unwraps++;
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
// An unwrap step dominates: a chain containing one fails for reasons a pure
|
|
31
|
+
// field or call chain does not, so folding it into either bucket would
|
|
32
|
+
// misattribute the population a fix has to target.
|
|
33
|
+
if (unwraps > 0)
|
|
34
|
+
return 'chain-unwrap';
|
|
35
|
+
if (calls > 0 && fields > 0)
|
|
36
|
+
return 'chain-mixed';
|
|
37
|
+
return calls > 0 ? 'chain-call' : 'chain-field';
|
|
38
|
+
}
|
|
@@ -15,8 +15,19 @@
|
|
|
15
15
|
*
|
|
16
16
|
* Next-consumer contract: any language with namespace-style imports
|
|
17
17
|
* (TypeScript `import * as X`, Java static import, Ruby `require`)
|
|
18
|
-
* uses this directly. `
|
|
19
|
-
*
|
|
18
|
+
* uses this directly. The finalized `ImportEdge.kind === 'namespace'`
|
|
19
|
+
* classification is authoritative; providers may produce it directly from
|
|
20
|
+
* syntax or reclassify a named import after target resolution proves it names
|
|
21
|
+
* a module.
|
|
22
|
+
*
|
|
23
|
+
* A namespace edge may be reachable under TWO receiver spellings: the name it
|
|
24
|
+
* binds locally, and — for a language that opts in via
|
|
25
|
+
* `ScopeResolver.namespaceReceiverIncludesImportPath` — the dotted module path
|
|
26
|
+
* it was imported under (#2826). Python's `import a.b` binds only `a` while
|
|
27
|
+
* the call site writes `a.b`, so both keys are needed. The opt-in exists
|
|
28
|
+
* because the edge shape alone cannot tell that case from Swift's
|
|
29
|
+
* `import Foo.Bar`, where the same pair means the opposite thing — see the
|
|
30
|
+
* hook's contract note.
|
|
20
31
|
*
|
|
21
32
|
* Scope-chain concern (verified 2026-04-21): `pythonImportOwningScope`
|
|
22
33
|
* documents that function-local and class-body imports bind to the
|
|
@@ -33,4 +44,15 @@
|
|
|
33
44
|
*/
|
|
34
45
|
import type { ParsedFile } from '../../../../_shared/index.js';
|
|
35
46
|
import type { ScopeResolutionIndexes } from '../../model/scope-resolution-indexes.js';
|
|
36
|
-
|
|
47
|
+
import type { ScopeResolver } from '../contract/scope-resolver.js';
|
|
48
|
+
export interface NamespaceTargetOptions {
|
|
49
|
+
/** `ScopeResolver.namespaceReceiverPaths` for the file's language. Absent
|
|
50
|
+
* (or returning `undefined` per edge) keeps the local-name-only default:
|
|
51
|
+
* the extra spellings are opt-in, never inferred from the edge shape. */
|
|
52
|
+
readonly receiverPaths?: ScopeResolver['namespaceReceiverPaths'];
|
|
53
|
+
/** Whether a path is a module the workspace parsed. Lets a provider propose
|
|
54
|
+
* a prefix file and have it dropped when absent, instead of minting a key
|
|
55
|
+
* to a file that does not exist. Defaults to "nothing exists". */
|
|
56
|
+
readonly moduleFileExists?: (filePath: string) => boolean;
|
|
57
|
+
}
|
|
58
|
+
export declare function collectNamespaceTargets(parsed: ParsedFile, scopes: ScopeResolutionIndexes, options?: NamespaceTargetOptions): Map<string, string[]>;
|
|
@@ -15,8 +15,19 @@
|
|
|
15
15
|
*
|
|
16
16
|
* Next-consumer contract: any language with namespace-style imports
|
|
17
17
|
* (TypeScript `import * as X`, Java static import, Ruby `require`)
|
|
18
|
-
* uses this directly. `
|
|
19
|
-
*
|
|
18
|
+
* uses this directly. The finalized `ImportEdge.kind === 'namespace'`
|
|
19
|
+
* classification is authoritative; providers may produce it directly from
|
|
20
|
+
* syntax or reclassify a named import after target resolution proves it names
|
|
21
|
+
* a module.
|
|
22
|
+
*
|
|
23
|
+
* A namespace edge may be reachable under TWO receiver spellings: the name it
|
|
24
|
+
* binds locally, and — for a language that opts in via
|
|
25
|
+
* `ScopeResolver.namespaceReceiverIncludesImportPath` — the dotted module path
|
|
26
|
+
* it was imported under (#2826). Python's `import a.b` binds only `a` while
|
|
27
|
+
* the call site writes `a.b`, so both keys are needed. The opt-in exists
|
|
28
|
+
* because the edge shape alone cannot tell that case from Swift's
|
|
29
|
+
* `import Foo.Bar`, where the same pair means the opposite thing — see the
|
|
30
|
+
* hook's contract note.
|
|
20
31
|
*
|
|
21
32
|
* Scope-chain concern (verified 2026-04-21): `pythonImportOwningScope`
|
|
22
33
|
* documents that function-local and class-body imports bind to the
|
|
@@ -31,28 +42,37 @@
|
|
|
31
42
|
* honor the hook's per-scope contract, this function must walk the
|
|
32
43
|
* reference-site scope chain (mirror `findExportedDefByName`).
|
|
33
44
|
*/
|
|
34
|
-
export function collectNamespaceTargets(parsed, scopes) {
|
|
45
|
+
export function collectNamespaceTargets(parsed, scopes, options) {
|
|
35
46
|
const out = new Map();
|
|
36
47
|
const moduleEdges = scopes.imports.get(parsed.moduleScope);
|
|
37
48
|
if (moduleEdges === undefined)
|
|
38
49
|
return out;
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
if (
|
|
42
|
-
|
|
43
|
-
|
|
50
|
+
const addTarget = (key, targetFile) => {
|
|
51
|
+
let targets = out.get(key);
|
|
52
|
+
if (targets === undefined) {
|
|
53
|
+
targets = [];
|
|
54
|
+
out.set(key, targets);
|
|
55
|
+
}
|
|
56
|
+
if (!targets.includes(targetFile))
|
|
57
|
+
targets.push(targetFile);
|
|
58
|
+
};
|
|
59
|
+
const moduleFileExists = options?.moduleFileExists ?? (() => false);
|
|
44
60
|
for (const edge of moduleEdges) {
|
|
45
|
-
if (edge.targetFile === null)
|
|
61
|
+
if (edge.targetFile === null || edge.kind !== 'namespace')
|
|
46
62
|
continue;
|
|
47
|
-
|
|
63
|
+
const spellings = options?.receiverPaths?.({
|
|
64
|
+
localName: edge.localName,
|
|
65
|
+
importPath: edge.targetExportedName,
|
|
66
|
+
targetFile: edge.targetFile,
|
|
67
|
+
}, moduleFileExists);
|
|
68
|
+
// A provider that declines this edge — or has no hook — gets the default:
|
|
69
|
+
// the bound name alone, pointing at this edge's own target.
|
|
70
|
+
if (spellings === undefined) {
|
|
71
|
+
addTarget(edge.localName, edge.targetFile);
|
|
48
72
|
continue;
|
|
49
|
-
let targets = out.get(edge.localName);
|
|
50
|
-
if (targets === undefined) {
|
|
51
|
-
targets = [];
|
|
52
|
-
out.set(edge.localName, targets);
|
|
53
73
|
}
|
|
54
|
-
|
|
55
|
-
|
|
74
|
+
for (const [spelling, targetFile] of spellings)
|
|
75
|
+
addTarget(spelling, targetFile);
|
|
56
76
|
}
|
|
57
77
|
return out;
|
|
58
78
|
}
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
import type { BindingRef, ParsedFile, ScopeId, SymbolDefinition, TypeRef } from '../../../../_shared/index.js';
|
|
23
23
|
import type { ScopeResolutionIndexes } from '../../model/scope-resolution-indexes.js';
|
|
24
24
|
import type { SemanticModel } from '../../model/semantic-model.js';
|
|
25
|
-
import type { WorkspaceResolutionIndex } from '../workspace-index.js';
|
|
25
|
+
import type { WorkspaceResolutionIndex } from '../workspace-index-types.js';
|
|
26
26
|
/**
|
|
27
27
|
* Look up binding refs at `scopeId` for `name`, consulting both the
|
|
28
28
|
* finalize-owned `bindings` channel and the post-finalize
|
|
@@ -75,11 +75,99 @@ export declare function namesAtScope(scopeId: ScopeId, scopes: ScopeResolutionIn
|
|
|
75
75
|
* parsed output.
|
|
76
76
|
*/
|
|
77
77
|
export declare function isClassLike(t: string): boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Does this label declare MEMBERS addressable by name?
|
|
80
|
+
*
|
|
81
|
+
* `isClassLike` answers two questions that only coincide for classes:
|
|
82
|
+
* 1. does this declare members I can look up? — a SHAPE (structural)
|
|
83
|
+
* 2. does this participate in inheritance / MRO? — a NOMINAL TYPE
|
|
84
|
+
*
|
|
85
|
+
* A TypeScript object-type alias answers YES to (1) and emphatically NO to
|
|
86
|
+
* (2): it declares the same `property_signature` members as the interface
|
|
87
|
+
* beside it, but has no supertypes and no place in a linearization. Answering
|
|
88
|
+
* (2) "yes" merely to buy (1) is what widening `isClassLike` would do, and it
|
|
89
|
+
* would enrol every language's aliases (Rust `type_item`, Kotlin/Swift/Dart
|
|
90
|
+
* typealias, C `typedef`) into MRO and heritage.
|
|
91
|
+
*
|
|
92
|
+
* So the two questions get two predicates. Use THIS one where the question is
|
|
93
|
+
* "find the shape so I can look up a member"; keep `isClassLike` where the
|
|
94
|
+
* question is inheritance. The call sites announce which they are:
|
|
95
|
+
* `resolveInheritanceBaseInScope` and `resolveQualifiedInheritanceBase` are
|
|
96
|
+
* (2); receiver typing is (1).
|
|
97
|
+
*
|
|
98
|
+
* NOT YET INCLUDED, deliberately: `Typedef` and `Union`. They belong here
|
|
99
|
+
* conceptually — the `union_item` note on `MEMBER_OWNER_NODE_TYPES` records
|
|
100
|
+
* the same gap, that a union owns fields captured as `Property` yet is not a
|
|
101
|
+
* recognized owner — but neither is wired as a member container today, so
|
|
102
|
+
* adding them would widen a predicate nothing exercises. They join when their
|
|
103
|
+
* containers do, with fixtures.
|
|
104
|
+
*/
|
|
105
|
+
export declare function isShapeLike(t: string): boolean;
|
|
78
106
|
/**
|
|
79
107
|
* Walk the scope chain from `startScope` looking for a typeBinding
|
|
80
108
|
* named `receiverName`. Returns the TypeRef or undefined if no binding
|
|
81
109
|
* exists in the chain.
|
|
110
|
+
*
|
|
111
|
+
* A scope that declares `ownsReceivers.has(receiverName)` terminates the
|
|
112
|
+
* walk with `undefined` (#2701): it binds that receiver itself, so an
|
|
113
|
+
* enclosing scope's binding is not visible through it. The check runs
|
|
114
|
+
* AFTER this scope's own `typeBindings`, so a scope that both owns and
|
|
115
|
+
* binds the receiver — a class method, which is where `this` is bound TO
|
|
116
|
+
* the class — still resolves normally. The namespace/global fallbacks
|
|
117
|
+
* below are also skipped: they answer "which type is named X", which is a
|
|
118
|
+
* different question from "what is this scope's receiver", and reaching
|
|
119
|
+
* them for an owned-but-unbound receiver is how a static method or a
|
|
120
|
+
* detached callback acquires a fabricated one.
|
|
121
|
+
*/
|
|
122
|
+
/**
|
|
123
|
+
* True when `receiverName` is DEFINITIVELY unresolvable at `startScope`:
|
|
124
|
+
* a scope on the chain declares it owns that receiver (`Scope.ownsReceivers`)
|
|
125
|
+
* and carries no type binding for it (#2701).
|
|
126
|
+
*
|
|
127
|
+
* This is a stronger statement than `findReceiverTypeBinding` returning
|
|
128
|
+
* `undefined`, which only means "no type found" — an ordinary miss that later
|
|
129
|
+
* passes are free to resolve by other means. Here the language has said the
|
|
130
|
+
* receiver is REBOUND at this scope, so no enclosing type can be its type:
|
|
131
|
+
* `this.m()` inside a nested JS/TS `function` is a call on whatever the
|
|
132
|
+
* function is invoked with, which the graph does not model. A member call
|
|
133
|
+
* whose receiver is unresolvable in this sense must be suppressed rather
|
|
134
|
+
* than left to the receiver-blind lexical fallback in `lookupCore`, which
|
|
135
|
+
* would find the enclosing class's member by name alone.
|
|
136
|
+
*
|
|
137
|
+
* Returns false for every language that leaves `ownsReceivers` unset.
|
|
82
138
|
*/
|
|
139
|
+
export declare function isReceiverOwnedButUnbound(startScope: ScopeId, receiverName: string, scopes: ScopeResolutionIndexes): boolean;
|
|
140
|
+
/**
|
|
141
|
+
* True when a declaration between the call site and its module scope shadows a
|
|
142
|
+
* file-level namespace import of the same name. Namespace targets are collected
|
|
143
|
+
* per FILE, so every consumer of that map must apply this lexical guard before
|
|
144
|
+
* trusting it at an inner scope — otherwise `def f(pkg): pkg.db.query()`
|
|
145
|
+
* resolves through the import that the parameter shadows, producing a wrong
|
|
146
|
+
* edge rather than a missing one.
|
|
147
|
+
*
|
|
148
|
+
* A namespace key may itself be a dotted import path (`pkg.db`, #2826), but the
|
|
149
|
+
* name a declaration can shadow is always the ROOT identifier — `pkg = Decoy()`
|
|
150
|
+
* shadows `pkg.db` too. Testing the whole dotted string would never match a
|
|
151
|
+
* binding, so the guard would silently stop guarding for exactly the keys it
|
|
152
|
+
* was extended to cover. Single-segment names are unaffected: their root is
|
|
153
|
+
* themselves.
|
|
154
|
+
*
|
|
155
|
+
* Fails closed (returns `true`) on a missing scope or a parent cycle: for every
|
|
156
|
+
* caller, suppressing a resolution costs a missing edge, while trusting a
|
|
157
|
+
* corrupt scope chain costs a wrong one.
|
|
158
|
+
*
|
|
159
|
+
* Reads `scope.bindings` DIRECTLY rather than through `lookupBindingsAt`, and
|
|
160
|
+
* that is deliberate — the opposite of the fix #2745 applied to Rust's
|
|
161
|
+
* `headBoundLocally`. There the question was "is this name bound at all?", so
|
|
162
|
+
* missing the finalized/augmented import channels lost real bindings. Here the
|
|
163
|
+
* question is "does something LOCAL shadow the import?", and the import's own
|
|
164
|
+
* finalized binding is the one thing that must NOT count: routing this through
|
|
165
|
+
* `lookupBindingsAt` would find the namespace import shadowing itself and
|
|
166
|
+
* suppress every namespace receiver in the workspace. Locals, parameters and
|
|
167
|
+
* lexical names all live in the scope's own tables, which is exactly the set
|
|
168
|
+
* this walk wants.
|
|
169
|
+
*/
|
|
170
|
+
export declare function isNamespaceNameShadowed(namespaceName: string, inScope: ScopeId, scopes: ScopeResolutionIndexes): boolean;
|
|
83
171
|
export declare function findReceiverTypeBinding(startScope: ScopeId, receiverName: string, scopes: ScopeResolutionIndexes): TypeRef | undefined;
|
|
84
172
|
/**
|
|
85
173
|
* Resolve a typeBinding for `name` from the per-namespace channel
|
|
@@ -113,7 +201,103 @@ export declare function moduleScopeIdOf(startScope: ScopeId, scopes: ScopeResolu
|
|
|
113
201
|
*
|
|
114
202
|
* Without (2) we'd miss every cross-file class-receiver call.
|
|
115
203
|
*/
|
|
116
|
-
|
|
204
|
+
/**
|
|
205
|
+
* Every class-like definition visible for `name`, from the scope chain AND the
|
|
206
|
+
* qualified-name index, deduped by `nodeId`.
|
|
207
|
+
*
|
|
208
|
+
* Exists because `walkScopeChain` returns the FIRST match and cannot report a
|
|
209
|
+
* collision, so a caller that widens what a name can match (the decoration
|
|
210
|
+
* normalizer below) has no way to tell "one answer" from "picked the nearest of
|
|
211
|
+
* several". Mirrors `findAllCallableBindingsInScope`, which solved the same
|
|
212
|
+
* problem for callables.
|
|
213
|
+
*/
|
|
214
|
+
export declare function findAllClassBindingsInScope(startScope: ScopeId, name: string, scopes: ScopeResolutionIndexes): readonly SymbolDefinition[];
|
|
215
|
+
/**
|
|
216
|
+
* Strip one layer of type-preserving decoration off a declared type name, or
|
|
217
|
+
* `undefined` when there is nothing left to strip. Supplied per language through
|
|
218
|
+
* the `ScopeResolver` contract; the core never names a language (AGENTS.md R6).
|
|
219
|
+
*
|
|
220
|
+
* TYPE-PRESERVING only — pointer, reference, `const`, nullable, borrow,
|
|
221
|
+
* deref-transparent smart pointer, sigil. A CONTAINER (array, slice, map,
|
|
222
|
+
* `Option`) changes the member set, so stripping one here would type
|
|
223
|
+
* `repos: Repo[]` as `Repo` and let `repos.find(x)` fold to `Repo.find`. Those
|
|
224
|
+
* are unwrapped only by an index step that consumed a subscript.
|
|
225
|
+
*/
|
|
226
|
+
export type DecorationStripper = (typeName: string) => string | undefined;
|
|
227
|
+
/**
|
|
228
|
+
* Does the scope chain at `scopeId` bind `name` as a declared TYPE PARAMETER?
|
|
229
|
+
*
|
|
230
|
+
* The question a class-binding lookup has to ask before it answers, because a
|
|
231
|
+
* type parameter and a class are spelled identically and only the declaration
|
|
232
|
+
* says which one a name is. `class Box<T> { t: T }` beside a workspace
|
|
233
|
+
* `export class T` resolved `t` to the CLASS and emitted a confident wrong edge
|
|
234
|
+
* from every member call on `t` — the exact failure mode this subsystem treats
|
|
235
|
+
* as worse than a missing edge.
|
|
236
|
+
*
|
|
237
|
+
* WHY LEXICAL GROUNDING CANNOT SUBSTITUTE. The erasure grounds in
|
|
238
|
+
* `resolveErasedBaseName` all ask "can the file SEE a declaration by this
|
|
239
|
+
* name", and here it plainly can: `export class T` is imported, bound, and
|
|
240
|
+
* lexically visible. Visibility is not the defect — the name means something
|
|
241
|
+
* else at this site regardless of what else is visible, and only the enclosing
|
|
242
|
+
* declaration's parameter list records that. Measured: with the grounding rule
|
|
243
|
+
* in place the false edge still emitted.
|
|
244
|
+
*
|
|
245
|
+
* ABSENCE IS NOT EVIDENCE. `typeParameters` is populated only by the languages
|
|
246
|
+
* whose captures were extended for it, and is absent both for a non-generic
|
|
247
|
+
* declaration and for every declaration in a language that does not populate it
|
|
248
|
+
* yet. So only a POSITIVE match declines; an absent list changes nothing, which
|
|
249
|
+
* is what keeps every unconverted language behaving exactly as it does today.
|
|
250
|
+
*/
|
|
251
|
+
export declare function bindsTypeParameter(scopeId: ScopeId, name: string, scopes: ScopeResolutionIndexes): boolean;
|
|
252
|
+
export declare function findClassBindingInScope(startScope: ScopeId, receiverName: string, scopes: ScopeResolutionIndexes,
|
|
253
|
+
/**
|
|
254
|
+
* OPT-IN. When supplied, a name that binds nothing is retried with decoration
|
|
255
|
+
* stripped one layer at a time, and each retry must resolve to exactly ONE
|
|
256
|
+
* class-like definition or it declines.
|
|
257
|
+
*
|
|
258
|
+
* Opt-in rather than global because roughly two dozen call sites use the shape
|
|
259
|
+
* `findClassBindingInScope(...) ?? otherResolver(...)`: turning a former
|
|
260
|
+
* `undefined` into a hit SUPPRESSES the fallback that used to answer, which
|
|
261
|
+
* would retarget inheritance edges and bypass generic-specialization
|
|
262
|
+
* selection. Only receiver-chain base and step resolution passes this.
|
|
263
|
+
*/
|
|
264
|
+
stripDecoration?: DecorationStripper): SymbolDefinition | undefined;
|
|
265
|
+
/**
|
|
266
|
+
* Resolve a class-like binding for a declared type name, tolerating a spelling
|
|
267
|
+
* that carries TYPE ARGUMENTS (`Repo<User>`, `Vec<int>`) where the declaration
|
|
268
|
+
* itself is registered under the bare base name.
|
|
269
|
+
*
|
|
270
|
+
* Two normalizations, and they are not the same thing:
|
|
271
|
+
*
|
|
272
|
+
* 1. DECORATION stripping (`stripDecoration`, opt-in — see the parameter).
|
|
273
|
+
* Peels type-PRESERVING wrappers (`*T`, `const T&`) off the name.
|
|
274
|
+
* 2. Type-argument ERASURE (unconditional, and the wider of the two).
|
|
275
|
+
* `Repo<User>` → `Repo`. This is what actually widens what binds, because
|
|
276
|
+
* it makes one declaration answer for EVERY instantiation of it — right
|
|
277
|
+
* for a language where a generic class has a single declaration, and a
|
|
278
|
+
* hazard where it does not, which is why the exact-argument match runs
|
|
279
|
+
* first and why the base-name route below refuses to return a
|
|
280
|
+
* declaration that pinned its own arguments.
|
|
281
|
+
*
|
|
282
|
+
* Order: exact spelling → exact type-argument match (lexically visible
|
|
283
|
+
* candidates first, workspace-wide index second) → base name.
|
|
284
|
+
*/
|
|
285
|
+
export declare function resolveClassBindingForName(scopeId: string, rawClassName: string, scopes: ScopeResolutionIndexes,
|
|
286
|
+
/**
|
|
287
|
+
* OPT-IN, and it governs (1) only — argument erasure happens either way.
|
|
288
|
+
* `findClassBindingInScope`'s own docstring explains the opt-in: a name that
|
|
289
|
+
* previously bound nothing starts binding, which SUPPRESSES the
|
|
290
|
+
* `?? otherResolver(...)` fallbacks several callers rely on.
|
|
291
|
+
*
|
|
292
|
+
* THE RULE, not a roll-call of who currently passes it (that list has been
|
|
293
|
+
* appended to once per round of this work and is stale the moment it is
|
|
294
|
+
* written): pass it from a receiver-TYPING site, and only where the site
|
|
295
|
+
* already forwarded the same `stripTypePreservingDecoration` to the bare
|
|
296
|
+
* lookup — so a Go pointer receiver keeps resolving exactly as it did. A site
|
|
297
|
+
* that has never stripped must keep calling without it, because starting to
|
|
298
|
+
* strip is what suppresses its fallback.
|
|
299
|
+
*/
|
|
300
|
+
stripDecoration?: DecorationStripper): SymbolDefinition | undefined;
|
|
117
301
|
/**
|
|
118
302
|
* Resolve a class-like inheritance target using the shared inheritance
|
|
119
303
|
* resolution chain. Keeps pre-emitted heritage edges and language-specific
|
|
@@ -178,6 +362,17 @@ export declare function isOwnableValueLabel(t: string): boolean;
|
|
|
178
362
|
* predicate differs.
|
|
179
363
|
*/
|
|
180
364
|
export declare function findValueBindingInScope(startScope: ScopeId, receiverName: string, scopes: ScopeResolutionIndexes): SymbolDefinition | undefined;
|
|
365
|
+
/**
|
|
366
|
+
* Look up a SHAPE binding (class-like, or an object-type alias) by name.
|
|
367
|
+
*
|
|
368
|
+
* Mirrors `findClassBindingInScope` exactly; only the accepted def-type
|
|
369
|
+
* predicate differs — the same relationship `findValueBindingInScope` has to
|
|
370
|
+
* it. Exists so a receiver typed as an object-type alias can reach that
|
|
371
|
+
* alias's members WITHOUT the alias becoming eligible as an inheritance base:
|
|
372
|
+
* `findClassBindingInScope` is what `resolveInheritanceBaseInScope` calls, so
|
|
373
|
+
* widening that one would answer a question about hierarchies with a shape.
|
|
374
|
+
*/
|
|
375
|
+
export declare function findShapeBindingInScope(startScope: ScopeId, receiverName: string, scopes: ScopeResolutionIndexes): SymbolDefinition | undefined;
|
|
181
376
|
/**
|
|
182
377
|
* Look up a callable (Function/Method/Constructor) by name in the
|
|
183
378
|
* given scope's chain. Uses the dual-source pattern (scope.bindings +
|
|
@@ -189,14 +384,18 @@ export declare function findValueBindingInScope(startScope: ScopeId, receiverNam
|
|
|
189
384
|
* def-type predicate differs.
|
|
190
385
|
*/
|
|
191
386
|
export declare function findCallableBindingInScope(startScope: ScopeId, callableName: string, scopes: ScopeResolutionIndexes): SymbolDefinition | undefined;
|
|
387
|
+
export interface CallableBindingCandidate {
|
|
388
|
+
readonly def: SymbolDefinition;
|
|
389
|
+
/** Every visibility path for this definition, in binding precedence order. */
|
|
390
|
+
readonly bindings: readonly BindingRef[];
|
|
391
|
+
}
|
|
192
392
|
/**
|
|
193
|
-
*
|
|
194
|
-
*
|
|
195
|
-
*
|
|
196
|
-
*
|
|
197
|
-
* `findCallableBindingInScope`: once any callable binding is found in a
|
|
198
|
-
* scope, outer scopes are not consulted.
|
|
393
|
+
* Binding-aware callable lookup for consumers that need visibility evidence.
|
|
394
|
+
* Unlike `lookupBindingsAt`, duplicate definitions retain every binding path,
|
|
395
|
+
* so a weaker augmentation can contribute provenance even when a finalized
|
|
396
|
+
* binding remains the candidate's canonical definition.
|
|
199
397
|
*/
|
|
398
|
+
export declare function findAllCallableBindingCandidatesInScope(startScope: ScopeId, callableName: string, scopes: ScopeResolutionIndexes): readonly CallableBindingCandidate[];
|
|
200
399
|
export declare function findAllCallableBindingsInScope(startScope: ScopeId, callableName: string, scopes: ScopeResolutionIndexes): readonly SymbolDefinition[];
|
|
201
400
|
/**
|
|
202
401
|
* ISO C++ `[basic.lookup.unqual]` §7: ADL is suppressed when ordinary
|
|
@@ -254,7 +453,9 @@ export declare function populateClassOwnedMembers(parsed: ParsedFile): void;
|
|
|
254
453
|
* for nested namespaces regardless of whether the inner namespace's name is
|
|
255
454
|
* stored simple or already dotted. Skips defs already carrying the prefix.
|
|
256
455
|
*/
|
|
257
|
-
export declare function tagNamespacePrefixes(parsed: ParsedFile
|
|
456
|
+
export declare function tagNamespacePrefixes(parsed: ParsedFile, options?: {
|
|
457
|
+
readonly qualifiedNamesCarryNamespace?: boolean;
|
|
458
|
+
}): void;
|
|
258
459
|
/**
|
|
259
460
|
* Walk a scope chain upward looking for the innermost enclosing
|
|
260
461
|
* Class scope and return that class's def. Used by per-language
|