@lzehrung/codegraph 2.4.0 → 3.0.0
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 +3 -4
- package/codegraph-skill/codegraph/SKILL.md +3 -3
- package/dist/agent/call-hierarchy.js +2 -4
- package/dist/agent/call-hierarchy.js.map +1 -1
- package/dist/agent/explore.d.ts +1 -1
- package/dist/agent/explore.d.ts.map +1 -1
- package/dist/agent/explore.js +3 -2
- package/dist/agent/explore.js.map +1 -1
- package/dist/agent/refactor-plan.js +2 -4
- package/dist/agent/refactor-plan.js.map +1 -1
- package/dist/agent/rename-preview.d.ts.map +1 -1
- package/dist/agent/rename-preview.js +4 -3
- package/dist/agent/rename-preview.js.map +1 -1
- package/dist/agent/search.js +2 -3
- package/dist/agent/search.js.map +1 -1
- package/dist/agent/semantic-symbols.d.ts.map +1 -1
- package/dist/agent/semantic-symbols.js +2 -3
- package/dist/agent/semantic-symbols.js.map +1 -1
- package/dist/agent/type-hierarchy.js +2 -4
- package/dist/agent/type-hierarchy.js.map +1 -1
- package/dist/agent/workspace-symbols.d.ts.map +1 -1
- package/dist/agent/workspace-symbols.js +2 -3
- package/dist/agent/workspace-symbols.js.map +1 -1
- package/dist/agent-tools.d.ts +0 -4
- package/dist/agent-tools.d.ts.map +1 -1
- package/dist/agent-tools.js +3 -6
- package/dist/agent-tools.js.map +1 -1
- package/dist/analysis-summary.d.ts +8 -4
- package/dist/analysis-summary.d.ts.map +1 -1
- package/dist/analysis-summary.js +15 -66
- package/dist/analysis-summary.js.map +1 -1
- package/dist/bin/cli.js +12224 -15890
- package/dist/bin/query-index-worker.js +49 -71
- package/dist/cli/command-table.d.ts.map +1 -1
- package/dist/cli/command-table.js +9 -17
- package/dist/cli/command-table.js.map +1 -1
- package/dist/cli/context.js +10 -10
- package/dist/cli/context.js.map +1 -1
- package/dist/cli/drift.d.ts +0 -2
- package/dist/cli/drift.d.ts.map +1 -1
- package/dist/cli/drift.js +0 -1
- package/dist/cli/drift.js.map +1 -1
- package/dist/cli/graph-delta.d.ts +0 -2
- package/dist/cli/graph-delta.d.ts.map +1 -1
- package/dist/cli/graph-delta.js +0 -4
- package/dist/cli/graph-delta.js.map +1 -1
- package/dist/cli/graph.d.ts +0 -3
- package/dist/cli/graph.d.ts.map +1 -1
- package/dist/cli/graph.js +4 -14
- package/dist/cli/graph.js.map +1 -1
- package/dist/cli/help.d.ts +34 -34
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +5 -12
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/impact.d.ts +0 -2
- package/dist/cli/impact.d.ts.map +1 -1
- package/dist/cli/impact.js +0 -1
- package/dist/cli/impact.js.map +1 -1
- package/dist/cli/index.d.ts +0 -2
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +5 -6
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/inspect.d.ts +0 -2
- package/dist/cli/inspect.d.ts.map +1 -1
- package/dist/cli/inspect.js +5 -8
- package/dist/cli/inspect.js.map +1 -1
- package/dist/cli/invocation-context.d.ts +0 -3
- package/dist/cli/invocation-context.d.ts.map +1 -1
- package/dist/cli/invocation-context.js +4 -16
- package/dist/cli/invocation-context.js.map +1 -1
- package/dist/cli/navigation.d.ts +0 -2
- package/dist/cli/navigation.d.ts.map +1 -1
- package/dist/cli/navigation.js +0 -1
- package/dist/cli/navigation.js.map +1 -1
- package/dist/cli/options.d.ts.map +1 -1
- package/dist/cli/options.js +2 -12
- package/dist/cli/options.js.map +1 -1
- package/dist/cli/review.d.ts +0 -2
- package/dist/cli/review.d.ts.map +1 -1
- package/dist/cli/review.js +0 -5
- package/dist/cli/review.js.map +1 -1
- package/dist/cli/root-policy.d.ts +0 -2
- package/dist/cli/root-policy.d.ts.map +1 -1
- package/dist/cli/root-policy.js +0 -8
- package/dist/cli/root-policy.js.map +1 -1
- package/dist/cli/server.d.ts.map +1 -1
- package/dist/cli/server.js +0 -2
- package/dist/cli/server.js.map +1 -1
- package/dist/drift/git.d.ts.map +1 -1
- package/dist/drift/git.js +0 -1
- package/dist/drift/git.js.map +1 -1
- package/dist/drift/snapshot.d.ts.map +1 -1
- package/dist/drift/snapshot.js +0 -1
- package/dist/drift/snapshot.js.map +1 -1
- package/dist/drift/types.d.ts +0 -2
- package/dist/drift/types.d.ts.map +1 -1
- package/dist/drift/types.js.map +1 -1
- package/dist/duplicates/unit-cache.d.ts +0 -1
- package/dist/duplicates/unit-cache.d.ts.map +1 -1
- package/dist/duplicates/unit-cache.js +3 -11
- package/dist/duplicates/unit-cache.js.map +1 -1
- package/dist/duplicates/units.d.ts +5 -5
- package/dist/duplicates/units.d.ts.map +1 -1
- package/dist/duplicates/units.js +25 -88
- package/dist/duplicates/units.js.map +1 -1
- package/dist/graph-builder.d.ts +0 -6
- package/dist/graph-builder.d.ts.map +1 -1
- package/dist/graph-builder.js +2 -5
- package/dist/graph-builder.js.map +1 -1
- package/dist/graph-edge-collector.d.ts +1 -6
- package/dist/graph-edge-collector.d.ts.map +1 -1
- package/dist/graph-edge-collector.js +23 -21
- package/dist/graph-edge-collector.js.map +1 -1
- package/dist/graphs/edge-resolution.d.ts +1 -1
- package/dist/graphs/edge-resolution.d.ts.map +1 -1
- package/dist/graphs/edge-resolution.js +22 -98
- package/dist/graphs/edge-resolution.js.map +1 -1
- package/dist/graphs/specifiers.d.ts +4 -13
- package/dist/graphs/specifiers.d.ts.map +1 -1
- package/dist/graphs/specifiers.js +76 -173
- package/dist/graphs/specifiers.js.map +1 -1
- package/dist/graphs/symbol-graph-detailed/edge-passes.d.ts +12 -3
- package/dist/graphs/symbol-graph-detailed/edge-passes.d.ts.map +1 -1
- package/dist/graphs/symbol-graph-detailed/edge-passes.js +315 -177
- package/dist/graphs/symbol-graph-detailed/edge-passes.js.map +1 -1
- package/dist/graphs/symbol-graph-detailed/import-aliases.d.ts.map +1 -1
- package/dist/graphs/symbol-graph-detailed/import-aliases.js +11 -0
- package/dist/graphs/symbol-graph-detailed/import-aliases.js.map +1 -1
- package/dist/graphs/symbol-graph-detailed/receiver-calls.d.ts +25 -22
- package/dist/graphs/symbol-graph-detailed/receiver-calls.d.ts.map +1 -1
- package/dist/graphs/symbol-graph-detailed/receiver-calls.js +216 -147
- package/dist/graphs/symbol-graph-detailed/receiver-calls.js.map +1 -1
- package/dist/graphs/symbol-graph-detailed.d.ts.map +1 -1
- package/dist/graphs/symbol-graph-detailed.js +80 -71
- package/dist/graphs/symbol-graph-detailed.js.map +1 -1
- package/dist/graphs/symbol-graph.d.ts.map +1 -1
- package/dist/graphs/symbol-graph.js +4 -4
- package/dist/graphs/symbol-graph.js.map +1 -1
- package/dist/graphs/types.d.ts +0 -4
- package/dist/graphs/types.d.ts.map +1 -1
- package/dist/graphs.d.ts +1 -1
- package/dist/graphs.d.ts.map +1 -1
- package/dist/impact/call-compatibility.d.ts.map +1 -1
- package/dist/impact/call-compatibility.js +39 -43
- package/dist/impact/call-compatibility.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/indexer/build-cache/module-cache.d.ts +1 -1
- package/dist/indexer/build-cache/module-cache.d.ts.map +1 -1
- package/dist/indexer/build-cache/module-cache.js +67 -12
- package/dist/indexer/build-cache/module-cache.js.map +1 -1
- package/dist/indexer/build-cache/options.d.ts +15 -2
- package/dist/indexer/build-cache/options.d.ts.map +1 -1
- package/dist/indexer/build-cache/options.js +17 -29
- package/dist/indexer/build-cache/options.js.map +1 -1
- package/dist/indexer/build-cache/project-snapshot.d.ts +3 -4
- package/dist/indexer/build-cache/project-snapshot.d.ts.map +1 -1
- package/dist/indexer/build-cache/project-snapshot.js +49 -62
- package/dist/indexer/build-cache/project-snapshot.js.map +1 -1
- package/dist/indexer/build-cache/reports.d.ts +0 -2
- package/dist/indexer/build-cache/reports.d.ts.map +1 -1
- package/dist/indexer/build-cache/reports.js +0 -97
- package/dist/indexer/build-cache/reports.js.map +1 -1
- package/dist/indexer/build-cache.d.ts +1 -1
- package/dist/indexer/build-cache.d.ts.map +1 -1
- package/dist/indexer/build-cache.js +1 -1
- package/dist/indexer/build-cache.js.map +1 -1
- package/dist/indexer/build-index.d.ts.map +1 -1
- package/dist/indexer/build-index.js +72 -58
- package/dist/indexer/build-index.js.map +1 -1
- package/dist/indexer/build-workers.d.ts.map +1 -1
- package/dist/indexer/build-workers.js +9 -9
- package/dist/indexer/build-workers.js.map +1 -1
- package/dist/indexer/callable-identity.d.ts +24 -0
- package/dist/indexer/callable-identity.d.ts.map +1 -0
- package/dist/indexer/callable-identity.js +111 -0
- package/dist/indexer/callable-identity.js.map +1 -0
- package/dist/indexer/compilation-units.d.ts +2 -0
- package/dist/indexer/compilation-units.d.ts.map +1 -1
- package/dist/indexer/compilation-units.js +20 -18
- package/dist/indexer/compilation-units.js.map +1 -1
- package/dist/indexer/cpp-callables.d.ts +12 -7
- package/dist/indexer/cpp-callables.d.ts.map +1 -1
- package/dist/indexer/cpp-callables.js +42 -34
- package/dist/indexer/cpp-callables.js.map +1 -1
- package/dist/indexer/declaration-visibility.d.ts +7 -0
- package/dist/indexer/declaration-visibility.d.ts.map +1 -1
- package/dist/indexer/declaration-visibility.js +22 -0
- package/dist/indexer/declaration-visibility.js.map +1 -1
- package/dist/indexer/expand-star-imports.d.ts +6 -1
- package/dist/indexer/expand-star-imports.d.ts.map +1 -1
- package/dist/indexer/expand-star-imports.js +120 -48
- package/dist/indexer/expand-star-imports.js.map +1 -1
- package/dist/indexer/finalize.d.ts.map +1 -1
- package/dist/indexer/finalize.js +0 -1
- package/dist/indexer/finalize.js.map +1 -1
- package/dist/indexer/import-resolution-tables.d.ts +72 -0
- package/dist/indexer/import-resolution-tables.d.ts.map +1 -0
- package/dist/indexer/import-resolution-tables.js +137 -0
- package/dist/indexer/import-resolution-tables.js.map +1 -0
- package/dist/indexer/import-types.d.ts +18 -1
- package/dist/indexer/import-types.d.ts.map +1 -1
- package/dist/indexer/import-types.js.map +1 -1
- package/dist/indexer/imports/context.d.ts +6 -1
- package/dist/indexer/imports/context.d.ts.map +1 -1
- package/dist/indexer/imports/import-binding-tables.d.ts +3 -2
- package/dist/indexer/imports/import-binding-tables.d.ts.map +1 -1
- package/dist/indexer/imports/import-binding-tables.js +16 -22
- package/dist/indexer/imports/import-binding-tables.js.map +1 -1
- package/dist/indexer/imports/native-captures.d.ts.map +1 -1
- package/dist/indexer/imports/native-captures.js +10 -4
- package/dist/indexer/imports/native-captures.js.map +1 -1
- package/dist/indexer/imports/python.d.ts.map +1 -1
- package/dist/indexer/imports/python.js +46 -81
- package/dist/indexer/imports/python.js.map +1 -1
- package/dist/indexer/imports/text-import-extractors.d.ts.map +1 -1
- package/dist/indexer/imports/text-import-extractors.js +17 -7
- package/dist/indexer/imports/text-import-extractors.js.map +1 -1
- package/dist/indexer/imports.d.ts +3 -4
- package/dist/indexer/imports.d.ts.map +1 -1
- package/dist/indexer/imports.js +106 -81
- package/dist/indexer/imports.js.map +1 -1
- package/dist/indexer/incremental-plan.d.ts.map +1 -1
- package/dist/indexer/incremental-plan.js +27 -11
- package/dist/indexer/incremental-plan.js.map +1 -1
- package/dist/indexer/locals-and-exports.d.ts +1 -2
- package/dist/indexer/locals-and-exports.d.ts.map +1 -1
- package/dist/indexer/locals-and-exports.js +113 -43
- package/dist/indexer/locals-and-exports.js.map +1 -1
- package/dist/indexer/member-selection.d.ts +46 -0
- package/dist/indexer/member-selection.d.ts.map +1 -0
- package/dist/indexer/member-selection.js +169 -0
- package/dist/indexer/member-selection.js.map +1 -0
- package/dist/indexer/name-lookup-policies/c-family.d.ts +1 -1
- package/dist/indexer/name-lookup-policies/c-family.d.ts.map +1 -1
- package/dist/indexer/name-lookup-policies/c-family.js +30 -10
- package/dist/indexer/name-lookup-policies/c-family.js.map +1 -1
- package/dist/indexer/name-lookup-policies/implicit-self.d.ts.map +1 -1
- package/dist/indexer/name-lookup-policies/implicit-self.js +14 -8
- package/dist/indexer/name-lookup-policies/implicit-self.js.map +1 -1
- package/dist/indexer/name-lookup-policies/index.d.ts.map +1 -1
- package/dist/indexer/name-lookup-policies/index.js +29 -3
- package/dist/indexer/name-lookup-policies/index.js.map +1 -1
- package/dist/indexer/name-lookup-policies/php.d.ts.map +1 -1
- package/dist/indexer/name-lookup-policies/php.js +9 -2
- package/dist/indexer/name-lookup-policies/php.js.map +1 -1
- package/dist/indexer/name-resolution-types.d.ts +2 -0
- package/dist/indexer/name-resolution-types.d.ts.map +1 -1
- package/dist/indexer/name-resolution.d.ts +5 -0
- package/dist/indexer/name-resolution.d.ts.map +1 -1
- package/dist/indexer/name-resolution.js +17 -2
- package/dist/indexer/name-resolution.js.map +1 -1
- package/dist/indexer/navigation-cpp.d.ts +8 -0
- package/dist/indexer/navigation-cpp.d.ts.map +1 -1
- package/dist/indexer/navigation-cpp.js +283 -2
- package/dist/indexer/navigation-cpp.js.map +1 -1
- package/dist/indexer/navigation-goto.d.ts +11 -2
- package/dist/indexer/navigation-goto.d.ts.map +1 -1
- package/dist/indexer/navigation-goto.js +675 -333
- package/dist/indexer/navigation-goto.js.map +1 -1
- package/dist/indexer/navigation-local.d.ts +4 -1
- package/dist/indexer/navigation-local.d.ts.map +1 -1
- package/dist/indexer/navigation-local.js +43 -23
- package/dist/indexer/navigation-local.js.map +1 -1
- package/dist/indexer/navigation-provenance.d.ts +1 -1
- package/dist/indexer/navigation-provenance.d.ts.map +1 -1
- package/dist/indexer/navigation-provenance.js +4 -13
- package/dist/indexer/navigation-provenance.js.map +1 -1
- package/dist/indexer/navigation-references.d.ts +1 -1
- package/dist/indexer/navigation-references.d.ts.map +1 -1
- package/dist/indexer/navigation-references.js +44 -16
- package/dist/indexer/navigation-references.js.map +1 -1
- package/dist/indexer/navigation-resolve.d.ts +13 -0
- package/dist/indexer/navigation-resolve.d.ts.map +1 -1
- package/dist/indexer/navigation-resolve.js +158 -5
- package/dist/indexer/navigation-resolve.js.map +1 -1
- package/dist/indexer/navigation.d.ts +2 -1
- package/dist/indexer/navigation.d.ts.map +1 -1
- package/dist/indexer/navigation.js +45 -37
- package/dist/indexer/navigation.js.map +1 -1
- package/dist/indexer/parse-context.d.ts +2 -3
- package/dist/indexer/parse-context.d.ts.map +1 -1
- package/dist/indexer/parse-context.js +8 -21
- package/dist/indexer/parse-context.js.map +1 -1
- package/dist/indexer/reference-candidates.d.ts.map +1 -1
- package/dist/indexer/reference-candidates.js +13 -7
- package/dist/indexer/reference-candidates.js.map +1 -1
- package/dist/indexer/scope-types.d.ts +4 -0
- package/dist/indexer/scope-types.d.ts.map +1 -1
- package/dist/indexer/scope.d.ts +2 -3
- package/dist/indexer/scope.d.ts.map +1 -1
- package/dist/indexer/scope.js +85 -13
- package/dist/indexer/scope.js.map +1 -1
- package/dist/indexer/shared-owner-identity.js +1 -1
- package/dist/indexer/shared-owner-identity.js.map +1 -1
- package/dist/indexer/star-import-precedence.d.ts +6 -7
- package/dist/indexer/star-import-precedence.d.ts.map +1 -1
- package/dist/indexer/star-import-precedence.js +18 -12
- package/dist/indexer/star-import-precedence.js.map +1 -1
- package/dist/indexer/ts-callables.d.ts +15 -24
- package/dist/indexer/ts-callables.d.ts.map +1 -1
- package/dist/indexer/ts-callables.js +44 -75
- package/dist/indexer/ts-callables.js.map +1 -1
- package/dist/indexer/types.d.ts +18 -25
- package/dist/indexer/types.d.ts.map +1 -1
- package/dist/indexer.d.ts +2 -7
- package/dist/indexer.d.ts.map +1 -1
- package/dist/indexer.js.map +1 -1
- package/dist/languages/callable-arity.d.ts +21 -0
- package/dist/languages/callable-arity.d.ts.map +1 -1
- package/dist/languages/callable-arity.js +17 -0
- package/dist/languages/callable-arity.js.map +1 -1
- package/dist/languages/definitions/zig.d.ts.map +1 -1
- package/dist/languages/definitions/zig.js +6 -0
- package/dist/languages/definitions/zig.js.map +1 -1
- package/dist/lifecycle/manifest.d.ts.map +1 -1
- package/dist/lifecycle/manifest.js +0 -1
- package/dist/lifecycle/manifest.js.map +1 -1
- package/dist/native/byte-index.d.ts +6 -0
- package/dist/native/byte-index.d.ts.map +1 -1
- package/dist/native/byte-index.js +11 -6
- package/dist/native/byte-index.js.map +1 -1
- package/dist/native/contracts.d.ts +2 -3
- package/dist/native/contracts.d.ts.map +1 -1
- package/dist/native/execution.d.ts +9 -9
- package/dist/native/execution.d.ts.map +1 -1
- package/dist/native/execution.js +37 -77
- package/dist/native/execution.js.map +1 -1
- package/dist/native/js-bridge.d.ts +2 -15
- package/dist/native/js-bridge.d.ts.map +1 -1
- package/dist/native/js-bridge.js +2 -15
- package/dist/native/js-bridge.js.map +1 -1
- package/dist/native/query-results.js +2 -2
- package/dist/native/query-results.js.map +1 -1
- package/dist/native/runtime.d.ts +12 -12
- package/dist/native/runtime.d.ts.map +1 -1
- package/dist/native/runtime.js +24 -69
- package/dist/native/runtime.js.map +1 -1
- package/dist/native/tree-sitter-native.d.ts +3 -3
- package/dist/native/tree-sitter-native.d.ts.map +1 -1
- package/dist/native/tree-sitter-native.js +2 -2
- package/dist/native/tree-sitter-native.js.map +1 -1
- package/dist/presets.d.ts.map +1 -1
- package/dist/presets.js +0 -4
- package/dist/presets.js.map +1 -1
- package/dist/review.d.ts.map +1 -1
- package/dist/review.js +2 -20
- package/dist/review.js.map +1 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +0 -5
- package/dist/session.js.map +1 -1
- package/dist/sql/navigation.js +1 -1
- package/dist/sql/navigation.js.map +1 -1
- package/dist/util/bloom-filter.d.ts +1 -0
- package/dist/util/bloom-filter.d.ts.map +1 -1
- package/dist/util/bloom-filter.js +3 -0
- package/dist/util/bloom-filter.js.map +1 -1
- package/dist/util/glob.d.ts +32 -0
- package/dist/util/glob.d.ts.map +1 -0
- package/dist/util/glob.js +137 -0
- package/dist/util/glob.js.map +1 -0
- package/dist/util/member-access-tables.d.ts.map +1 -1
- package/dist/util/member-access-tables.js +2 -0
- package/dist/util/member-access-tables.js.map +1 -1
- package/dist/util/member-access.d.ts.map +1 -1
- package/dist/util/member-access.js +5 -2
- package/dist/util/member-access.js.map +1 -1
- package/dist/util/project-files.d.ts +2 -10
- package/dist/util/project-files.d.ts.map +1 -1
- package/dist/util/project-files.js +29 -51
- package/dist/util/project-files.js.map +1 -1
- package/dist/util/python-type-checking.d.ts +18 -0
- package/dist/util/python-type-checking.d.ts.map +1 -0
- package/dist/util/python-type-checking.js +160 -0
- package/dist/util/python-type-checking.js.map +1 -0
- package/dist/util/resolution/jvm.d.ts +7 -3
- package/dist/util/resolution/jvm.d.ts.map +1 -1
- package/dist/util/resolution/jvm.js +56 -38
- package/dist/util/resolution/jvm.js.map +1 -1
- package/dist/util/resolution/rust.d.ts +0 -1
- package/dist/util/resolution/rust.d.ts.map +1 -1
- package/dist/util/resolution/rust.js +0 -9
- package/dist/util/resolution/rust.js.map +1 -1
- package/dist/util/resolution/specifier-targets.d.ts +44 -0
- package/dist/util/resolution/specifier-targets.d.ts.map +1 -0
- package/dist/util/resolution/specifier-targets.js +152 -0
- package/dist/util/resolution/specifier-targets.js.map +1 -0
- package/dist/util/resolution.d.ts.map +1 -1
- package/dist/util/resolution.js +5 -10
- package/dist/util/resolution.js.map +1 -1
- package/dist/util/specifiers.d.ts +9 -1
- package/dist/util/specifiers.d.ts.map +1 -1
- package/dist/util/specifiers.js +27 -8
- package/dist/util/specifiers.js.map +1 -1
- package/dist/util/trivia.d.ts.map +1 -1
- package/dist/util/trivia.js +49 -30
- package/dist/util/trivia.js.map +1 -1
- package/dist/util/workspace.d.ts.map +1 -1
- package/dist/util/workspace.js +32 -4
- package/dist/util/workspace.js.map +1 -1
- package/package.json +5 -7
|
@@ -2,6 +2,7 @@ import { supportForFileWithoutHeaderSample } from "../languages.js";
|
|
|
2
2
|
import { fileIdentityKey } from "../util/paths.js";
|
|
3
3
|
import { resolveImported } from "./navigation-resolve.js";
|
|
4
4
|
import { sameDef } from "./reference-context.js";
|
|
5
|
+
import { SymbolKind } from "./types.js";
|
|
5
6
|
export const STAR_IMPORT_PRECEDENCE = {
|
|
6
7
|
python: "last-wins",
|
|
7
8
|
java: "explicit-beats-star",
|
|
@@ -24,11 +25,10 @@ function resolvedImportKey(resolved) {
|
|
|
24
25
|
return typeof resolved === "string" ? `file:${fileIdentityKey(resolved)}` : `external:${resolved.external}`;
|
|
25
26
|
}
|
|
26
27
|
/**
|
|
27
|
-
*
|
|
28
|
-
* same
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
* or an alias flag star expansion never sets.
|
|
28
|
+
* expandStarImports copies each star import into a named or namespace binding with the
|
|
29
|
+
* same source specifier and one of its resolved target files, without a source range.
|
|
30
|
+
* These copies remain star imports. Explicit bindings retain their source ranges or
|
|
31
|
+
* an alias flag that star expansion never adds.
|
|
32
32
|
*/
|
|
33
33
|
export function isExpandedStarBinding(binding, imports) {
|
|
34
34
|
if (binding.kind !== "named" && binding.kind !== "namespace")
|
|
@@ -42,9 +42,14 @@ export function isExpandedStarBinding(binding, imports) {
|
|
|
42
42
|
const resolved = resolvedImportKey(binding.resolved);
|
|
43
43
|
if (!resolved)
|
|
44
44
|
return false;
|
|
45
|
-
return imports.some((candidate) =>
|
|
46
|
-
candidate.from
|
|
47
|
-
|
|
45
|
+
return imports.some((candidate) => {
|
|
46
|
+
if (candidate.kind !== "star" || candidate.from !== binding.from)
|
|
47
|
+
return false;
|
|
48
|
+
if (candidate.jvmPackageFiles) {
|
|
49
|
+
return candidate.jvmPackageFiles.some((file) => resolvedImportKey(file) === resolved);
|
|
50
|
+
}
|
|
51
|
+
return resolvedImportKey(candidate.resolved) === resolved;
|
|
52
|
+
});
|
|
48
53
|
}
|
|
49
54
|
function explicitBindingStartIndex(binding) {
|
|
50
55
|
if (binding.kind === "star")
|
|
@@ -91,16 +96,17 @@ export function effectiveExplicitOrLocalBinding(imports, languageId, matches, lo
|
|
|
91
96
|
}
|
|
92
97
|
return { kind: "explicit", binding: explicit };
|
|
93
98
|
}
|
|
94
|
-
export function resolveStarImportedDefinition(index, imp, name, languageId, cNamespace) {
|
|
99
|
+
export function resolveStarImportedDefinition(index, imp, name, languageId, cNamespace, argumentCount) {
|
|
95
100
|
if (imp.kind !== "star" || imp.staticMembersOf)
|
|
96
101
|
return null;
|
|
97
102
|
const result = resolveImported(index, imp, name, {
|
|
98
103
|
...(cNamespace ? { cNamespace } : {}),
|
|
104
|
+
...(argumentCount !== undefined ? { argumentCount } : {}),
|
|
99
105
|
// Ruby star expansion already publishes exported constants. Local fallback would
|
|
100
106
|
// resurrect a nested class as a bare name the exports query omitted.
|
|
101
107
|
...(languageId === "ruby" ? { allowLocalFallback: false } : {}),
|
|
102
108
|
});
|
|
103
|
-
if (!result || "namespace" in result)
|
|
109
|
+
if (!result || "namespace" in result || (languageId === "ruby" && result.isMember))
|
|
104
110
|
return null;
|
|
105
111
|
return result;
|
|
106
112
|
}
|
|
@@ -226,7 +232,7 @@ function rubyLoadOrderDeclaration(index, startFile, exportedName, kind) {
|
|
|
226
232
|
* includes every part in that load component.
|
|
227
233
|
*/
|
|
228
234
|
function sameReopenedRubyConstant(index, left, right) {
|
|
229
|
-
if (left.kind !== right.kind)
|
|
235
|
+
if (left.kind !== SymbolKind.Class || right.kind !== SymbolKind.Class)
|
|
230
236
|
return false;
|
|
231
237
|
const leftName = exportedNameForDef(index, left);
|
|
232
238
|
const rightName = exportedNameForDef(index, right);
|
|
@@ -373,7 +379,7 @@ export function resolveStarImportedNamespace(index, mod, languageId, name) {
|
|
|
373
379
|
export function findRubyReopenedConstantParts(index, def) {
|
|
374
380
|
const empty = { parts: [], incomplete: false };
|
|
375
381
|
const languageId = supportForFileWithoutHeaderSample(def.file, index.languageExtensions)?.id;
|
|
376
|
-
if (languageId !== "ruby")
|
|
382
|
+
if (languageId !== "ruby" || def.kind !== SymbolKind.Class)
|
|
377
383
|
return empty;
|
|
378
384
|
const exported = exportedNameForDef(index, def);
|
|
379
385
|
if (!exported)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"star-import-precedence.js","sourceRoot":"","sources":["../../src/indexer/star-import-precedence.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"star-import-precedence.js","sourceRoot":"","sources":["../../src/indexer/star-import-precedence.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { SyntaxNodeLike, SyntaxTreeLike } from "../languages/types.js";
|
|
2
|
+
import type { CallableIdentity } from "../languages/callable-arity.js";
|
|
2
3
|
import type { SymbolDef } from "./types.js";
|
|
3
4
|
export type TypeScriptCallableRole = "signature" | "implementation" | "other";
|
|
4
5
|
/**
|
|
@@ -6,46 +7,36 @@ export type TypeScriptCallableRole = "signature" | "implementation" | "other";
|
|
|
6
7
|
* The name node's ancestors distinguish a declaration-only signature from a body.
|
|
7
8
|
*/
|
|
8
9
|
export declare function typescriptCallableRole(node: SyntaxNodeLike | null | undefined): TypeScriptCallableRole;
|
|
9
|
-
export declare function typescriptCallableRoleAt(tree: SyntaxTreeLike, start: number, end: number): TypeScriptCallableRole;
|
|
10
10
|
/**
|
|
11
11
|
* Class, interface, enum, type-literal, object-literal, and namespace/module bodies each own
|
|
12
12
|
* their callables, so a type literal's `m(): void` signature and an object literal's `m() {}`
|
|
13
|
-
* are never one overload set.
|
|
14
|
-
*
|
|
15
|
-
*
|
|
13
|
+
* are never one overload set. A function or other block body is its own lexical scope: a local
|
|
14
|
+
* `function helper() {}` inside a method never joins the class member `helper`. Namespace and
|
|
15
|
+
* `declare global` bodies are statement blocks too, but they belong to their declaration.
|
|
16
|
+
* "ambient_declaration" is a declaration wrapper, not a callable container: nested
|
|
17
|
+
* "internal_module"/"module" nodes are found first, while standalone ambient signatures remain
|
|
18
|
+
* in the file-level group.
|
|
16
19
|
*/
|
|
20
|
+
export declare function typescriptCallableContainerKeyForNode(node: SyntaxNodeLike): string;
|
|
17
21
|
export declare function typescriptCallableContainerKey(tree: SyntaxTreeLike, start: number, end: number): string;
|
|
18
22
|
/** Namespace reopenings with the same name and lexical namespace path share a member set. */
|
|
19
23
|
export declare function typescriptMergedNamespaceContainers(tree: SyntaxTreeLike, locals: readonly SymbolDef[], receiver: SymbolDef): SyntaxNodeLike[];
|
|
20
|
-
/** Keep only
|
|
21
|
-
export declare function typescriptCallableCandidatesInContainer<T>(group: readonly T[],
|
|
24
|
+
/** Keep only declarations with the same indexed callable group. */
|
|
25
|
+
export declare function typescriptCallableCandidatesInContainer<T>(group: readonly T[], identityOf: (entry: T) => CallableIdentity | undefined, key: string | undefined): readonly T[];
|
|
22
26
|
/** Only a single implementation can stand in for every signature of an overload group. */
|
|
23
|
-
export declare function typescriptCollapsedOverloadTarget<T>(group: readonly T[],
|
|
24
|
-
/**
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
*/
|
|
28
|
-
export declare function typescriptCollapsedOverloadCandidates<T>(group: readonly T[], tree: SyntaxTreeLike, definitionOf: (entry: T) => SymbolDef): readonly T[];
|
|
29
|
-
/**
|
|
30
|
-
* Select the canonical implementation only when a declared overload accepts a known count.
|
|
31
|
-
* Unknown counts retain the implementation; signature-only groups need one matching declaration.
|
|
32
|
-
*/
|
|
27
|
+
export declare function typescriptCollapsedOverloadTarget<T>(group: readonly T[], identityOf: (entry: T) => CallableIdentity | undefined): T | undefined;
|
|
28
|
+
/** Signature-only and multiply implemented groups remain separate arity candidates. */
|
|
29
|
+
export declare function typescriptCollapsedOverloadCandidates<T>(group: readonly T[], identityOf: (entry: T) => CallableIdentity | undefined): readonly T[];
|
|
30
|
+
/** Select the implementation only if a declared overload accepts a known count. */
|
|
33
31
|
export declare function typescriptSelectOverloadCandidate<T>(params: {
|
|
34
32
|
group: readonly T[];
|
|
35
|
-
|
|
36
|
-
definitionOf: (entry: T) => SymbolDef;
|
|
37
|
-
declarationOf: (entry: T) => SyntaxNodeLike | null | undefined;
|
|
38
|
-
source: string;
|
|
39
|
-
languageId: string;
|
|
33
|
+
identityOf: (entry: T) => CallableIdentity | undefined;
|
|
40
34
|
argumentCount: number | null;
|
|
41
35
|
}): T | undefined;
|
|
42
36
|
/** Check an imported canonical implementation against its declaration-only overloads. */
|
|
43
37
|
export declare function typescriptOverloadImplementationAcceptsCount(params: {
|
|
44
38
|
implementation: SymbolDef;
|
|
45
39
|
locals: readonly SymbolDef[];
|
|
46
|
-
tree: SyntaxTreeLike;
|
|
47
|
-
source: string;
|
|
48
|
-
languageId: string;
|
|
49
40
|
argumentCount: number | null;
|
|
50
41
|
}): boolean;
|
|
51
42
|
//# sourceMappingURL=ts-callables.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ts-callables.d.ts","sourceRoot":"","sources":["../../src/indexer/ts-callables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"ts-callables.d.ts","sourceRoot":"","sources":["../../src/indexer/ts-callables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAgB5C,MAAM,MAAM,sBAAsB,GAAG,WAAW,GAAG,gBAAgB,GAAG,OAAO,CAAC;AAE9E;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,GAAG,sBAAsB,CAYtG;AAUD;;;;;;;;;GASG;AACH,wBAAgB,qCAAqC,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CASlF;AAOD,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvG;AA0CD,6FAA6F;AAC7F,wBAAgB,mCAAmC,CACjD,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,SAAS,SAAS,EAAE,EAC5B,QAAQ,EAAE,SAAS,GAClB,cAAc,EAAE,CAYlB;AAED,mEAAmE;AACnE,wBAAgB,uCAAuC,CAAC,CAAC,EACvD,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,gBAAgB,GAAG,SAAS,EACtD,GAAG,EAAE,MAAM,GAAG,SAAS,GACtB,SAAS,CAAC,EAAE,CAYd;AAED,0FAA0F;AAC1F,wBAAgB,iCAAiC,CAAC,CAAC,EACjD,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,gBAAgB,GAAG,SAAS,GACrD,CAAC,GAAG,SAAS,CAYf;AAED,uFAAuF;AACvF,wBAAgB,qCAAqC,CAAC,CAAC,EACrD,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,gBAAgB,GAAG,SAAS,GACrD,SAAS,CAAC,EAAE,CAId;AAED,mFAAmF;AACnF,wBAAgB,iCAAiC,CAAC,CAAC,EAAE,MAAM,EAAE;IAC3D,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;IACpB,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,gBAAgB,GAAG,SAAS,CAAC;IACvD,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,GAAG,CAAC,GAAG,SAAS,CAkChB;AAED,yFAAyF;AACzF,wBAAgB,4CAA4C,CAAC,MAAM,EAAE;IACnE,cAAc,EAAE,SAAS,CAAC;IAC1B,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,GAAG,OAAO,CA6BV"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { getCallableArity } from "../languages/callable-arity.js";
|
|
2
1
|
const OVERLOAD_SIGNATURE_NODE_TYPES = {
|
|
3
2
|
function_signature: true,
|
|
4
3
|
method_signature: true,
|
|
@@ -28,9 +27,6 @@ export function typescriptCallableRole(node) {
|
|
|
28
27
|
}
|
|
29
28
|
return "other";
|
|
30
29
|
}
|
|
31
|
-
export function typescriptCallableRoleAt(tree, start, end) {
|
|
32
|
-
return typescriptCallableRole(tree.rootNode.descendantForIndex(start, end));
|
|
33
|
-
}
|
|
34
30
|
const TYPESCRIPT_MEMBER_CONTAINER_TYPES = new Set([
|
|
35
31
|
"class_body",
|
|
36
32
|
"interface_body",
|
|
@@ -41,23 +37,33 @@ const TYPESCRIPT_MEMBER_CONTAINER_TYPES = new Set([
|
|
|
41
37
|
/**
|
|
42
38
|
* Class, interface, enum, type-literal, object-literal, and namespace/module bodies each own
|
|
43
39
|
* their callables, so a type literal's `m(): void` signature and an object literal's `m() {}`
|
|
44
|
-
* are never one overload set.
|
|
45
|
-
*
|
|
46
|
-
*
|
|
40
|
+
* are never one overload set. A function or other block body is its own lexical scope: a local
|
|
41
|
+
* `function helper() {}` inside a method never joins the class member `helper`. Namespace and
|
|
42
|
+
* `declare global` bodies are statement blocks too, but they belong to their declaration.
|
|
43
|
+
* "ambient_declaration" is a declaration wrapper, not a callable container: nested
|
|
44
|
+
* "internal_module"/"module" nodes are found first, while standalone ambient signatures remain
|
|
45
|
+
* in the file-level group.
|
|
47
46
|
*/
|
|
48
|
-
export function
|
|
49
|
-
let current =
|
|
47
|
+
export function typescriptCallableContainerKeyForNode(node) {
|
|
48
|
+
let current = node;
|
|
50
49
|
while (current) {
|
|
51
|
-
if (TYPESCRIPT_MEMBER_CONTAINER_TYPES.has(current.type))
|
|
50
|
+
if (TYPESCRIPT_MEMBER_CONTAINER_TYPES.has(current.type))
|
|
52
51
|
return "type:" + current.startIndex;
|
|
53
|
-
|
|
54
|
-
if (current.type === "internal_module" || current.type === "module") {
|
|
52
|
+
if (current.type === "internal_module" || current.type === "module")
|
|
55
53
|
return "namespace:" + current.startIndex;
|
|
56
|
-
|
|
54
|
+
if (current.type === "statement_block" && !isDeclarationBody(current))
|
|
55
|
+
return "block:" + current.startIndex;
|
|
57
56
|
current = current.parent;
|
|
58
57
|
}
|
|
59
58
|
return "module";
|
|
60
59
|
}
|
|
60
|
+
function isDeclarationBody(block) {
|
|
61
|
+
const owner = block.parent?.type;
|
|
62
|
+
return owner === "internal_module" || owner === "module" || owner === "ambient_declaration";
|
|
63
|
+
}
|
|
64
|
+
export function typescriptCallableContainerKey(tree, start, end) {
|
|
65
|
+
return typescriptCallableContainerKeyForNode(tree.rootNode.descendantForIndex(start, end));
|
|
66
|
+
}
|
|
61
67
|
function typescriptNamespaceForDefinition(tree, def) {
|
|
62
68
|
const start = def.range.start.index;
|
|
63
69
|
if (start === undefined)
|
|
@@ -114,18 +120,14 @@ export function typescriptMergedNamespaceContainers(tree, locals, receiver) {
|
|
|
114
120
|
}
|
|
115
121
|
return containers;
|
|
116
122
|
}
|
|
117
|
-
/** Keep only
|
|
118
|
-
export function typescriptCallableCandidatesInContainer(group,
|
|
119
|
-
if (!group.length)
|
|
123
|
+
/** Keep only declarations with the same indexed callable group. */
|
|
124
|
+
export function typescriptCallableCandidatesInContainer(group, identityOf, key) {
|
|
125
|
+
if (!group.length || key === undefined)
|
|
120
126
|
return group;
|
|
121
|
-
const containerKey = typescriptCallableContainerKey(tree, start, end);
|
|
122
127
|
let matching;
|
|
123
128
|
for (let index = 0; index < group.length; index += 1) {
|
|
124
129
|
const entry = group[index];
|
|
125
|
-
|
|
126
|
-
const candidateStart = range.start.index ?? 0;
|
|
127
|
-
const candidateEnd = range.end.index ?? candidateStart;
|
|
128
|
-
if (typescriptCallableContainerKey(tree, candidateStart, candidateEnd) === containerKey) {
|
|
130
|
+
if (identityOf(entry)?.key === key) {
|
|
129
131
|
if (matching)
|
|
130
132
|
matching.push(entry);
|
|
131
133
|
}
|
|
@@ -136,22 +138,16 @@ export function typescriptCallableCandidatesInContainer(group, tree, rangeOf, st
|
|
|
136
138
|
return matching ?? group;
|
|
137
139
|
}
|
|
138
140
|
/** Only a single implementation can stand in for every signature of an overload group. */
|
|
139
|
-
export function typescriptCollapsedOverloadTarget(group,
|
|
141
|
+
export function typescriptCollapsedOverloadTarget(group, identityOf) {
|
|
140
142
|
const first = group[0];
|
|
141
143
|
if (!first)
|
|
142
144
|
return undefined;
|
|
143
|
-
const
|
|
144
|
-
|
|
145
|
-
const end = firstDefinition.range.end.index ?? start;
|
|
146
|
-
const candidates = typescriptCallableCandidatesInContainer(group, tree, (entry) => definitionOf(entry).range, start, end);
|
|
147
|
-
if (candidates.length !== group.length)
|
|
145
|
+
const key = identityOf(first)?.key;
|
|
146
|
+
if (!key || group.some((entry) => identityOf(entry)?.key !== key))
|
|
148
147
|
return undefined;
|
|
149
148
|
let implementation;
|
|
150
|
-
for (const entry of
|
|
151
|
-
|
|
152
|
-
const entryStart = def.range.start.index ?? 0;
|
|
153
|
-
const entryEnd = def.range.end.index ?? entryStart;
|
|
154
|
-
if (typescriptCallableRoleAt(tree, entryStart, entryEnd) !== "implementation")
|
|
149
|
+
for (const entry of group) {
|
|
150
|
+
if (identityOf(entry)?.role !== "implementation")
|
|
155
151
|
continue;
|
|
156
152
|
if (implementation)
|
|
157
153
|
return undefined;
|
|
@@ -159,22 +155,16 @@ export function typescriptCollapsedOverloadTarget(group, tree, definitionOf) {
|
|
|
159
155
|
}
|
|
160
156
|
return implementation;
|
|
161
157
|
}
|
|
162
|
-
/**
|
|
163
|
-
|
|
164
|
-
* declaration remains an arity candidate.
|
|
165
|
-
*/
|
|
166
|
-
export function typescriptCollapsedOverloadCandidates(group, tree, definitionOf) {
|
|
158
|
+
/** Signature-only and multiply implemented groups remain separate arity candidates. */
|
|
159
|
+
export function typescriptCollapsedOverloadCandidates(group, identityOf) {
|
|
167
160
|
if (group.length < 2)
|
|
168
161
|
return group;
|
|
169
|
-
const implementation = typescriptCollapsedOverloadTarget(group,
|
|
162
|
+
const implementation = typescriptCollapsedOverloadTarget(group, identityOf);
|
|
170
163
|
return implementation ? [implementation] : group;
|
|
171
164
|
}
|
|
172
|
-
/**
|
|
173
|
-
* Select the canonical implementation only when a declared overload accepts a known count.
|
|
174
|
-
* Unknown counts retain the implementation; signature-only groups need one matching declaration.
|
|
175
|
-
*/
|
|
165
|
+
/** Select the implementation only if a declared overload accepts a known count. */
|
|
176
166
|
export function typescriptSelectOverloadCandidate(params) {
|
|
177
|
-
const candidates = typescriptCollapsedOverloadCandidates(params.group, params.
|
|
167
|
+
const candidates = typescriptCollapsedOverloadCandidates(params.group, params.identityOf);
|
|
178
168
|
if (candidates.length === 1) {
|
|
179
169
|
const implementation = candidates[0];
|
|
180
170
|
if (params.argumentCount === null || params.group.length === 1)
|
|
@@ -183,21 +173,15 @@ export function typescriptSelectOverloadCandidate(params) {
|
|
|
183
173
|
for (const candidate of params.group) {
|
|
184
174
|
if (candidate === implementation)
|
|
185
175
|
continue;
|
|
186
|
-
const
|
|
187
|
-
|
|
188
|
-
const end = def.range.end.index ?? start;
|
|
189
|
-
if (typescriptCallableRoleAt(params.tree, start, end) !== "signature")
|
|
176
|
+
const identity = params.identityOf(candidate);
|
|
177
|
+
if (identity?.role !== "signature")
|
|
190
178
|
continue;
|
|
191
179
|
hasSignature = true;
|
|
192
|
-
const
|
|
193
|
-
const arity = declaration
|
|
194
|
-
? getCallableArity({ languageId: params.languageId, source: params.source, declaration })
|
|
195
|
-
: null;
|
|
180
|
+
const arity = identity.arity;
|
|
196
181
|
if (arity &&
|
|
197
182
|
params.argumentCount >= arity.minArgs &&
|
|
198
|
-
(arity.maxArgs === null || params.argumentCount <= arity.maxArgs))
|
|
183
|
+
(arity.maxArgs === null || params.argumentCount <= arity.maxArgs))
|
|
199
184
|
return implementation;
|
|
200
|
-
}
|
|
201
185
|
}
|
|
202
186
|
return hasSignature ? undefined : implementation;
|
|
203
187
|
}
|
|
@@ -205,14 +189,10 @@ export function typescriptSelectOverloadCandidate(params) {
|
|
|
205
189
|
return undefined;
|
|
206
190
|
let selected;
|
|
207
191
|
for (const candidate of candidates) {
|
|
208
|
-
const
|
|
209
|
-
const arity = declaration
|
|
210
|
-
? getCallableArity({ languageId: params.languageId, source: params.source, declaration })
|
|
211
|
-
: null;
|
|
192
|
+
const arity = params.identityOf(candidate)?.arity;
|
|
212
193
|
if (arity &&
|
|
213
|
-
(params.argumentCount < arity.minArgs || (arity.maxArgs !== null && params.argumentCount > arity.maxArgs)))
|
|
194
|
+
(params.argumentCount < arity.minArgs || (arity.maxArgs !== null && params.argumentCount > arity.maxArgs)))
|
|
214
195
|
continue;
|
|
215
|
-
}
|
|
216
196
|
if (selected)
|
|
217
197
|
return undefined;
|
|
218
198
|
selected = candidate;
|
|
@@ -223,7 +203,7 @@ export function typescriptSelectOverloadCandidate(params) {
|
|
|
223
203
|
export function typescriptOverloadImplementationAcceptsCount(params) {
|
|
224
204
|
if (params.argumentCount === null)
|
|
225
205
|
return true;
|
|
226
|
-
const { implementation
|
|
206
|
+
const { implementation } = params;
|
|
227
207
|
let first;
|
|
228
208
|
let sameName;
|
|
229
209
|
for (const candidate of params.locals) {
|
|
@@ -238,26 +218,15 @@ export function typescriptOverloadImplementationAcceptsCount(params) {
|
|
|
238
218
|
}
|
|
239
219
|
if (!sameName)
|
|
240
220
|
return true;
|
|
241
|
-
const
|
|
242
|
-
const
|
|
243
|
-
const group = typescriptCallableCandidatesInContainer(sameName, tree, (candidate) => candidate.range, start, end);
|
|
244
|
-
const canonical = typescriptCollapsedOverloadTarget(group, tree, (candidate) => candidate);
|
|
221
|
+
const group = typescriptCallableCandidatesInContainer(sameName, (candidate) => candidate.callable, implementation.callable?.key);
|
|
222
|
+
const canonical = typescriptCollapsedOverloadTarget(group, (candidate) => candidate.callable);
|
|
245
223
|
if (!canonical ||
|
|
246
224
|
canonical.range.start.index !== implementation.range.start.index ||
|
|
247
|
-
canonical.range.end.index !== implementation.range.end.index)
|
|
225
|
+
canonical.range.end.index !== implementation.range.end.index)
|
|
248
226
|
return true;
|
|
249
|
-
}
|
|
250
227
|
return !!typescriptSelectOverloadCandidate({
|
|
251
228
|
group,
|
|
252
|
-
|
|
253
|
-
definitionOf: (candidate) => candidate,
|
|
254
|
-
declarationOf: (candidate) => {
|
|
255
|
-
const candidateStart = candidate.range.start.index ?? 0;
|
|
256
|
-
const candidateEnd = candidate.range.end.index ?? candidateStart;
|
|
257
|
-
return tree.rootNode.descendantForIndex(candidateStart, candidateEnd)?.parent;
|
|
258
|
-
},
|
|
259
|
-
source: params.source,
|
|
260
|
-
languageId: params.languageId,
|
|
229
|
+
identityOf: (candidate) => candidate.callable,
|
|
261
230
|
argumentCount: params.argumentCount,
|
|
262
231
|
});
|
|
263
232
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ts-callables.js","sourceRoot":"","sources":["../../src/indexer/ts-callables.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ts-callables.js","sourceRoot":"","sources":["../../src/indexer/ts-callables.ts"],"names":[],"mappings":"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"}
|
package/dist/indexer/types.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import type { FallbackImportExtractionReason } from "../graphs/specifiers.js";
|
|
2
1
|
import type { GraphAdjacencyIndex } from "../graphs/adjacency.js";
|
|
3
2
|
import type { GraphBuildOptions } from "../graphs/types.js";
|
|
4
3
|
import type { LogLevel } from "../logging.js";
|
|
5
|
-
import type { NativeFallbackReason
|
|
4
|
+
import type { NativeFallbackReason } from "../native/contracts.js";
|
|
6
5
|
import type { ScopeIndex } from "./scope-types.js";
|
|
7
6
|
import type { ReferenceCandidateIndex } from "./reference-candidate-types.js";
|
|
8
7
|
import type { ParsedFileContext } from "./parse-context.js";
|
|
9
8
|
import type { Edge, FileId, Graph, ProgressUpdate, Range } from "../types.js";
|
|
10
9
|
import type { ProjectDiscoveryContext, ProjectFileDiscoveryOptions, ProjectFileInfo } from "../util/project-files.js";
|
|
11
10
|
import type { ImportBinding } from "./import-types.js";
|
|
11
|
+
import type { CallableIdentity } from "../languages/callable-arity.js";
|
|
12
12
|
export type { ImportBinding } from "./import-types.js";
|
|
13
13
|
export declare enum SymbolKind {
|
|
14
14
|
Function = "function",
|
|
@@ -28,7 +28,17 @@ export type SymbolDef = {
|
|
|
28
28
|
localName: string;
|
|
29
29
|
kind: SymbolKind;
|
|
30
30
|
range: Range;
|
|
31
|
+
/** Indexed callable facts; absent for symbols that are not callable. */
|
|
32
|
+
callable?: CallableIdentity;
|
|
31
33
|
isMember?: boolean;
|
|
34
|
+
/** Direct JVM type owner for nested classifiers and Java members. */
|
|
35
|
+
jvmTypeOwnerStartIndex?: number;
|
|
36
|
+
/** Java member with static syntax, or an implicitly static nested classifier. */
|
|
37
|
+
jvmStaticMember?: boolean;
|
|
38
|
+
/** Non-public Java type or member; static imports remain package-restricted. */
|
|
39
|
+
javaPackagePrivate?: boolean;
|
|
40
|
+
/** A protected member remains inherited across Java packages. */
|
|
41
|
+
javaProtectedMember?: boolean;
|
|
32
42
|
/** C tag identity; a reference can introduce an incomplete tag if no visible tag exists. */
|
|
33
43
|
cTag?: "declaration" | "forward" | "reference";
|
|
34
44
|
docstring?: string;
|
|
@@ -110,10 +120,9 @@ export type SqlNavigationCache = {
|
|
|
110
120
|
};
|
|
111
121
|
};
|
|
112
122
|
export type CachedAnalysisSummary = {
|
|
113
|
-
mode: "semantic"
|
|
114
|
-
backend: "native" | "
|
|
123
|
+
mode: "semantic";
|
|
124
|
+
backend: "native" | "unknown";
|
|
115
125
|
parserDegradedFiles: number;
|
|
116
|
-
fallbackImportExtractionFiles: number;
|
|
117
126
|
nativeFilesUsed: number;
|
|
118
127
|
nativeFilesFellBack: number;
|
|
119
128
|
label: string;
|
|
@@ -125,7 +134,6 @@ export type ProjectIndex = {
|
|
|
125
134
|
byFile: Map<FileId, ModuleIndex>;
|
|
126
135
|
projectRoot?: string;
|
|
127
136
|
languageExtensions?: LanguageExtensionMap;
|
|
128
|
-
nativeMode?: NativeRuntimeMode;
|
|
129
137
|
exportCache: Map<string, ResolvedExport | null>;
|
|
130
138
|
scopeCache: Map<string, ScopeIndex>;
|
|
131
139
|
parsed?: Map<string, ParsedFileContext> | undefined;
|
|
@@ -146,9 +154,9 @@ export type ProjectIndex = {
|
|
|
146
154
|
/**
|
|
147
155
|
* Options for full index construction.
|
|
148
156
|
*
|
|
149
|
-
* For deterministic agent packs, the most common choices are `
|
|
150
|
-
*
|
|
151
|
-
*
|
|
157
|
+
* For deterministic agent packs, the most common choices are optional `discovery` globs
|
|
158
|
+
* and a `report` object when the caller wants timings/backend diagnostics alongside the
|
|
159
|
+
* resulting index.
|
|
152
160
|
*/
|
|
153
161
|
export type LanguageExtensionMap = import("../languages.js").LanguageExtensionMap;
|
|
154
162
|
export type CacheLocation = string;
|
|
@@ -173,9 +181,7 @@ export type BuildOptions = {
|
|
|
173
181
|
cacheStrict?: boolean;
|
|
174
182
|
useBloomFilters?: boolean;
|
|
175
183
|
graph?: GraphBuildOptions;
|
|
176
|
-
native?: NativeRuntimeMode;
|
|
177
184
|
cacheVerify?: boolean;
|
|
178
|
-
incrementalStrict?: boolean;
|
|
179
185
|
report?: BuildReport;
|
|
180
186
|
parsedCacheMaxEntries?: number;
|
|
181
187
|
logLevel?: LogLevel;
|
|
@@ -262,18 +268,6 @@ export type BuildFileReport = {
|
|
|
262
268
|
message: string;
|
|
263
269
|
}>;
|
|
264
270
|
};
|
|
265
|
-
export type FallbackImportExtractionReport = {
|
|
266
|
-
total: number;
|
|
267
|
-
byLanguage: Record<string, number>;
|
|
268
|
-
files: Record<string, {
|
|
269
|
-
language: string;
|
|
270
|
-
reason: FallbackImportExtractionReason;
|
|
271
|
-
}>;
|
|
272
|
-
byReason?: Record<FallbackImportExtractionReason, number>;
|
|
273
|
-
};
|
|
274
|
-
export type GraphReport = {
|
|
275
|
-
fallbackImportExtraction: FallbackImportExtractionReport;
|
|
276
|
-
};
|
|
277
271
|
export type ManifestReport = {
|
|
278
272
|
used: boolean;
|
|
279
273
|
reused: boolean;
|
|
@@ -360,7 +354,6 @@ export type BuildReport = {
|
|
|
360
354
|
timings: BuildTimingReport;
|
|
361
355
|
cache?: CacheReport;
|
|
362
356
|
files?: BuildFileReport;
|
|
363
|
-
graph?: GraphReport;
|
|
364
357
|
manifest?: ManifestReport;
|
|
365
358
|
backend?: BackendReport;
|
|
366
359
|
workerPool?: WorkerPoolReport;
|
|
@@ -417,7 +410,7 @@ export type GoToRequest = {
|
|
|
417
410
|
column: number;
|
|
418
411
|
};
|
|
419
412
|
export type ResolutionProvenance = {
|
|
420
|
-
backend?: "native" | "
|
|
413
|
+
backend?: "native" | "heuristic";
|
|
421
414
|
resolution?: "exact" | "import" | "import-star" | "namespace" | "reexport" | "php-qualified" | "member-access";
|
|
422
415
|
confidence?: "high" | "medium" | "low";
|
|
423
416
|
};
|