cgraphx 2.0.2 → 2.0.3
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/dist/core/code/engine/cli/analyze-config.js +320 -0
- package/dist/core/code/engine/cli/analyze.js +1086 -0
- package/dist/core/code/engine/cli/cli-message.js +83 -0
- package/dist/core/code/engine/cli/detect-changes-format.js +58 -0
- package/dist/core/code/engine/cli/embedding-dims.js +43 -0
- package/dist/core/code/engine/cli/format-elapsed.js +12 -0
- package/dist/core/code/engine/cli/help-i18n.js +144 -0
- package/dist/core/code/engine/cli/i18n/en.js +110 -0
- package/dist/core/code/engine/cli/i18n/index.js +47 -0
- package/dist/core/code/engine/cli/i18n/resources.js +9 -0
- package/dist/core/code/engine/cli/i18n/zh-CN.js +110 -0
- package/dist/core/code/engine/cli/lazy-action.js +67 -0
- package/dist/core/code/engine/cli/optional-grammars.js +136 -0
- package/dist/core/code/engine/cli/resolve-invocation.js +76 -0
- package/dist/core/code/engine/cli/status.js +156 -0
- package/dist/core/code/engine/cli/tool.js +384 -0
- package/dist/core/code/engine/config/ignore-service.js +511 -0
- package/dist/core/code/engine/config/supported-languages.js +17 -0
- package/dist/core/code/engine/core/analysis-features.js +64 -0
- package/dist/core/code/engine/core/analyzer-identity.js +2171 -0
- package/dist/core/code/engine/core/git-staleness.js +180 -0
- package/dist/core/code/engine/core/graph/graph.js +180 -0
- package/dist/core/code/engine/core/graph/import-cycles.js +106 -0
- package/dist/core/code/engine/core/graph/types.js +2 -0
- package/dist/core/code/engine/core/index-freshness.js +12 -0
- package/dist/core/code/engine/core/ingestion/binding-accumulator.js +341 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/c-cpp.js +168 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/csharp.js +9 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/dart.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/go.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/jvm.js +54 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/php.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/python.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/ruby.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/rust.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/swift.js +8 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/configs/typescript-javascript.js +11 -0
- package/dist/core/code/engine/core/ingestion/call-extractors/generic.js +62 -0
- package/dist/core/code/engine/core/ingestion/call-processor.js +503 -0
- package/dist/core/code/engine/core/ingestion/call-routing.js +98 -0
- package/dist/core/code/engine/core/ingestion/call-types.js +3 -0
- package/dist/core/code/engine/core/ingestion/cfg/callee-cell-format.js +45 -0
- package/dist/core/code/engine/core/ingestion/cfg/cfg-builder.js +202 -0
- package/dist/core/code/engine/core/ingestion/cfg/collect.js +81 -0
- package/dist/core/code/engine/core/ingestion/cfg/control-dependence.js +185 -0
- package/dist/core/code/engine/core/ingestion/cfg/control-flow-context.js +130 -0
- package/dist/core/code/engine/core/ingestion/cfg/emit.js +646 -0
- package/dist/core/code/engine/core/ingestion/cfg/post-dominators.js +182 -0
- package/dist/core/code/engine/core/ingestion/cfg/reaching-def-reason-codec.js +139 -0
- package/dist/core/code/engine/core/ingestion/cfg/reaching-defs-graph.js +322 -0
- package/dist/core/code/engine/core/ingestion/cfg/reaching-defs.js +792 -0
- package/dist/core/code/engine/core/ingestion/cfg/synthetic-escape.js +305 -0
- package/dist/core/code/engine/core/ingestion/cfg/traversal-result.js +6 -0
- package/dist/core/code/engine/core/ingestion/cfg/types.js +14 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/c-cpp-harvest.js +545 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/c-cpp.js +590 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/call-site-harvest.js +356 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/csharp-harvest.js +593 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/csharp.js +871 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/dart-harvest.js +874 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/dart.js +840 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/go-harvest.js +625 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/go.js +642 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/java-harvest.js +517 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/java.js +816 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/kotlin-harvest.js +723 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/kotlin.js +813 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/php-harvest.js +630 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/php.js +725 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/python-harvest.js +776 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/python.js +562 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/ruby-harvest.js +591 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/ruby.js +760 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/rust-harvest.js +877 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/rust.js +562 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/scope-tree-harvest.js +120 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/swift-harvest.js +683 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/swift.js +791 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/typescript-harvest.js +1060 -0
- package/dist/core/code/engine/core/ingestion/cfg/visitors/typescript.js +587 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/c-cpp.js +77 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/csharp.js +24 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/dart.js +10 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/go.js +28 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/jvm.js +67 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/php.js +10 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/python.js +10 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/ruby.js +13 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/rust.js +10 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/swift.js +21 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/configs/typescript-javascript.js +31 -0
- package/dist/core/code/engine/core/ingestion/class-extractors/generic.js +144 -0
- package/dist/core/code/engine/core/ingestion/class-types.js +2 -0
- package/dist/core/code/engine/core/ingestion/cluster-enricher.js +174 -0
- package/dist/core/code/engine/core/ingestion/community-processor.js +604 -0
- package/dist/core/code/engine/core/ingestion/constants.js +26 -0
- package/dist/core/code/engine/core/ingestion/cpp-ue-preprocessor.js +263 -0
- package/dist/core/code/engine/core/ingestion/csharp-namespace-gate.js +133 -0
- package/dist/core/code/engine/core/ingestion/di-extractors/index.js +38 -0
- package/dist/core/code/engine/core/ingestion/di-extractors/spring.js +310 -0
- package/dist/core/code/engine/core/ingestion/emit-references.js +244 -0
- package/dist/core/code/engine/core/ingestion/entry-point-scoring.js +201 -0
- package/dist/core/code/engine/core/ingestion/export-detection.js +244 -0
- package/dist/core/code/engine/core/ingestion/field-extractor.js +29 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/c-cpp.js +107 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/csharp.js +124 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/dart.js +99 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/go.js +102 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/helpers.js +198 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/jvm.js +172 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/php.js +67 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/python.js +94 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/ruby.js +79 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/rust.js +55 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/swift.js +93 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/configs/typescript-javascript.js +59 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/generic.js +147 -0
- package/dist/core/code/engine/core/ingestion/field-extractors/typescript.js +266 -0
- package/dist/core/code/engine/core/ingestion/field-types.js +3 -0
- package/dist/core/code/engine/core/ingestion/filesystem-walker.js +136 -0
- package/dist/core/code/engine/core/ingestion/finalize-orchestrator.js +159 -0
- package/dist/core/code/engine/core/ingestion/framework-detection.js +432 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/analysis-features.js +38 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/annotation-arguments.js +234 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/aop-candidates.js +88 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/aop.js +487 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/auto-configuration.js +21 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/bean-candidates.js +189 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/bean-catalog.js +32 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/bean-factories.js +73 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/conditionals.js +323 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/config-bindings.js +119 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/di-metadata.js +385 -0
- package/dist/core/code/engine/core/ingestion/frameworks/spring/resource-injection.js +96 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/c-cpp.js +17 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/csharp.js +46 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/dart.js +59 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/go.js +30 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/jvm.js +73 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/php.js +19 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/python.js +45 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/ruby.js +20 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/rust.js +58 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/swift.js +94 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/configs/typescript-javascript.js +26 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/csharp.js +128 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/go.js +50 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/jvm.js +112 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/php.js +80 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/python.js +75 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/resolver-factory.js +36 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/ruby.js +20 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/rust.js +79 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/standard.js +180 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/types.js +7 -0
- package/dist/core/code/engine/core/ingestion/import-resolvers/utils.js +153 -0
- package/dist/core/code/engine/core/ingestion/import-target-adapter.js +99 -0
- package/dist/core/code/engine/core/ingestion/language-config.js +391 -0
- package/dist/core/code/engine/core/ingestion/language-provider.js +25 -0
- package/dist/core/code/engine/core/ingestion/languages/c/arity-metadata.js +98 -0
- package/dist/core/code/engine/core/ingestion/languages/c/arity.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/c/capture-side-channel.js +69 -0
- package/dist/core/code/engine/core/ingestion/languages/c/captures.js +189 -0
- package/dist/core/code/engine/core/ingestion/languages/c/header-scan.js +58 -0
- package/dist/core/code/engine/core/ingestion/languages/c/import-decomposer.js +68 -0
- package/dist/core/code/engine/core/ingestion/languages/c/import-target.js +103 -0
- package/dist/core/code/engine/core/ingestion/languages/c/index.js +33 -0
- package/dist/core/code/engine/core/ingestion/languages/c/interpret.js +53 -0
- package/dist/core/code/engine/core/ingestion/languages/c/merge-bindings.js +26 -0
- package/dist/core/code/engine/core/ingestion/languages/c/query.js +210 -0
- package/dist/core/code/engine/core/ingestion/languages/c/scope-resolver.js +112 -0
- package/dist/core/code/engine/core/ingestion/languages/c/simple-hooks.js +24 -0
- package/dist/core/code/engine/core/ingestion/languages/c/static-linkage.js +109 -0
- package/dist/core/code/engine/core/ingestion/languages/c-cpp.js +506 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/adl.js +804 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/arity-metadata.js +258 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/arity.js +37 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/capture-side-channel.js +89 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/captures.js +1975 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/constraint-extractor.js +311 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/constraint-filter.js +210 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/conversion-rank.js +163 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/file-local-linkage.js +327 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/header-scan.js +53 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/import-decomposer.js +134 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/import-target.js +16 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/index.js +33 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/inline-namespaces.js +379 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/interpret.js +239 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/member-lookup.js +470 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/merge-bindings.js +32 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/query.js +763 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/range-bindings.js +230 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/scope-resolver.js +354 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/simple-hooks.js +67 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/two-phase-lookup.js +348 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/type-classifier.js +56 -0
- package/dist/core/code/engine/core/ingestion/languages/cpp/user-defined-conversions.js +128 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/accessor-unwrap.js +67 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/arity-metadata.js +49 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/arity.js +40 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/cache-stats.js +32 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/captures.js +557 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/import-decomposer.js +96 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/import-target.js +176 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/index.js +95 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/interpret.js +150 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/merge-bindings.js +58 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/namespace-siblings.js +708 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/qualified-type-names.js +62 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/query.js +578 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/receiver-binding.js +142 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/resolution-config.js +18 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/scope-resolver.js +84 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp/simple-hooks.js +81 -0
- package/dist/core/code/engine/core/ingestion/languages/csharp.js +204 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/arity-metadata.js +38 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/arity.js +34 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/built-ins.js +37 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/cache-stats.js +30 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/captures.js +1096 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/expand-wildcards.js +34 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/extension-type-preprocess.js +33 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/import-target.js +68 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/index.js +45 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/interpret.js +101 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/merge-bindings.js +42 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/query.js +246 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/receiver-binding.js +90 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/scope-resolver.js +197 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/signature-bindings.js +54 -0
- package/dist/core/code/engine/core/ingestion/languages/dart/simple-hooks.js +61 -0
- package/dist/core/code/engine/core/ingestion/languages/dart.js +138 -0
- package/dist/core/code/engine/core/ingestion/languages/go/arity-metadata.js +71 -0
- package/dist/core/code/engine/core/ingestion/languages/go/arity.js +17 -0
- package/dist/core/code/engine/core/ingestion/languages/go/cache-stats.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/go/captures.js +492 -0
- package/dist/core/code/engine/core/ingestion/languages/go/expand-wildcards.js +97 -0
- package/dist/core/code/engine/core/ingestion/languages/go/generic-type-parameters.js +146 -0
- package/dist/core/code/engine/core/ingestion/languages/go/import-decomposer.js +47 -0
- package/dist/core/code/engine/core/ingestion/languages/go/import-target.js +70 -0
- package/dist/core/code/engine/core/ingestion/languages/go/index.js +39 -0
- package/dist/core/code/engine/core/ingestion/languages/go/interface-impls.js +955 -0
- package/dist/core/code/engine/core/ingestion/languages/go/interpret.js +177 -0
- package/dist/core/code/engine/core/ingestion/languages/go/merge-bindings.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/go/method-owners.js +131 -0
- package/dist/core/code/engine/core/ingestion/languages/go/namespace-mirror.js +56 -0
- package/dist/core/code/engine/core/ingestion/languages/go/package-clause.js +79 -0
- package/dist/core/code/engine/core/ingestion/languages/go/package-siblings.js +83 -0
- package/dist/core/code/engine/core/ingestion/languages/go/query.js +298 -0
- package/dist/core/code/engine/core/ingestion/languages/go/range-binding.js +127 -0
- package/dist/core/code/engine/core/ingestion/languages/go/receiver-binding.js +24 -0
- package/dist/core/code/engine/core/ingestion/languages/go/scope-resolver.js +75 -0
- package/dist/core/code/engine/core/ingestion/languages/go/simple-hooks.js +31 -0
- package/dist/core/code/engine/core/ingestion/languages/go/type-binding.js +279 -0
- package/dist/core/code/engine/core/ingestion/languages/go.js +160 -0
- package/dist/core/code/engine/core/ingestion/languages/index.js +66 -0
- package/dist/core/code/engine/core/ingestion/languages/java/analysis-features.js +16 -0
- package/dist/core/code/engine/core/ingestion/languages/java/arity-metadata.js +43 -0
- package/dist/core/code/engine/core/ingestion/languages/java/arity.js +27 -0
- package/dist/core/code/engine/core/ingestion/languages/java/cache-stats.js +32 -0
- package/dist/core/code/engine/core/ingestion/languages/java/capture-side-channel.js +123 -0
- package/dist/core/code/engine/core/ingestion/languages/java/captures.js +791 -0
- package/dist/core/code/engine/core/ingestion/languages/java/import-decomposer.js +88 -0
- package/dist/core/code/engine/core/ingestion/languages/java/import-target.js +103 -0
- package/dist/core/code/engine/core/ingestion/languages/java/index.js +43 -0
- package/dist/core/code/engine/core/ingestion/languages/java/interpret.js +146 -0
- package/dist/core/code/engine/core/ingestion/languages/java/merge-bindings.js +43 -0
- package/dist/core/code/engine/core/ingestion/languages/java/package-facts.js +16 -0
- package/dist/core/code/engine/core/ingestion/languages/java/package-siblings.js +11 -0
- package/dist/core/code/engine/core/ingestion/languages/java/query.js +319 -0
- package/dist/core/code/engine/core/ingestion/languages/java/receiver-binding.js +98 -0
- package/dist/core/code/engine/core/ingestion/languages/java/scope-resolver.js +213 -0
- package/dist/core/code/engine/core/ingestion/languages/java/simple-hooks.js +39 -0
- package/dist/core/code/engine/core/ingestion/languages/java/spring-aop.js +53 -0
- package/dist/core/code/engine/core/ingestion/languages/java/spring-bean-metadata.js +11 -0
- package/dist/core/code/engine/core/ingestion/languages/java/spring-conditionals.js +52 -0
- package/dist/core/code/engine/core/ingestion/languages/java/spring-config-bindings.js +222 -0
- package/dist/core/code/engine/core/ingestion/languages/java/spring-di.js +165 -0
- package/dist/core/code/engine/core/ingestion/languages/java.js +192 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/arity.js +15 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/captures.js +1122 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/import-target.js +56 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/index.js +109 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/interpret.js +45 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/merge-bindings.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/query.js +659 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/scope-resolver.js +78 -0
- package/dist/core/code/engine/core/ingestion/languages/javascript/simple-hooks.js +44 -0
- package/dist/core/code/engine/core/ingestion/languages/jvm/package-facts.js +46 -0
- package/dist/core/code/engine/core/ingestion/languages/jvm/package-siblings.js +200 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/arity-metadata.js +23 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/arity.js +18 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/cache-stats.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/capture-side-channel.js +160 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/captures.js +1262 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/companion-scopes.js +72 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/import-decomposer.js +40 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/import-target.js +135 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/index.js +26 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/interpret.js +75 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/merge-bindings.js +28 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/owners.js +134 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/package-facts.js +16 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/package-siblings.js +11 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/query.js +243 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/receiver-binding.js +103 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/scope-resolver.js +207 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/simple-hooks.js +42 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-aop.js +68 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-bean-metadata.js +11 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-conditionals.js +53 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin/spring-di.js +304 -0
- package/dist/core/code/engine/core/ingestion/languages/kotlin.js +189 -0
- package/dist/core/code/engine/core/ingestion/languages/php/arity-metadata.js +66 -0
- package/dist/core/code/engine/core/ingestion/languages/php/arity.js +43 -0
- package/dist/core/code/engine/core/ingestion/languages/php/cache-stats.js +32 -0
- package/dist/core/code/engine/core/ingestion/languages/php/captures.js +1166 -0
- package/dist/core/code/engine/core/ingestion/languages/php/import-decomposer.js +238 -0
- package/dist/core/code/engine/core/ingestion/languages/php/import-target.js +213 -0
- package/dist/core/code/engine/core/ingestion/languages/php/index.js +85 -0
- package/dist/core/code/engine/core/ingestion/languages/php/interpret.js +256 -0
- package/dist/core/code/engine/core/ingestion/languages/php/merge-bindings.js +50 -0
- package/dist/core/code/engine/core/ingestion/languages/php/namespace-siblings.js +353 -0
- package/dist/core/code/engine/core/ingestion/languages/php/query.js +391 -0
- package/dist/core/code/engine/core/ingestion/languages/php/receiver-binding.js +135 -0
- package/dist/core/code/engine/core/ingestion/languages/php/scope-resolver.js +361 -0
- package/dist/core/code/engine/core/ingestion/languages/php/simple-hooks.js +116 -0
- package/dist/core/code/engine/core/ingestion/languages/php.js +302 -0
- package/dist/core/code/engine/core/ingestion/languages/python/arity-metadata.js +49 -0
- package/dist/core/code/engine/core/ingestion/languages/python/arity.js +41 -0
- package/dist/core/code/engine/core/ingestion/languages/python/cache-stats.js +34 -0
- package/dist/core/code/engine/core/ingestion/languages/python/captures.js +299 -0
- package/dist/core/code/engine/core/ingestion/languages/python/depends-references.js +68 -0
- package/dist/core/code/engine/core/ingestion/languages/python/import-decomposer.js +115 -0
- package/dist/core/code/engine/core/ingestion/languages/python/import-target.js +440 -0
- package/dist/core/code/engine/core/ingestion/languages/python/index-stats.js +30 -0
- package/dist/core/code/engine/core/ingestion/languages/python/index.js +96 -0
- package/dist/core/code/engine/core/ingestion/languages/python/interpret.js +430 -0
- package/dist/core/code/engine/core/ingestion/languages/python/merge-bindings.js +47 -0
- package/dist/core/code/engine/core/ingestion/languages/python/query.js +323 -0
- package/dist/core/code/engine/core/ingestion/languages/python/receiver-binding.js +310 -0
- package/dist/core/code/engine/core/ingestion/languages/python/scope-resolver.js +80 -0
- package/dist/core/code/engine/core/ingestion/languages/python/simple-hooks.js +53 -0
- package/dist/core/code/engine/core/ingestion/languages/python.js +140 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/arity.js +41 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/cache-stats.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/captures.js +864 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/import-target.js +88 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/index.js +29 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/interpret.js +115 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/merge-bindings.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/query.js +349 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/receiver-binding.js +70 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/scope-resolver.js +263 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby/simple-hooks.js +68 -0
- package/dist/core/code/engine/core/ingestion/languages/ruby.js +215 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/arity.js +16 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/cache-stats.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/captures.js +304 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/import-decomposer.js +167 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/import-target.js +108 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/index.js +29 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/interpret.js +201 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/merge-bindings.js +21 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/method-owners.js +76 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/module-path.js +222 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/qualified-call.js +482 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/query.js +280 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/range-binding.js +687 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/receiver-binding.js +148 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/scope-resolver.js +151 -0
- package/dist/core/code/engine/core/ingestion/languages/rust/simple-hooks.js +32 -0
- package/dist/core/code/engine/core/ingestion/languages/rust.js +183 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/arity-metadata.js +44 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/arity.js +45 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/base-type.js +30 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/cache-stats.js +32 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/captures.js +594 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/conditional-directive-preprocess.js +256 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/implicit-imports.js +60 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/import-decomposer.js +87 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/import-target.js +84 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/index.js +56 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/interpret.js +93 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/merge-bindings.js +51 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/query.js +226 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/receiver-binding.js +169 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/scope-resolver.js +192 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/sibling-type-bindings.js +68 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/signature-bindings.js +69 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/simple-hooks.js +65 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/target-grouping.js +97 -0
- package/dist/core/code/engine/core/ingestion/languages/swift/target-siblings.js +74 -0
- package/dist/core/code/engine/core/ingestion/languages/swift.js +246 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/arity-metadata.js +106 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/arity.js +57 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/array-callback.js +58 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/cache-stats.js +34 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/captures.js +956 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/cjs-export-assignment.js +535 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/cjs-module-exports.js +196 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/import-decomposer.js +374 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/import-target.js +65 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/index.js +108 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/interpret.js +344 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/merge-bindings.js +161 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/nuxt-auto-imports.js +325 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/query.js +1328 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/receiver-binding.js +201 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/scope-resolver.js +293 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript/simple-hooks.js +139 -0
- package/dist/core/code/engine/core/ingestion/languages/typescript.js +455 -0
- package/dist/core/code/engine/core/ingestion/languages/vue/captures.js +70 -0
- package/dist/core/code/engine/core/ingestion/languages/vue/import-target.js +61 -0
- package/dist/core/code/engine/core/ingestion/languages/vue/index.js +55 -0
- package/dist/core/code/engine/core/ingestion/languages/vue/scope-resolver.js +295 -0
- package/dist/core/code/engine/core/ingestion/languages/vue.js +96 -0
- package/dist/core/code/engine/core/ingestion/local-symbol-pruner.js +68 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/c-cpp.js +387 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/csharp.js +290 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/dart.js +392 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/go.js +179 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/jvm.js +350 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/php.js +306 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/python.js +312 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/ruby.js +289 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/rust.js +198 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/swift.js +286 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/configs/typescript-javascript.js +341 -0
- package/dist/core/code/engine/core/ingestion/method-extractors/generic.js +209 -0
- package/dist/core/code/engine/core/ingestion/method-types.js +3 -0
- package/dist/core/code/engine/core/ingestion/model/field-registry.js +41 -0
- package/dist/core/code/engine/core/ingestion/model/index.js +52 -0
- package/dist/core/code/engine/core/ingestion/model/method-registry.js +138 -0
- package/dist/core/code/engine/core/ingestion/model/owned-members-lookup.js +46 -0
- package/dist/core/code/engine/core/ingestion/model/registration-table.js +234 -0
- package/dist/core/code/engine/core/ingestion/model/resolve.js +183 -0
- package/dist/core/code/engine/core/ingestion/model/scope-resolution-indexes.js +43 -0
- package/dist/core/code/engine/core/ingestion/model/semantic-model.js +179 -0
- package/dist/core/code/engine/core/ingestion/model/symbol-table.js +216 -0
- package/dist/core/code/engine/core/ingestion/model/type-registry.js +84 -0
- package/dist/core/code/engine/core/ingestion/mro-processor.js +709 -0
- package/dist/core/code/engine/core/ingestion/parsing-processor.js +312 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/communities.js +69 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/cross-file.js +71 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/di.js +338 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/http-api-calls.js +312 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/index.js +54 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/mro.js +40 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/orm.js +78 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/parse-impl.js +1286 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/parse.js +41 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/processes.js +193 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/prune-local-symbols.js +29 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/registry.js +52 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/routes.js +409 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/rpc-edges.js +301 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/runner.js +207 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/scan.js +49 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/spring-aop.js +442 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/spring-auto-configuration.js +264 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/spring-config.js +440 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/structure.js +38 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/tools.js +89 -0
- package/dist/core/code/engine/core/ingestion/pipeline-phases/types.js +40 -0
- package/dist/core/code/engine/core/ingestion/pipeline.js +152 -0
- package/dist/core/code/engine/core/ingestion/process-processor.js +325 -0
- package/dist/core/code/engine/core/ingestion/resolve-references.js +205 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/constant-resolver.js +135 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/django-root-discovery.js +221 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/django.js +428 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/expo.js +39 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/fastapi-router-bindings.js +264 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/laravel.js +501 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/middleware.js +175 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/nextjs.js +81 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/php.js +25 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/python-const-resolver.js +307 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/response-shapes.js +299 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/route-path.js +71 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/spring-shared.js +310 -0
- package/dist/core/code/engine/core/ingestion/route-extractors/spring.js +441 -0
- package/dist/core/code/engine/core/ingestion/scope-extractor-bridge.js +60 -0
- package/dist/core/code/engine/core/ingestion/scope-extractor.js +1373 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/contract/scope-resolver.js +282 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/callee-id-sink.js +72 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/edges.js +194 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/ids.js +472 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/imports-to-edges.js +49 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/method-dispatch.js +43 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/node-lookup.js +274 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/graph-bridge/references-to-edges.js +93 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/callable-value-flow.js +1240 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/compound-receiver.js +1174 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/free-call-fallback.js +873 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/imported-return-types.js +226 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/mro.js +107 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/overload-narrowing.js +441 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/property-dispatch.js +122 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/passes/receiver-bound-calls.js +1720 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/phase.js +395 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/reconcile-ownership.js +208 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/registry.js +49 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/run.js +632 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/pipeline/validate-bindings-immutability.js +112 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/resolution-outcome.js +41 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/scope/namespace-targets.js +81 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/scope/walkers.js +1835 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/unresolved-receivers.js +242 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/utils/definition-id.js +22 -0
- package/dist/core/code/engine/core/ingestion/scope-resolution/workspace-index.js +151 -0
- package/dist/core/code/engine/core/ingestion/structure-processor.js +40 -0
- package/dist/core/code/engine/core/ingestion/tree-sitter-queries.js +2244 -0
- package/dist/core/code/engine/core/ingestion/ts-js-hoc-utils.js +115 -0
- package/dist/core/code/engine/core/ingestion/type-env.js +1136 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/c-cpp.js +555 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/csharp.js +570 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/dart.js +372 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/go.js +508 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/jvm.js +875 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/php.js +537 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/python.js +477 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/ruby.js +380 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/rust.js +502 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/shared.js +843 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/swift.js +490 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/types.js +2 -0
- package/dist/core/code/engine/core/ingestion/type-extractors/typescript.js +690 -0
- package/dist/core/code/engine/core/ingestion/utils/ast-helpers.js +1693 -0
- package/dist/core/code/engine/core/ingestion/utils/call-analysis.js +779 -0
- package/dist/core/code/engine/core/ingestion/utils/callable-flow-captures.js +932 -0
- package/dist/core/code/engine/core/ingestion/utils/callable-labels.js +49 -0
- package/dist/core/code/engine/core/ingestion/utils/deferred-resolution-profile.js +151 -0
- package/dist/core/code/engine/core/ingestion/utils/effective-ram.js +67 -0
- package/dist/core/code/engine/core/ingestion/utils/env.js +60 -0
- package/dist/core/code/engine/core/ingestion/utils/event-loop.js +9 -0
- package/dist/core/code/engine/core/ingestion/utils/graph-sort.js +103 -0
- package/dist/core/code/engine/core/ingestion/utils/heap-probe.js +45 -0
- package/dist/core/code/engine/core/ingestion/utils/heritage-marker.js +47 -0
- package/dist/core/code/engine/core/ingestion/utils/line-base.js +24 -0
- package/dist/core/code/engine/core/ingestion/utils/max-file-size.js +59 -0
- package/dist/core/code/engine/core/ingestion/utils/method-props.js +198 -0
- package/dist/core/code/engine/core/ingestion/utils/qualified-name.js +73 -0
- package/dist/core/code/engine/core/ingestion/utils/receiver-chain-captures.js +60 -0
- package/dist/core/code/engine/core/ingestion/utils/receiver-chain-codec.js +188 -0
- package/dist/core/code/engine/core/ingestion/utils/scope-tree-walk.js +36 -0
- package/dist/core/code/engine/core/ingestion/utils/symbol-labels.js +48 -0
- package/dist/core/code/engine/core/ingestion/utils/template-arguments.js +187 -0
- package/dist/core/code/engine/core/ingestion/utils/type-parameters.js +209 -0
- package/dist/core/code/engine/core/ingestion/utils/verbose.js +6 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/c-cpp.js +133 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/csharp.js +66 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/dart.js +111 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/go.js +153 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/jvm.js +145 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/php.js +61 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/python.js +104 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/ruby.js +55 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/rust.js +79 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/swift.js +91 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/configs/typescript-javascript.js +86 -0
- package/dist/core/code/engine/core/ingestion/variable-extractors/generic.js +111 -0
- package/dist/core/code/engine/core/ingestion/variable-types.js +3 -0
- package/dist/core/code/engine/core/ingestion/vue-sfc-extractor.js +544 -0
- package/dist/core/code/engine/core/ingestion/workers/callable-id.js +122 -0
- package/dist/core/code/engine/core/ingestion/workers/clone-safety.js +470 -0
- package/dist/core/code/engine/core/ingestion/workers/parse-worker.js +2456 -0
- package/dist/core/code/engine/core/ingestion/workers/post-result.js +90 -0
- package/dist/core/code/engine/core/ingestion/workers/quarantine.js +41 -0
- package/dist/core/code/engine/core/ingestion/workers/result-merge.js +59 -0
- package/dist/core/code/engine/core/ingestion/workers/worker-pool.js +1725 -0
- package/dist/core/code/engine/core/ingestion/workspace-config.js +139 -0
- package/dist/core/code/engine/core/lbug/conn-lock.js +72 -0
- package/dist/core/code/engine/core/lbug/csv-generator.js +710 -0
- package/dist/core/code/engine/core/lbug/cypher-escape.js +24 -0
- package/dist/core/code/engine/core/lbug/extension-load-error.js +339 -0
- package/dist/core/code/engine/core/lbug/extension-loader.js +261 -0
- package/dist/core/code/engine/core/lbug/graph-emit-sink.js +584 -0
- package/dist/core/code/engine/core/lbug/lbug-adapter.js +2703 -0
- package/dist/core/code/engine/core/lbug/lbug-config.js +1029 -0
- package/dist/core/code/engine/core/lbug/native-check.js +435 -0
- package/dist/core/code/engine/core/lbug/pool-adapter.js +973 -0
- package/dist/core/code/engine/core/lbug/query-params.js +25 -0
- package/dist/core/code/engine/core/lbug/query-result-utils.js +31 -0
- package/dist/core/code/engine/core/lbug/rel-pair-routing.js +373 -0
- package/dist/core/code/engine/core/lbug/schema.js +771 -0
- package/dist/core/code/engine/core/lbug/shutdown-helpers.js +40 -0
- package/dist/core/code/engine/core/lbug/sidecar-recovery.js +716 -0
- package/dist/core/code/engine/core/lbug/stdio-capture.js +49 -0
- package/dist/core/code/engine/core/lbug/sync-csv-writer.js +115 -0
- package/dist/core/code/engine/core/lbug/wal-checkpoint-driver.js +215 -0
- package/dist/core/code/engine/core/lbug/wal-driver-state.js +28 -0
- package/dist/core/code/engine/core/logger.js +339 -0
- package/dist/core/code/engine/core/platform/capabilities.js +91 -0
- package/dist/core/code/engine/core/run-analyze.js +1098 -0
- package/dist/core/code/engine/core/tree-sitter/parser-loader.js +281 -0
- package/dist/core/code/engine/core/tree-sitter/safe-parse.js +258 -0
- package/dist/core/code/engine/core/tree-sitter/vendored-grammars.js +64 -0
- package/dist/core/code/engine/lib/utils.js +121 -0
- package/dist/core/code/engine/mcp/core/lbug-adapter.js +27 -0
- package/dist/core/code/engine/mcp/local/aop-metadata.js +230 -0
- package/dist/core/code/engine/mcp/local/bean-metadata.js +49 -0
- package/dist/core/code/engine/mcp/local/limits.js +15 -0
- package/dist/core/code/engine/mcp/local/line-display.js +6 -0
- package/dist/core/code/engine/mcp/local/local-backend.js +4142 -0
- package/dist/core/code/engine/storage/branch-index.js +72 -0
- package/dist/core/code/engine/storage/file-hash.js +95 -0
- package/dist/core/code/engine/storage/fs-atomic.js +34 -0
- package/dist/core/code/engine/storage/git.js +555 -0
- package/dist/core/code/engine/storage/index-lock.js +664 -0
- package/dist/core/code/engine/storage/parse-cache.js +650 -0
- package/dist/core/code/engine/storage/parsedfile-store.js +620 -0
- package/dist/core/code/engine/storage/repo-manager.js +1061 -0
- package/dist/core/code/engine/storage/scope-index-store.js +247 -0
- package/dist/core/code/engine/types/pipeline.js +2 -0
- package/dist/core/code/scripts/install-duckdb-extension.mjs +125 -0
- package/dist/core/code/scripts/resolve-analyze-cmd.cjs +346 -0
- package/dist/core/code/shared/graph/types.js +8 -0
- package/dist/core/code/shared/index.js +105 -0
- package/dist/core/code/shared/integrations/circuit-breaker.js +242 -0
- package/dist/core/code/shared/integrations/resilient-fetch.js +224 -0
- package/dist/core/code/shared/integrations/retry.js +70 -0
- package/dist/core/code/shared/integrations/understand-quickly.js +145 -0
- package/dist/core/code/shared/language-detection.js +162 -0
- package/dist/core/code/shared/languages.js +27 -0
- package/dist/core/code/shared/lbug/schema-constants.js +98 -0
- package/dist/core/code/shared/mro-strategy.js +2 -0
- package/dist/core/code/shared/pipeline.js +5 -0
- package/dist/core/code/shared/scope-resolution/callable-flow-site.js +11 -0
- package/dist/core/code/shared/scope-resolution/def-index.js +53 -0
- package/dist/core/code/shared/scope-resolution/evidence-weights.js +87 -0
- package/dist/core/code/shared/scope-resolution/finalize-algorithm.js +807 -0
- package/dist/core/code/shared/scope-resolution/language-classification.js +46 -0
- package/dist/core/code/shared/scope-resolution/method-dispatch-index.js +100 -0
- package/dist/core/code/shared/scope-resolution/module-scope-index.js +59 -0
- package/dist/core/code/shared/scope-resolution/origin-priority.js +23 -0
- package/dist/core/code/shared/scope-resolution/parsed-file.js +54 -0
- package/dist/core/code/shared/scope-resolution/position-index.js +136 -0
- package/dist/core/code/shared/scope-resolution/qualified-name-index.js +77 -0
- package/dist/core/code/shared/scope-resolution/reference-site.js +24 -0
- package/dist/core/code/shared/scope-resolution/registries/class-registry.js +32 -0
- package/dist/core/code/shared/scope-resolution/registries/context.js +52 -0
- package/dist/core/code/shared/scope-resolution/registries/evidence.js +152 -0
- package/dist/core/code/shared/scope-resolution/registries/field-registry.js +33 -0
- package/dist/core/code/shared/scope-resolution/registries/lookup-core.js +392 -0
- package/dist/core/code/shared/scope-resolution/registries/lookup-qualified.js +58 -0
- package/dist/core/code/shared/scope-resolution/registries/macro-registry.js +34 -0
- package/dist/core/code/shared/scope-resolution/registries/method-registry.js +34 -0
- package/dist/core/code/shared/scope-resolution/registries/tie-breaks.js +63 -0
- package/dist/core/code/shared/scope-resolution/resolve-type-ref.js +128 -0
- package/dist/core/code/shared/scope-resolution/scope-id.js +49 -0
- package/dist/core/code/shared/scope-resolution/scope-tree.js +225 -0
- package/dist/core/code/shared/scope-resolution/symbol-definition.js +12 -0
- package/dist/core/code/shared/scope-resolution/types.js +25 -0
- package/dist/core/code/shared/test-helpers.js +17 -0
- package/dist/core/code/vendor/leiden/index.cjs +355 -0
- package/dist/core/code/vendor/leiden/utils.cjs +419 -0
- package/dist/core/timeline/cli.d.ts.map +1 -1
- package/dist/core/timeline/cli.js +13 -6
- package/dist/core/timeline/cli.js.map +1 -1
- package/dist/core/timeline/debris.d.ts +20 -0
- package/dist/core/timeline/debris.d.ts.map +1 -0
- package/dist/core/timeline/debris.js +124 -0
- package/dist/core/timeline/debris.js.map +1 -0
- package/dist/core/timeline/hook-runner.d.ts.map +1 -1
- package/dist/core/timeline/hook-runner.js +3 -1
- package/dist/core/timeline/hook-runner.js.map +1 -1
- package/dist/core/timeline/hooks.d.ts.map +1 -1
- package/dist/core/timeline/hooks.js +13 -5
- package/dist/core/timeline/hooks.js.map +1 -1
- package/dist/core/timeline/installer.d.ts +2 -0
- package/dist/core/timeline/installer.d.ts.map +1 -1
- package/dist/core/timeline/installer.js +12 -0
- package/dist/core/timeline/installer.js.map +1 -1
- package/dist/core/timeline/project-root.d.ts +21 -0
- package/dist/core/timeline/project-root.d.ts.map +1 -0
- package/dist/core/timeline/project-root.js +83 -0
- package/dist/core/timeline/project-root.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.markCompanionScope = markCompanionScope;
|
|
4
|
+
exports.isCompanionScope = isCompanionScope;
|
|
5
|
+
exports.getCompanionScopesForFile = getCompanionScopesForFile;
|
|
6
|
+
exports.clearCompanionScopes = clearCompanionScopes;
|
|
7
|
+
/**
|
|
8
|
+
* Per-file set of `ScopeId`s that came from a `companion_object` AST node
|
|
9
|
+
* (issue #1756 / U4 remediation).
|
|
10
|
+
*
|
|
11
|
+
* Populated during `emitKotlinScopeCaptures` from the `@scope.companion`
|
|
12
|
+
* marker capture (see `query.ts`) and consumed by
|
|
13
|
+
* `populateCompanionMembersOnEnclosingClass` in `owners.ts` to decide
|
|
14
|
+
* whether to promote a class scope's methods onto its enclosing class.
|
|
15
|
+
*
|
|
16
|
+
* The previous `ownedDefs.some(isClassLike)` heuristic in `owners.ts`
|
|
17
|
+
* silently misclassified two shapes as "regular classes":
|
|
18
|
+
* - named companions (`companion object Helper { ... }`) — the `Helper`
|
|
19
|
+
* `type_identifier` registered as a class-like def on the companion
|
|
20
|
+
* scope, hiding the companion-ness from the heuristic; AND
|
|
21
|
+
* - companions containing nested classes (`companion object { class
|
|
22
|
+
* Token; fun create() }`) — the nested class def lived on the
|
|
23
|
+
* companion scope, again hiding it from the heuristic.
|
|
24
|
+
*
|
|
25
|
+
* The marker capture lifts that distinction up to the parser layer
|
|
26
|
+
* where it is unambiguous (any `companion_object` AST node is a
|
|
27
|
+
* companion, regardless of what it contains).
|
|
28
|
+
*
|
|
29
|
+
* Parallels the C-language pattern in `c/static-linkage.ts`: per-file
|
|
30
|
+
* `Map<filePath, Set<key>>` side-channel for language-specific def /
|
|
31
|
+
* scope metadata that does not belong on the shared `Scope` /
|
|
32
|
+
* `SymbolDefinition` types.
|
|
33
|
+
*
|
|
34
|
+
* NOTE: module-level state. `clearCompanionScopes()` is called once per
|
|
35
|
+
* workspace pass from `kotlinScopeResolver.loadResolutionConfig`, which
|
|
36
|
+
* the scope-resolution orchestrator awaits before extracting any
|
|
37
|
+
* `ParsedFile`s for this language (see `pipeline/phase.ts` and the
|
|
38
|
+
* mirror pattern in `c/scope-resolver.ts` — `clearStaticNames()`). This
|
|
39
|
+
* keeps server-mode and multi-repo-in-one-process callers safe from
|
|
40
|
+
* unbounded memory growth and from stale companion-scope ids from a
|
|
41
|
+
* previous workspace's files. Tests that exercise the captures /
|
|
42
|
+
* owners modules directly may still need to call `clearCompanionScopes`
|
|
43
|
+
* themselves (see `test/unit/kotlin-static-marker.test.ts`).
|
|
44
|
+
*/
|
|
45
|
+
const companionScopesByFile = new Map();
|
|
46
|
+
/** Record a scope id as a companion-object scope for the given file. */
|
|
47
|
+
function markCompanionScope(filePath, scopeId) {
|
|
48
|
+
let scopes = companionScopesByFile.get(filePath);
|
|
49
|
+
if (scopes === undefined) {
|
|
50
|
+
scopes = new Set();
|
|
51
|
+
companionScopesByFile.set(filePath, scopes);
|
|
52
|
+
}
|
|
53
|
+
scopes.add(scopeId);
|
|
54
|
+
}
|
|
55
|
+
/** Check whether `scopeId` belongs to a companion-object scope in `filePath`. */
|
|
56
|
+
function isCompanionScope(filePath, scopeId) {
|
|
57
|
+
return companionScopesByFile.get(filePath)?.has(scopeId) ?? false;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Snapshot the companion-object scope ids recorded for `filePath` as a plain
|
|
61
|
+
* array (for the worker→main capture side-channel, #1983). Returns an empty
|
|
62
|
+
* array when the file recorded no companion scopes. See
|
|
63
|
+
* `capture-side-channel.ts`.
|
|
64
|
+
*/
|
|
65
|
+
function getCompanionScopesForFile(filePath) {
|
|
66
|
+
const scopes = companionScopesByFile.get(filePath);
|
|
67
|
+
return scopes === undefined ? [] : [...scopes];
|
|
68
|
+
}
|
|
69
|
+
/** Clear all tracked companion scopes (for testing). */
|
|
70
|
+
function clearCompanionScopes() {
|
|
71
|
+
companionScopesByFile.clear();
|
|
72
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.splitKotlinImportHeader = splitKotlinImportHeader;
|
|
4
|
+
const ast_helpers_js_1 = require("../../utils/ast-helpers.js");
|
|
5
|
+
function splitKotlinImportHeader(importNode) {
|
|
6
|
+
if (importNode.type !== 'import_header')
|
|
7
|
+
return null;
|
|
8
|
+
const spec = parseKotlinImport(importNode);
|
|
9
|
+
if (spec === null)
|
|
10
|
+
return null;
|
|
11
|
+
const out = {
|
|
12
|
+
'@import.statement': (0, ast_helpers_js_1.nodeToCapture)('@import.statement', importNode),
|
|
13
|
+
'@import.kind': (0, ast_helpers_js_1.syntheticCapture)('@import.kind', spec.atNode, spec.kind),
|
|
14
|
+
'@import.source': (0, ast_helpers_js_1.syntheticCapture)('@import.source', spec.atNode, spec.source),
|
|
15
|
+
'@import.name': (0, ast_helpers_js_1.syntheticCapture)('@import.name', spec.atNode, spec.name),
|
|
16
|
+
};
|
|
17
|
+
if (spec.alias !== undefined) {
|
|
18
|
+
out['@import.alias'] = (0, ast_helpers_js_1.syntheticCapture)('@import.alias', spec.atNode, spec.alias);
|
|
19
|
+
}
|
|
20
|
+
return out;
|
|
21
|
+
}
|
|
22
|
+
function parseKotlinImport(node) {
|
|
23
|
+
const identifier = node.namedChildren.find((child) => child.type === 'identifier');
|
|
24
|
+
if (identifier === undefined)
|
|
25
|
+
return null;
|
|
26
|
+
const source = identifier.text.trim();
|
|
27
|
+
if (source.length === 0)
|
|
28
|
+
return null;
|
|
29
|
+
const hasWildcard = node.namedChildren.some((child) => child.type === 'wildcard_import');
|
|
30
|
+
if (hasWildcard) {
|
|
31
|
+
return { kind: 'wildcard', source, name: '*', atNode: node };
|
|
32
|
+
}
|
|
33
|
+
const aliasNode = node.namedChildren.find((child) => child.type === 'import_alias');
|
|
34
|
+
const alias = aliasNode?.namedChildren.find((child) => child.type === 'type_identifier')?.text;
|
|
35
|
+
const importedName = source.split('.').pop() ?? source;
|
|
36
|
+
if (alias !== undefined && alias.length > 0) {
|
|
37
|
+
return { kind: 'alias', source, name: importedName, alias, atNode: node };
|
|
38
|
+
}
|
|
39
|
+
return { kind: 'named', source, name: importedName, atNode: node };
|
|
40
|
+
}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveKotlinImportTarget = resolveKotlinImportTarget;
|
|
4
|
+
function resolveKotlinImportTarget(parsedImport, workspaceIndex) {
|
|
5
|
+
const ctx = workspaceIndex;
|
|
6
|
+
if (ctx === undefined ||
|
|
7
|
+
typeof ctx.fromFile !== 'string' ||
|
|
8
|
+
!(ctx.allFilePaths instanceof Set)) {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
if (parsedImport.kind === 'dynamic-unresolved')
|
|
12
|
+
return null;
|
|
13
|
+
if (parsedImport.targetRaw === null || parsedImport.targetRaw === '')
|
|
14
|
+
return null;
|
|
15
|
+
const target = parsedImport.targetRaw.endsWith('.*')
|
|
16
|
+
? parsedImport.targetRaw.slice(0, -2)
|
|
17
|
+
: parsedImport.targetRaw;
|
|
18
|
+
const pathLike = target.replace(/\./g, '/');
|
|
19
|
+
// Resolution tiers, most-specific first:
|
|
20
|
+
// 1. The full `pathLike` matches a `.kt`/`.kts` file directly
|
|
21
|
+
// (`import util.User` → `util/User.kt`).
|
|
22
|
+
// 2. Stripped (last-segment removed) `pathLike` matches a file
|
|
23
|
+
// directly (`import util.OneArg.writeAudit` → `util/OneArg.kt`,
|
|
24
|
+
// a class-or-object holding `writeAudit`).
|
|
25
|
+
// 3. Stripped `pathLike` matches a *package directory* — fan out to
|
|
26
|
+
// every `.kt`/`.kts` file inside it (`import models.getRepo` →
|
|
27
|
+
// `[models/User.kt, models/Repo.kt]`). The finalize pass walks
|
|
28
|
+
// each candidate and picks the one whose `localDefs` actually
|
|
29
|
+
// export the imported name (#1759).
|
|
30
|
+
// 4. Progressive prefix strip for deeper namespace aliases that
|
|
31
|
+
// don't map 1:1 to directories.
|
|
32
|
+
const stripped = pathLike.split('/').slice(0, -1).join('/');
|
|
33
|
+
return (findKotlinFile(ctx.allFilePaths, pathLike) ??
|
|
34
|
+
findKotlinExactOrSuffix(ctx.allFilePaths, stripped) ??
|
|
35
|
+
findKotlinPackageFiles(ctx.allFilePaths, stripped) ??
|
|
36
|
+
findByProgressivePrefixStrip(ctx.allFilePaths, pathLike));
|
|
37
|
+
}
|
|
38
|
+
function findKotlinFile(allFilePaths, pathLike) {
|
|
39
|
+
return (findKotlinExactOrSuffix(allFilePaths, pathLike) ??
|
|
40
|
+
findKotlinDirectoryChild(allFilePaths, pathLike));
|
|
41
|
+
}
|
|
42
|
+
/** Exact (`file === pathLike+ext`) or suffix (`file ends with /pathLike+ext`)
|
|
43
|
+
* match — does NOT fall back to picking an arbitrary file inside a
|
|
44
|
+
* `pathLike/` directory. Used by the stripped-path tier in
|
|
45
|
+
* `resolveKotlinImportTarget` so a package import like `models.getRepo`
|
|
46
|
+
* delegates to `findKotlinPackageFiles` (multi-file fan-out) instead of
|
|
47
|
+
* silently committing to the first directory child. */
|
|
48
|
+
function findKotlinExactOrSuffix(allFilePaths, pathLike) {
|
|
49
|
+
if (pathLike === '')
|
|
50
|
+
return null;
|
|
51
|
+
const extensions = ['.kt', '.kts'];
|
|
52
|
+
const suffix = `/${pathLike}`;
|
|
53
|
+
let suffixFile = null;
|
|
54
|
+
for (const raw of allFilePaths) {
|
|
55
|
+
const file = raw.replace(/\\/g, '/');
|
|
56
|
+
if (!extensions.some((ext) => file.endsWith(ext)))
|
|
57
|
+
continue;
|
|
58
|
+
for (const ext of extensions) {
|
|
59
|
+
if (file === `${pathLike}${ext}`)
|
|
60
|
+
return raw;
|
|
61
|
+
if (suffixFile === null && file.endsWith(`${suffix}${ext}`))
|
|
62
|
+
suffixFile = raw;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return suffixFile;
|
|
66
|
+
}
|
|
67
|
+
/** First directory child of `pathLike/` — preserves the legacy single-
|
|
68
|
+
* file fallback for cases where `pathLike` itself is an unqualified
|
|
69
|
+
* package reference (rare in real Kotlin code; some fixtures rely on
|
|
70
|
+
* it). Multi-file package fan-out goes through
|
|
71
|
+
* `findKotlinPackageFiles` instead. */
|
|
72
|
+
function findKotlinDirectoryChild(allFilePaths, pathLike) {
|
|
73
|
+
if (pathLike === '')
|
|
74
|
+
return null;
|
|
75
|
+
const extensions = ['.kt', '.kts'];
|
|
76
|
+
const dirPrefix = `${pathLike}/`;
|
|
77
|
+
const suffixDirPrefix = `/${dirPrefix}`;
|
|
78
|
+
for (const raw of allFilePaths) {
|
|
79
|
+
const file = raw.replace(/\\/g, '/');
|
|
80
|
+
if (!extensions.some((ext) => file.endsWith(ext)))
|
|
81
|
+
continue;
|
|
82
|
+
const atRoot = file.startsWith(dirPrefix);
|
|
83
|
+
const atNested = file.includes(suffixDirPrefix);
|
|
84
|
+
if (!atRoot && !atNested)
|
|
85
|
+
continue;
|
|
86
|
+
const idx = atRoot ? 0 : file.indexOf(suffixDirPrefix) + 1;
|
|
87
|
+
const after = file.slice(idx + dirPrefix.length);
|
|
88
|
+
if (after.length > 0 && !after.includes('/'))
|
|
89
|
+
return raw;
|
|
90
|
+
}
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Return every `.kt`/`.kts` file inside the package directory `dirPath`
|
|
95
|
+
* (e.g. `models` → `['models/User.kt', 'models/Repo.kt']`). Used as a
|
|
96
|
+
* fallback when an import like `models.getRepo` does not resolve to a
|
|
97
|
+
* file named after the symbol — in Kotlin the symbol can live in any
|
|
98
|
+
* file inside the package directory. The finalize pass walks each
|
|
99
|
+
* candidate and picks the one whose `localDefs` actually export the
|
|
100
|
+
* imported name (#1759).
|
|
101
|
+
*/
|
|
102
|
+
function findKotlinPackageFiles(allFilePaths, dirPath) {
|
|
103
|
+
if (dirPath === '')
|
|
104
|
+
return null;
|
|
105
|
+
const extensions = ['.kt', '.kts'];
|
|
106
|
+
const dirPrefix = `${dirPath}/`;
|
|
107
|
+
const suffixDirPrefix = `/${dirPrefix}`;
|
|
108
|
+
const out = [];
|
|
109
|
+
for (const raw of allFilePaths) {
|
|
110
|
+
const file = raw.replace(/\\/g, '/');
|
|
111
|
+
if (!extensions.some((ext) => file.endsWith(ext)))
|
|
112
|
+
continue;
|
|
113
|
+
const atRoot = file.startsWith(dirPrefix);
|
|
114
|
+
const atNested = file.includes(suffixDirPrefix);
|
|
115
|
+
if (!atRoot && !atNested)
|
|
116
|
+
continue;
|
|
117
|
+
const idx = atRoot ? 0 : file.indexOf(suffixDirPrefix) + 1;
|
|
118
|
+
const after = file.slice(idx + dirPrefix.length);
|
|
119
|
+
// Direct children only — `models/sub/Util.kt` is a different package
|
|
120
|
+
// (`models.sub`) and must not be merged with `models`.
|
|
121
|
+
if (after.length === 0 || after.includes('/'))
|
|
122
|
+
continue;
|
|
123
|
+
out.push(raw);
|
|
124
|
+
}
|
|
125
|
+
return out.length === 0 ? null : out;
|
|
126
|
+
}
|
|
127
|
+
function findByProgressivePrefixStrip(allFilePaths, pathLike) {
|
|
128
|
+
const segments = pathLike.split('/').filter(Boolean);
|
|
129
|
+
for (let skip = 1; skip < segments.length; skip++) {
|
|
130
|
+
const found = findKotlinFile(allFilePaths, segments.slice(skip).join('/'));
|
|
131
|
+
if (found !== null)
|
|
132
|
+
return found;
|
|
133
|
+
}
|
|
134
|
+
return null;
|
|
135
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.kotlinReceiverBinding = exports.kotlinImportOwningScope = exports.kotlinBindingScopeFor = exports.populateKotlinOwners = exports.kotlinMergeBindings = exports.resolveKotlinImportTarget = exports.kotlinArityCompatibility = exports.interpretKotlinTypeBinding = exports.interpretKotlinImport = exports.resetKotlinCaptureCacheStats = exports.getKotlinCaptureCacheStats = exports.applyKotlinCaptureSideChannel = exports.collectKotlinCaptureSideChannel = exports.emitKotlinScopeCaptures = void 0;
|
|
4
|
+
var captures_js_1 = require("./captures.js");
|
|
5
|
+
Object.defineProperty(exports, "emitKotlinScopeCaptures", { enumerable: true, get: function () { return captures_js_1.emitKotlinScopeCaptures; } });
|
|
6
|
+
var capture_side_channel_js_1 = require("./capture-side-channel.js");
|
|
7
|
+
Object.defineProperty(exports, "collectKotlinCaptureSideChannel", { enumerable: true, get: function () { return capture_side_channel_js_1.collectKotlinCaptureSideChannel; } });
|
|
8
|
+
Object.defineProperty(exports, "applyKotlinCaptureSideChannel", { enumerable: true, get: function () { return capture_side_channel_js_1.applyKotlinCaptureSideChannel; } });
|
|
9
|
+
var cache_stats_js_1 = require("./cache-stats.js");
|
|
10
|
+
Object.defineProperty(exports, "getKotlinCaptureCacheStats", { enumerable: true, get: function () { return cache_stats_js_1.getKotlinCaptureCacheStats; } });
|
|
11
|
+
Object.defineProperty(exports, "resetKotlinCaptureCacheStats", { enumerable: true, get: function () { return cache_stats_js_1.resetKotlinCaptureCacheStats; } });
|
|
12
|
+
var interpret_js_1 = require("./interpret.js");
|
|
13
|
+
Object.defineProperty(exports, "interpretKotlinImport", { enumerable: true, get: function () { return interpret_js_1.interpretKotlinImport; } });
|
|
14
|
+
Object.defineProperty(exports, "interpretKotlinTypeBinding", { enumerable: true, get: function () { return interpret_js_1.interpretKotlinTypeBinding; } });
|
|
15
|
+
var arity_js_1 = require("./arity.js");
|
|
16
|
+
Object.defineProperty(exports, "kotlinArityCompatibility", { enumerable: true, get: function () { return arity_js_1.kotlinArityCompatibility; } });
|
|
17
|
+
var import_target_js_1 = require("./import-target.js");
|
|
18
|
+
Object.defineProperty(exports, "resolveKotlinImportTarget", { enumerable: true, get: function () { return import_target_js_1.resolveKotlinImportTarget; } });
|
|
19
|
+
var merge_bindings_js_1 = require("./merge-bindings.js");
|
|
20
|
+
Object.defineProperty(exports, "kotlinMergeBindings", { enumerable: true, get: function () { return merge_bindings_js_1.kotlinMergeBindings; } });
|
|
21
|
+
var owners_js_1 = require("./owners.js");
|
|
22
|
+
Object.defineProperty(exports, "populateKotlinOwners", { enumerable: true, get: function () { return owners_js_1.populateKotlinOwners; } });
|
|
23
|
+
var simple_hooks_js_1 = require("./simple-hooks.js");
|
|
24
|
+
Object.defineProperty(exports, "kotlinBindingScopeFor", { enumerable: true, get: function () { return simple_hooks_js_1.kotlinBindingScopeFor; } });
|
|
25
|
+
Object.defineProperty(exports, "kotlinImportOwningScope", { enumerable: true, get: function () { return simple_hooks_js_1.kotlinImportOwningScope; } });
|
|
26
|
+
Object.defineProperty(exports, "kotlinReceiverBinding", { enumerable: true, get: function () { return simple_hooks_js_1.kotlinReceiverBinding; } });
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.interpretKotlinImport = interpretKotlinImport;
|
|
4
|
+
exports.interpretKotlinTypeBinding = interpretKotlinTypeBinding;
|
|
5
|
+
exports.normalizeKotlinType = normalizeKotlinType;
|
|
6
|
+
function interpretKotlinImport(captures) {
|
|
7
|
+
const kind = captures['@import.kind']?.text;
|
|
8
|
+
const source = captures['@import.source']?.text;
|
|
9
|
+
const name = captures['@import.name']?.text;
|
|
10
|
+
if (kind === undefined || source === undefined)
|
|
11
|
+
return null;
|
|
12
|
+
switch (kind) {
|
|
13
|
+
case 'named':
|
|
14
|
+
return {
|
|
15
|
+
kind: 'named',
|
|
16
|
+
localName: name ?? source.split('.').pop() ?? source,
|
|
17
|
+
importedName: name ?? source.split('.').pop() ?? source,
|
|
18
|
+
targetRaw: source,
|
|
19
|
+
};
|
|
20
|
+
case 'alias': {
|
|
21
|
+
const alias = captures['@import.alias']?.text;
|
|
22
|
+
if (alias === undefined || name === undefined)
|
|
23
|
+
return null;
|
|
24
|
+
return {
|
|
25
|
+
kind: 'alias',
|
|
26
|
+
localName: alias,
|
|
27
|
+
importedName: name,
|
|
28
|
+
alias,
|
|
29
|
+
targetRaw: source,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
case 'wildcard':
|
|
33
|
+
return { kind: 'wildcard', targetRaw: source.endsWith('.*') ? source : `${source}.*` };
|
|
34
|
+
default:
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function interpretKotlinTypeBinding(captures) {
|
|
39
|
+
const nameCap = captures['@type-binding.name'];
|
|
40
|
+
const typeCap = captures['@type-binding.type'];
|
|
41
|
+
if (nameCap === undefined || typeCap === undefined)
|
|
42
|
+
return null;
|
|
43
|
+
let source = 'annotation';
|
|
44
|
+
if (captures['@type-binding.self'] !== undefined)
|
|
45
|
+
source = 'self';
|
|
46
|
+
else if (captures['@type-binding.parameter'] !== undefined)
|
|
47
|
+
source = 'parameter-annotation';
|
|
48
|
+
else if (captures['@type-binding.return'] !== undefined)
|
|
49
|
+
source = 'return-annotation';
|
|
50
|
+
else if (captures['@type-binding.constructor'] !== undefined)
|
|
51
|
+
source = 'constructor-inferred';
|
|
52
|
+
return {
|
|
53
|
+
boundName: nameCap.text,
|
|
54
|
+
rawTypeName: normalizeKotlinType(typeCap.text),
|
|
55
|
+
source,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
function normalizeKotlinType(text) {
|
|
59
|
+
let out = text.trim();
|
|
60
|
+
while (out.endsWith('?'))
|
|
61
|
+
out = out.slice(0, -1).trim();
|
|
62
|
+
const lastDot = out.lastIndexOf('.');
|
|
63
|
+
if (lastDot >= 0)
|
|
64
|
+
out = out.slice(lastDot + 1);
|
|
65
|
+
const collection = out.match(/^(?:List|MutableList|ArrayList|Set|MutableSet|Collection|Iterable|Sequence|Array)<([^,<>]+)>$/);
|
|
66
|
+
if (collection !== null)
|
|
67
|
+
return normalizeKotlinType(collection[1]);
|
|
68
|
+
const map = out.match(/^(?:Map|MutableMap|HashMap|LinkedHashMap)<[^,<>]+,\s*([^,<>]+)>$/);
|
|
69
|
+
if (map !== null)
|
|
70
|
+
return normalizeKotlinType(map[1]);
|
|
71
|
+
const erased = out.match(/^([A-Za-z_][A-Za-z0-9_]*)<.+>$/s);
|
|
72
|
+
if (erased !== null)
|
|
73
|
+
return erased[1];
|
|
74
|
+
return out;
|
|
75
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.kotlinMergeBindings = kotlinMergeBindings;
|
|
4
|
+
function tierOf(binding) {
|
|
5
|
+
switch (binding.origin) {
|
|
6
|
+
case 'local':
|
|
7
|
+
return 0;
|
|
8
|
+
case 'import':
|
|
9
|
+
case 'namespace':
|
|
10
|
+
case 'reexport':
|
|
11
|
+
return 1;
|
|
12
|
+
case 'wildcard':
|
|
13
|
+
return 2;
|
|
14
|
+
default:
|
|
15
|
+
return 3;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function kotlinMergeBindings(bindings) {
|
|
19
|
+
if (bindings.length === 0)
|
|
20
|
+
return bindings;
|
|
21
|
+
const best = Math.min(...bindings.map(tierOf));
|
|
22
|
+
const seen = new Map();
|
|
23
|
+
for (const binding of bindings) {
|
|
24
|
+
if (tierOf(binding) === best)
|
|
25
|
+
seen.set(binding.def.nodeId, binding);
|
|
26
|
+
}
|
|
27
|
+
return [...seen.values()];
|
|
28
|
+
}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isKotlinStaticOnly = isKotlinStaticOnly;
|
|
4
|
+
exports.populateKotlinOwners = populateKotlinOwners;
|
|
5
|
+
const walkers_js_1 = require("../../scope-resolution/scope/walkers.js");
|
|
6
|
+
const companion_scopes_js_1 = require("./companion-scopes.js");
|
|
7
|
+
/** Module-level identity-based marker for companion-promoted Kotlin
|
|
8
|
+
* method defs (the "this member can only be dispatched through the
|
|
9
|
+
* class name" set). Parallels the C language `static-linkage.ts`
|
|
10
|
+
* side-channel pattern but uses a WeakSet because the mark is
|
|
11
|
+
* per-def (no per-name keying needed). Eliminates the cast-and-
|
|
12
|
+
* mutate pattern the previous marker implementation required,
|
|
13
|
+
* removes any serialization-survival risk surface, and keeps the
|
|
14
|
+
* Kotlin-specific metadata off the shared `SymbolDefinition` type. */
|
|
15
|
+
const KOTLIN_STATIC_DEFS = new WeakSet();
|
|
16
|
+
function isKotlinStaticOnly(def) {
|
|
17
|
+
return KOTLIN_STATIC_DEFS.has(def);
|
|
18
|
+
}
|
|
19
|
+
function populateKotlinOwners(parsed) {
|
|
20
|
+
(0, walkers_js_1.populateClassOwnedMembers)(parsed);
|
|
21
|
+
populateCompanionMembersOnEnclosingClass(parsed);
|
|
22
|
+
upgradeClassOwnedFunctionsToMethods(parsed);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Align scope-resolution `def.type` with the graph's node-label
|
|
26
|
+
* conventions: a `Function` def that lives inside a class body becomes
|
|
27
|
+
* a `Method`. The Kotlin extractor labels every `function_declaration`
|
|
28
|
+
* as `Function`, but the graph parsing-processor emits a `Method`
|
|
29
|
+
* graph-node label for class members. Without this realignment,
|
|
30
|
+
* `resolveDefGraphId`'s parameter-typed key lookup (gated on
|
|
31
|
+
* `def.type === 'Method'`) falls through to the simple-name fallback
|
|
32
|
+
* for class methods, collapsing same-name same-arity overloads onto
|
|
33
|
+
* the first-registered node (#1761).
|
|
34
|
+
*
|
|
35
|
+
* Only Method-bearing types are touched. Methods have a class owner
|
|
36
|
+
* (set by `populateClassOwnedMembers`) and a class-qualified name.
|
|
37
|
+
*/
|
|
38
|
+
function upgradeClassOwnedFunctionsToMethods(parsed) {
|
|
39
|
+
for (const def of parsed.localDefs) {
|
|
40
|
+
if (def.type !== 'Function')
|
|
41
|
+
continue;
|
|
42
|
+
if (def.ownerId === undefined)
|
|
43
|
+
continue;
|
|
44
|
+
def.type = 'Method';
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
function populateCompanionMembersOnEnclosingClass(parsed) {
|
|
48
|
+
const scopesById = new Map();
|
|
49
|
+
for (const scope of parsed.scopes)
|
|
50
|
+
scopesById.set(scope.id, scope);
|
|
51
|
+
for (const scope of parsed.scopes) {
|
|
52
|
+
if (scope.kind !== 'Function' || scope.parent === null)
|
|
53
|
+
continue;
|
|
54
|
+
const parent = scopesById.get(scope.parent);
|
|
55
|
+
if (parent === undefined || parent.kind !== 'Class')
|
|
56
|
+
continue;
|
|
57
|
+
// Identify companion-object scopes via the `@scope.companion` marker
|
|
58
|
+
// capture (see captures.ts / companion-scopes.ts) rather than via
|
|
59
|
+
// the old `parent.ownedDefs.some(isClassLike)` heuristic. The
|
|
60
|
+
// heuristic silently bypassed two real shapes (#1756 / U4):
|
|
61
|
+
// - named companions (`companion object Helper { ... }`) — `Helper`
|
|
62
|
+
// registered as a class-like def on the companion scope; AND
|
|
63
|
+
// - companions containing nested classes (`companion object {
|
|
64
|
+
// class Token; fun create() }`) — the nested class lived on
|
|
65
|
+
// the companion scope.
|
|
66
|
+
// Both bypasses left companion methods unpromoted and unmarked,
|
|
67
|
+
// breaking class-name dispatch (`Outer.create()`) and crossover
|
|
68
|
+
// suppression (`outer.create()`) for those shapes. The marker
|
|
69
|
+
// capture lifts the distinction to the parser layer where any
|
|
70
|
+
// `companion_object` AST node is a companion, full stop.
|
|
71
|
+
if (!(0, companion_scopes_js_1.isCompanionScope)(parsed.filePath, parent.id))
|
|
72
|
+
continue;
|
|
73
|
+
const enclosing = findEnclosingClassWithDef(parent.parent, scopesById);
|
|
74
|
+
if (enclosing === undefined)
|
|
75
|
+
continue;
|
|
76
|
+
for (const def of scope.ownedDefs) {
|
|
77
|
+
// Class-like defs nested inside the companion's methods (rare —
|
|
78
|
+
// would be a local class declared inside a fun-body) are not
|
|
79
|
+
// companion members and must not be promoted. The companion's
|
|
80
|
+
// direct nested classes live in their OWN scope's ownedDefs
|
|
81
|
+
// (NOT the function-scope ownedDefs we iterate here), so this
|
|
82
|
+
// guard is defense-in-depth.
|
|
83
|
+
if ((0, walkers_js_1.isClassLike)(def.type))
|
|
84
|
+
continue;
|
|
85
|
+
// OVERRIDE rather than skip-when-set: for named companions,
|
|
86
|
+
// `populateClassOwnedMembers` already set `ownerId = Helper`
|
|
87
|
+
// (the named-companion class-like def). That is the WRONG
|
|
88
|
+
// owner — companion methods are dispatched through the
|
|
89
|
+
// enclosing outer class, not through the companion's own
|
|
90
|
+
// type name. Overwriting restores the intended ownership.
|
|
91
|
+
def.ownerId = enclosing.nodeId;
|
|
92
|
+
// Mark as static-only so `ScopeResolver.isStaticOnly` (see
|
|
93
|
+
// `isKotlinStaticOnly`) can filter these out of instance-receiver
|
|
94
|
+
// dispatch (#1756). Promoting the companion method onto the
|
|
95
|
+
// outer class lets `Foo.companionMethod()` resolve via Case 2;
|
|
96
|
+
// without this marker, `fooInstance.companionMethod()` would
|
|
97
|
+
// ALSO resolve to it via Case 4, which is incorrect (and a
|
|
98
|
+
// compile error in real Kotlin).
|
|
99
|
+
KOTLIN_STATIC_DEFS.add(def);
|
|
100
|
+
qualify(def, enclosing);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
function findEnclosingClassWithDef(start, scopesById) {
|
|
105
|
+
let current = start;
|
|
106
|
+
while (current !== null) {
|
|
107
|
+
const scope = scopesById.get(current);
|
|
108
|
+
if (scope === undefined)
|
|
109
|
+
return undefined;
|
|
110
|
+
if (scope.kind === 'Class') {
|
|
111
|
+
const classDef = scope.ownedDefs.find((def) => (0, walkers_js_1.isClassLike)(def.type));
|
|
112
|
+
if (classDef !== undefined)
|
|
113
|
+
return classDef;
|
|
114
|
+
}
|
|
115
|
+
current = scope.parent;
|
|
116
|
+
}
|
|
117
|
+
return undefined;
|
|
118
|
+
}
|
|
119
|
+
function qualify(def, owner) {
|
|
120
|
+
if (def.qualifiedName === undefined)
|
|
121
|
+
return;
|
|
122
|
+
if (owner.qualifiedName === undefined || owner.qualifiedName.length === 0)
|
|
123
|
+
return;
|
|
124
|
+
// For named companions, `populateClassOwnedMembers` qualified the
|
|
125
|
+
// def as `Helper.create`. Strip the companion-class prefix and
|
|
126
|
+
// re-qualify with the outer class so the graph-bridge lookup keys
|
|
127
|
+
// resolve to `Outer.create` rather than the spurious `Helper.create`.
|
|
128
|
+
// For unqualified defs (the anonymous-companion path), the simple
|
|
129
|
+
// name is unchanged — `populateClassOwnedMembers` found no class-like
|
|
130
|
+
// def in the anonymous companion scope, so the prior pass left the
|
|
131
|
+
// simple name in place.
|
|
132
|
+
const simple = def.qualifiedName.split('.').pop() ?? def.qualifiedName;
|
|
133
|
+
def.qualifiedName = `${owner.qualifiedName}.${simple}`;
|
|
134
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getKotlinPackageFact = exports.setKotlinPackageFact = exports.captureKotlinPackageFact = exports.clearKotlinPackageFacts = void 0;
|
|
4
|
+
const package_facts_js_1 = require("../jvm/package-facts.js");
|
|
5
|
+
const kotlinPackageFacts = (0, package_facts_js_1.createJvmPackageFactStore)({
|
|
6
|
+
packageNodeType: 'package_header',
|
|
7
|
+
packageNameNodeTypes: ['identifier'],
|
|
8
|
+
});
|
|
9
|
+
const clearKotlinPackageFacts = () => kotlinPackageFacts.clear();
|
|
10
|
+
exports.clearKotlinPackageFacts = clearKotlinPackageFacts;
|
|
11
|
+
const captureKotlinPackageFact = (filePath, root) => kotlinPackageFacts.capture(filePath, root);
|
|
12
|
+
exports.captureKotlinPackageFact = captureKotlinPackageFact;
|
|
13
|
+
const setKotlinPackageFact = (filePath, fact) => kotlinPackageFacts.set(filePath, fact);
|
|
14
|
+
exports.setKotlinPackageFact = setKotlinPackageFact;
|
|
15
|
+
const getKotlinPackageFact = (filePath) => kotlinPackageFacts.get(filePath);
|
|
16
|
+
exports.getKotlinPackageFact = getKotlinPackageFact;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isKotlinPackageSiblingVisibilityIncomplete = exports.populateKotlinPackageSiblings = void 0;
|
|
4
|
+
const package_siblings_js_1 = require("../jvm/package-siblings.js");
|
|
5
|
+
const package_facts_js_1 = require("./package-facts.js");
|
|
6
|
+
const kotlinPackageSiblingVisibility = (0, package_siblings_js_1.createJvmPackageSiblingVisibility)({
|
|
7
|
+
languageLabel: 'kotlin',
|
|
8
|
+
getPackageFact: package_facts_js_1.getKotlinPackageFact,
|
|
9
|
+
});
|
|
10
|
+
exports.populateKotlinPackageSiblings = kotlinPackageSiblingVisibility.populateNamespaceSiblings;
|
|
11
|
+
exports.isKotlinPackageSiblingVisibilityIncomplete = kotlinPackageSiblingVisibility.isVisibilityIncomplete;
|