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,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Synthesize `@type-binding.self` captures for C# instance methods —
|
|
4
|
+
* one for `this` (always on non-static methods inside a type
|
|
5
|
+
* declaration) and optionally one for `base` (only on class methods
|
|
6
|
+
* when the enclosing class has an explicit base in its `base_list`).
|
|
7
|
+
*
|
|
8
|
+
* Mirrors `languages/python/receiver-binding.ts` in structure. The
|
|
9
|
+
* tree-sitter-c-sharp grammar doesn't give us a clean `.scm` pattern
|
|
10
|
+
* for "this-receiver on every instance method inside an enclosing
|
|
11
|
+
* type" because the binding isn't a parameter — it's an implicit
|
|
12
|
+
* receiver. Synthesis in code is the same approach Python uses for
|
|
13
|
+
* `self` / `cls`.
|
|
14
|
+
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.synthesizeCsharpReceiverBinding = synthesizeCsharpReceiverBinding;
|
|
17
|
+
const ast_helpers_js_1 = require("../../utils/ast-helpers.js");
|
|
18
|
+
const TYPE_DECL_NODE_TYPES = new Set([
|
|
19
|
+
'class_declaration',
|
|
20
|
+
'struct_declaration',
|
|
21
|
+
'record_declaration',
|
|
22
|
+
'interface_declaration',
|
|
23
|
+
]);
|
|
24
|
+
const FUNCTION_NODE_TYPES = new Set([
|
|
25
|
+
'method_declaration',
|
|
26
|
+
'constructor_declaration',
|
|
27
|
+
'destructor_declaration',
|
|
28
|
+
'operator_declaration',
|
|
29
|
+
'conversion_operator_declaration',
|
|
30
|
+
'local_function_statement',
|
|
31
|
+
]);
|
|
32
|
+
/** Walk up to the enclosing type declaration, stopping at any other
|
|
33
|
+
* function-like node (nested local functions shouldn't leak `this`
|
|
34
|
+
* from an outer class to an inner closure). */
|
|
35
|
+
function findEnclosingTypeDeclaration(node) {
|
|
36
|
+
let cur = node.parent;
|
|
37
|
+
while (cur !== null) {
|
|
38
|
+
if (TYPE_DECL_NODE_TYPES.has(cur.type))
|
|
39
|
+
return cur;
|
|
40
|
+
// A local function nested inside another method still sees `this`
|
|
41
|
+
// from the enclosing class — don't break on function-like nodes.
|
|
42
|
+
cur = cur.parent;
|
|
43
|
+
}
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
function typeName(typeNode) {
|
|
47
|
+
return typeNode.childForFieldName('name')?.text ?? null;
|
|
48
|
+
}
|
|
49
|
+
/** First entry in the type's `base_list`, read as raw type text. C#
|
|
50
|
+
* allows generic and qualified bases (`Foo<T>`, `N.M.Base`); we keep
|
|
51
|
+
* that form so downstream interpretation can strip generics and
|
|
52
|
+
* qualifiers consistently. A record primary-constructor base wraps
|
|
53
|
+
* its type and constructor arguments in `primary_constructor_base_type`,
|
|
54
|
+
* so read its `type` field instead of leaking `(args)` into the binding.
|
|
55
|
+
* Returns null when the type has no base (or an empty base_list). */
|
|
56
|
+
function firstBaseText(typeNode) {
|
|
57
|
+
for (let i = 0; i < typeNode.namedChildCount; i++) {
|
|
58
|
+
const child = typeNode.namedChild(i);
|
|
59
|
+
if (child === null || child.type !== 'base_list')
|
|
60
|
+
continue;
|
|
61
|
+
const firstBase = child.namedChild(0);
|
|
62
|
+
if (firstBase === null)
|
|
63
|
+
return null;
|
|
64
|
+
return firstBase.type === 'primary_constructor_base_type'
|
|
65
|
+
? (firstBase.childForFieldName('type')?.text ?? firstBase.text)
|
|
66
|
+
: firstBase.text;
|
|
67
|
+
}
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
function isStaticMethod(fnNode) {
|
|
71
|
+
// A `static` modifier appears as a named `modifier` child whose text
|
|
72
|
+
// is exactly "static". collectModifierTexts in field-extractors
|
|
73
|
+
// handles this, but duplicating the tiny scan here keeps the
|
|
74
|
+
// receiver-binding module dependency-free.
|
|
75
|
+
for (let i = 0; i < fnNode.namedChildCount; i++) {
|
|
76
|
+
const child = fnNode.namedChild(i);
|
|
77
|
+
if (child !== null && child.type === 'modifier' && child.text.trim() === 'static')
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Build zero, one, or two `@type-binding.self` matches for `fnNode`:
|
|
84
|
+
*
|
|
85
|
+
* - Returns `null` if the function is free (no enclosing type),
|
|
86
|
+
* static, or the enclosing type has no resolvable name.
|
|
87
|
+
* - Returns one match (`this`) for non-static methods inside a
|
|
88
|
+
* class/struct/record/interface.
|
|
89
|
+
* - Returns two matches (`this` + `base`) only when the function
|
|
90
|
+
* lives in a `class_declaration` (or `record_declaration`) that has
|
|
91
|
+
* at least one base entry. Structs cannot inherit classes;
|
|
92
|
+
* interfaces cannot call `base.X`.
|
|
93
|
+
*
|
|
94
|
+
* The caller is responsible for guaranteeing
|
|
95
|
+
* `FUNCTION_NODE_TYPES.has(fnNode.type)`.
|
|
96
|
+
*/
|
|
97
|
+
function synthesizeCsharpReceiverBinding(fnNode) {
|
|
98
|
+
if (!FUNCTION_NODE_TYPES.has(fnNode.type))
|
|
99
|
+
return [];
|
|
100
|
+
if (isStaticMethod(fnNode))
|
|
101
|
+
return [];
|
|
102
|
+
const enclosingType = findEnclosingTypeDeclaration(fnNode);
|
|
103
|
+
if (enclosingType === null)
|
|
104
|
+
return [];
|
|
105
|
+
const enclosingName = typeName(enclosingType);
|
|
106
|
+
if (enclosingName === null)
|
|
107
|
+
return [];
|
|
108
|
+
// Anchor the synthesized captures to a node clearly *inside* the
|
|
109
|
+
// function's scope (not at the method's start position, which maps
|
|
110
|
+
// to the enclosing class scope via positionIndex). The method's
|
|
111
|
+
// `body` field is the block statement — its range is guaranteed to
|
|
112
|
+
// be inside the function scope. If the method has no body (interface
|
|
113
|
+
// declaration, `abstract`), skip — there's no function scope to
|
|
114
|
+
// attach the binding to.
|
|
115
|
+
const anchorNode = fnNode.childForFieldName('body');
|
|
116
|
+
if (anchorNode === null)
|
|
117
|
+
return [];
|
|
118
|
+
const out = [];
|
|
119
|
+
out.push(buildReceiverMatch(anchorNode, 'this', enclosingName));
|
|
120
|
+
// `base` applies only to class / record methods with an explicit
|
|
121
|
+
// base class. `struct` can't inherit a class; `interface` can't
|
|
122
|
+
// call `base.X`. The first entry of `base_list` is the base class
|
|
123
|
+
// (interfaces follow); we can't statically distinguish the two here,
|
|
124
|
+
// but `base.X` only compiles when the first entry IS a class, so we
|
|
125
|
+
// trust the source — if the user wrote `base.X` in a class with
|
|
126
|
+
// interface-only bases, their code wouldn't compile anyway.
|
|
127
|
+
if (enclosingType.type === 'class_declaration' || enclosingType.type === 'record_declaration') {
|
|
128
|
+
const baseText = firstBaseText(enclosingType);
|
|
129
|
+
if (baseText !== null) {
|
|
130
|
+
out.push(buildReceiverMatch(anchorNode, 'base', baseText));
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return out;
|
|
134
|
+
}
|
|
135
|
+
function buildReceiverMatch(anchorNode, name, typeText) {
|
|
136
|
+
const m = {
|
|
137
|
+
'@type-binding.self': (0, ast_helpers_js_1.nodeToCapture)('@type-binding.self', anchorNode),
|
|
138
|
+
'@type-binding.name': (0, ast_helpers_js_1.syntheticCapture)('@type-binding.name', anchorNode, name),
|
|
139
|
+
'@type-binding.type': (0, ast_helpers_js_1.syntheticCapture)('@type-binding.type', anchorNode, typeText),
|
|
140
|
+
};
|
|
141
|
+
return m;
|
|
142
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Per-workspace config for C# scope-resolution import targeting.
|
|
4
|
+
*
|
|
5
|
+
* Loaded once per analyze pass via `csharpScopeResolver.loadResolutionConfig`
|
|
6
|
+
* and threaded into `resolveCsharpImportTarget`. The pure gate predicates live
|
|
7
|
+
* in `../../csharp-namespace-gate.ts` (shared with the legacy DAG resolver).
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.loadCsharpResolutionConfig = loadCsharpResolutionConfig;
|
|
11
|
+
const language_config_js_1 = require("../../language-config.js");
|
|
12
|
+
async function loadCsharpResolutionConfig(repoRoot) {
|
|
13
|
+
const scan = await (0, language_config_js_1.scanCSharpProject)(repoRoot);
|
|
14
|
+
return {
|
|
15
|
+
csharpConfigs: scan.configs,
|
|
16
|
+
namespaces: (0, language_config_js_1.csharpScanToEvidence)(scan),
|
|
17
|
+
};
|
|
18
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* C# `ScopeResolver` registered in `SCOPE_RESOLVERS` and consumed by
|
|
4
|
+
* the generic `runScopeResolution` orchestrator (RFC #909 Ring 3).
|
|
5
|
+
*
|
|
6
|
+
* Second migration after Python — see `pythonScopeResolver` for the
|
|
7
|
+
* canonical shape.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.csharpScopeResolver = void 0;
|
|
11
|
+
const index_js_1 = require("../../../../../shared/index.js");
|
|
12
|
+
const mro_js_1 = require("../../scope-resolution/passes/mro.js");
|
|
13
|
+
const walkers_js_1 = require("../../scope-resolution/scope/walkers.js");
|
|
14
|
+
const qualified_type_names_js_1 = require("./qualified-type-names.js");
|
|
15
|
+
const csharp_js_1 = require("../csharp.js");
|
|
16
|
+
const index_js_2 = require("./index.js");
|
|
17
|
+
const namespace_siblings_js_1 = require("./namespace-siblings.js");
|
|
18
|
+
const resolution_config_js_1 = require("./resolution-config.js");
|
|
19
|
+
const accessor_unwrap_js_1 = require("./accessor-unwrap.js");
|
|
20
|
+
const csharpScopeResolver = {
|
|
21
|
+
// Construction is keyword-prefixed: `new Service(db).doWork()` (#2708).
|
|
22
|
+
constructionSyntax: { keyword: 'new' },
|
|
23
|
+
language: index_js_1.SupportedLanguages.CSharp,
|
|
24
|
+
languageProvider: csharp_js_1.csharpProvider,
|
|
25
|
+
importEdgeReason: 'csharp-scope: using',
|
|
26
|
+
loadResolutionConfig: (repoPath) => (0, resolution_config_js_1.loadCsharpResolutionConfig)(repoPath),
|
|
27
|
+
resolveImportTarget: (targetRaw, fromFile, allFilePaths, resolutionConfig) => {
|
|
28
|
+
const config = resolutionConfig;
|
|
29
|
+
const ws = {
|
|
30
|
+
fromFile,
|
|
31
|
+
allFilePaths,
|
|
32
|
+
csharpConfigs: config?.csharpConfigs,
|
|
33
|
+
namespaces: config?.namespaces,
|
|
34
|
+
};
|
|
35
|
+
// `WorkspaceIndex` is an opaque `unknown` placeholder in the
|
|
36
|
+
// shared contract, so `ws` passes structurally without a cast.
|
|
37
|
+
return (0, index_js_2.resolveCsharpImportTarget)({ kind: 'namespace', localName: '_', importedName: '_', targetRaw }, ws);
|
|
38
|
+
},
|
|
39
|
+
// C# shadowing: local > using > using static. The per-scope id is
|
|
40
|
+
// unused by the C# implementation (shadowing is computed purely
|
|
41
|
+
// from the binding tier), so we don't need to synthesize a Scope.
|
|
42
|
+
mergeBindings: (existing, incoming) => [...(0, index_js_2.csharpMergeBindings)([...existing, ...incoming])],
|
|
43
|
+
// Adapter: csharpArityCompatibility uses (def, callsite); the
|
|
44
|
+
// contract is (callsite, def).
|
|
45
|
+
arityCompatibility: (callsite, def) => (0, index_js_2.csharpArityCompatibility)(def, callsite),
|
|
46
|
+
buildMro: (graph, parsedFiles, nodeLookup) => (0, mro_js_1.buildMro)(graph, parsedFiles, nodeLookup, mro_js_1.defaultLinearize),
|
|
47
|
+
populateOwners: (parsed) => {
|
|
48
|
+
(0, walkers_js_1.populateClassOwnedMembers)(parsed);
|
|
49
|
+
// Sidecar-only namespace tagging (does NOT touch qualifiedName) so the
|
|
50
|
+
// qualified constructor resolver can break same-tail collisions like
|
|
51
|
+
// `new B.Foo()` by matching the explicit qualifier (#2046).
|
|
52
|
+
(0, qualified_type_names_js_1.populateCsharpNamespacePrefixes)(parsed);
|
|
53
|
+
},
|
|
54
|
+
// C# uses `base` for super-class dispatch, not `super`. Match as a
|
|
55
|
+
// plain identifier (no `()` call like Python's `super(...)`) — `base`
|
|
56
|
+
// is a keyword-like receiver, not a callable.
|
|
57
|
+
isSuperReceiver: (text) => text.trim() === 'base',
|
|
58
|
+
// Same-namespace cross-file visibility — C# makes every type
|
|
59
|
+
// declared in `namespace X` visible to other files declaring the
|
|
60
|
+
// same namespace, without any `using` directive. See
|
|
61
|
+
// `namespace-siblings.ts` for the implementation.
|
|
62
|
+
populateNamespaceSiblings: namespace_siblings_js_1.populateCsharpNamespaceSiblings,
|
|
63
|
+
// C# is statically typed — type information is reliable. Field-
|
|
64
|
+
// fallback heuristic stays off (the type-binding layer already
|
|
65
|
+
// produces precise owner types); return-type propagation on is fine
|
|
66
|
+
// since signatures are authoritative.
|
|
67
|
+
fieldFallbackOnMethodLookup: false,
|
|
68
|
+
propagatesReturnTypesAcrossImports: true,
|
|
69
|
+
// `data.Values` / `data.Keys` on Dictionary-like receivers unwrap
|
|
70
|
+
// to the value / key element type. Other languages use method-call
|
|
71
|
+
// syntax for the same access and leave this hook undefined.
|
|
72
|
+
elementTypeOf: accessor_unwrap_js_1.unwrapCsharpElementType,
|
|
73
|
+
// C# matches legacy DAG by collapsing member-call CALLS edges to
|
|
74
|
+
// `(caller, target)` — multiple `g.Greet(...)` sites from Main
|
|
75
|
+
// yield ONE edge, not one per site.
|
|
76
|
+
collapseMemberCallsByCallerTarget: true,
|
|
77
|
+
freeCallsRequireInstanceOwnership: true,
|
|
78
|
+
// C# hoists method return-type bindings to the enclosing Module
|
|
79
|
+
// scope so `propagateImportedReturnTypes` can mirror them across
|
|
80
|
+
// files. The compound-receiver walker needs to walk up from the
|
|
81
|
+
// class scope to find them; see the contract field for rationale.
|
|
82
|
+
hoistTypeBindingsToModule: true,
|
|
83
|
+
};
|
|
84
|
+
exports.csharpScopeResolver = csharpScopeResolver;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Trivial / no-op-ish hooks for the C# provider. Kept together because
|
|
4
|
+
* each is a few lines and they share a common theme: they make the
|
|
5
|
+
* provider's choice explicit rather than relying on "absence == default"
|
|
6
|
+
* so reviewers don't have to re-derive the analysis.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.csharpBindingScopeFor = csharpBindingScopeFor;
|
|
10
|
+
exports.csharpImportOwningScope = csharpImportOwningScope;
|
|
11
|
+
exports.csharpReceiverBinding = csharpReceiverBinding;
|
|
12
|
+
// ─── bindingScopeFor ──────────────────────────────────────────────────────
|
|
13
|
+
/** C# has block scope, but the central extractor's "innermost enclosing
|
|
14
|
+
* scope" default already handles it correctly: class-body declarations
|
|
15
|
+
* attach to the innermost Class scope, method-body declarations attach
|
|
16
|
+
* to the innermost Function scope, and namespace-body declarations
|
|
17
|
+
* attach to the innermost Namespace scope (which the scope query emits
|
|
18
|
+
* for both `namespace X { }` and `namespace X;` forms).
|
|
19
|
+
*
|
|
20
|
+
* Exception: **method return-type bindings** (`@type-binding.return`)
|
|
21
|
+
* must hoist all the way to the Module scope. The default auto-hoist
|
|
22
|
+
* in the central extractor only promotes one level (Function → its
|
|
23
|
+
* parent). For C# methods the parent is always a Class, so without
|
|
24
|
+
* this override the return binding gets stuck at the Class scope,
|
|
25
|
+
* where it's invisible to:
|
|
26
|
+
* - chain-follow's parent-chain walk in `followChainPostFinalize`
|
|
27
|
+
* (tests: `var u = GetUser(); u.Save()` single-file);
|
|
28
|
+
* - cross-file `propagateImportedReturnTypes`, which reads only
|
|
29
|
+
* `sourceModule.typeBindings`.
|
|
30
|
+
* Walking to Module restores both paths. */
|
|
31
|
+
function csharpBindingScopeFor(decl, innermost, tree) {
|
|
32
|
+
if (decl['@type-binding.return'] !== undefined) {
|
|
33
|
+
let cur = innermost;
|
|
34
|
+
while (cur !== undefined && cur.kind !== 'Module') {
|
|
35
|
+
const parentId = cur.parent ?? null;
|
|
36
|
+
if (parentId === null)
|
|
37
|
+
break;
|
|
38
|
+
cur = tree.getScope(parentId);
|
|
39
|
+
}
|
|
40
|
+
if (cur !== undefined && cur.kind === 'Module')
|
|
41
|
+
return cur.id;
|
|
42
|
+
}
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
// ─── importOwningScope ────────────────────────────────────────────────────
|
|
46
|
+
/** `using` inside `namespace X { }` binds to that namespace's scope (its
|
|
47
|
+
* types are visible only within that namespace's members). File-level
|
|
48
|
+
* `using` delegates to the module default. Class-body `using` is not
|
|
49
|
+
* legal C# — defensively handle it by attaching to the class if it
|
|
50
|
+
* ever slips through.
|
|
51
|
+
*
|
|
52
|
+
* `global using X;` (C# 10+) at the compilation_unit level is treated
|
|
53
|
+
* as a file-scoped using for Unit 2's purposes; cross-file propagation
|
|
54
|
+
* will be addressed if Unit 7's parity gate flags it. */
|
|
55
|
+
function csharpImportOwningScope(_imp, innermost, _tree) {
|
|
56
|
+
if (innermost.kind === 'Namespace' || innermost.kind === 'Class' || innermost.kind === 'Function')
|
|
57
|
+
return innermost.id;
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
// ─── receiverBinding ──────────────────────────────────────────────────────
|
|
61
|
+
/** Look up `this` or `base` in the function scope's type bindings.
|
|
62
|
+
*
|
|
63
|
+
* `this` and `base` are synthesized as type bindings on instance
|
|
64
|
+
* methods during capture emission (`receiver-binding.ts`) — `this`
|
|
65
|
+
* for every method inside a class/struct/record/interface body, and
|
|
66
|
+
* `base` additionally for methods of a class-like type with an
|
|
67
|
+
* explicit `base_list`. This hook therefore returns a non-null
|
|
68
|
+
* `TypeRef` for instance-method bodies.
|
|
69
|
+
*
|
|
70
|
+
* Returns `null` for:
|
|
71
|
+
* - static methods (no `this` synthesized)
|
|
72
|
+
* - free functions / module-level code (no enclosing class)
|
|
73
|
+
* - non-Function scopes
|
|
74
|
+
*
|
|
75
|
+
* Matches `pythonReceiverBinding`'s shape so the two provider
|
|
76
|
+
* wirings stay symmetric. */
|
|
77
|
+
function csharpReceiverBinding(functionScope) {
|
|
78
|
+
if (functionScope.kind !== 'Function')
|
|
79
|
+
return null;
|
|
80
|
+
return functionScope.typeBindings.get('this') ?? functionScope.typeBindings.get('base') ?? null;
|
|
81
|
+
}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* C# language provider.
|
|
4
|
+
*
|
|
5
|
+
* C# uses named imports (using directives), modifier-based export detection,
|
|
6
|
+
* and an implements-split MRO strategy for multiple interface implementation.
|
|
7
|
+
* Interface names follow the I-prefix convention (e.g., IDisposable).
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.csharpProvider = void 0;
|
|
11
|
+
const index_js_1 = require("../../../../shared/index.js");
|
|
12
|
+
const generic_js_1 = require("../class-extractors/generic.js");
|
|
13
|
+
const csharp_js_1 = require("../class-extractors/configs/csharp.js");
|
|
14
|
+
const language_provider_js_1 = require("../language-provider.js");
|
|
15
|
+
const csharp_js_2 = require("../type-extractors/csharp.js");
|
|
16
|
+
const export_detection_js_1 = require("../export-detection.js");
|
|
17
|
+
const resolver_factory_js_1 = require("../import-resolvers/resolver-factory.js");
|
|
18
|
+
const csharp_js_3 = require("../import-resolvers/configs/csharp.js");
|
|
19
|
+
const tree_sitter_queries_js_1 = require("../tree-sitter-queries.js");
|
|
20
|
+
const ast_helpers_js_1 = require("../utils/ast-helpers.js");
|
|
21
|
+
const generic_js_2 = require("../call-extractors/generic.js");
|
|
22
|
+
const csharp_js_4 = require("../call-extractors/configs/csharp.js");
|
|
23
|
+
const generic_js_3 = require("../field-extractors/generic.js");
|
|
24
|
+
const csharp_js_5 = require("../field-extractors/configs/csharp.js");
|
|
25
|
+
const generic_js_4 = require("../method-extractors/generic.js");
|
|
26
|
+
const csharp_js_6 = require("../method-extractors/configs/csharp.js");
|
|
27
|
+
const generic_js_5 = require("../variable-extractors/generic.js");
|
|
28
|
+
const csharp_js_7 = require("../variable-extractors/configs/csharp.js");
|
|
29
|
+
const csharp_js_8 = require("../cfg/visitors/csharp.js");
|
|
30
|
+
const index_js_2 = require("./csharp/index.js");
|
|
31
|
+
const BUILT_INS = new Set([
|
|
32
|
+
'Console',
|
|
33
|
+
'WriteLine',
|
|
34
|
+
'ReadLine',
|
|
35
|
+
'Write',
|
|
36
|
+
'Task',
|
|
37
|
+
'Run',
|
|
38
|
+
'Wait',
|
|
39
|
+
'WhenAll',
|
|
40
|
+
'WhenAny',
|
|
41
|
+
'FromResult',
|
|
42
|
+
'Delay',
|
|
43
|
+
'ContinueWith',
|
|
44
|
+
'ConfigureAwait',
|
|
45
|
+
'GetAwaiter',
|
|
46
|
+
'GetResult',
|
|
47
|
+
'ToString',
|
|
48
|
+
'GetType',
|
|
49
|
+
'Equals',
|
|
50
|
+
'GetHashCode',
|
|
51
|
+
'ReferenceEquals',
|
|
52
|
+
'Add',
|
|
53
|
+
'Remove',
|
|
54
|
+
'Contains',
|
|
55
|
+
'Clear',
|
|
56
|
+
'Count',
|
|
57
|
+
'Any',
|
|
58
|
+
'All',
|
|
59
|
+
'Where',
|
|
60
|
+
'Select',
|
|
61
|
+
'SelectMany',
|
|
62
|
+
'OrderBy',
|
|
63
|
+
'OrderByDescending',
|
|
64
|
+
'GroupBy',
|
|
65
|
+
'First',
|
|
66
|
+
'FirstOrDefault',
|
|
67
|
+
'Single',
|
|
68
|
+
'SingleOrDefault',
|
|
69
|
+
'Last',
|
|
70
|
+
'LastOrDefault',
|
|
71
|
+
'ToList',
|
|
72
|
+
'ToArray',
|
|
73
|
+
'ToDictionary',
|
|
74
|
+
'AsEnumerable',
|
|
75
|
+
'AsQueryable',
|
|
76
|
+
'Aggregate',
|
|
77
|
+
'Sum',
|
|
78
|
+
'Average',
|
|
79
|
+
'Min',
|
|
80
|
+
'Max',
|
|
81
|
+
'Distinct',
|
|
82
|
+
'Skip',
|
|
83
|
+
'Take',
|
|
84
|
+
'String',
|
|
85
|
+
'Format',
|
|
86
|
+
'IsNullOrEmpty',
|
|
87
|
+
'IsNullOrWhiteSpace',
|
|
88
|
+
'Concat',
|
|
89
|
+
'Join',
|
|
90
|
+
'Trim',
|
|
91
|
+
'TrimStart',
|
|
92
|
+
'TrimEnd',
|
|
93
|
+
'Split',
|
|
94
|
+
'Replace',
|
|
95
|
+
'StartsWith',
|
|
96
|
+
'EndsWith',
|
|
97
|
+
'Convert',
|
|
98
|
+
'ToInt32',
|
|
99
|
+
'ToDouble',
|
|
100
|
+
'ToBoolean',
|
|
101
|
+
'ToByte',
|
|
102
|
+
'Math',
|
|
103
|
+
'Abs',
|
|
104
|
+
'Ceiling',
|
|
105
|
+
'Floor',
|
|
106
|
+
'Round',
|
|
107
|
+
'Pow',
|
|
108
|
+
'Sqrt',
|
|
109
|
+
'Dispose',
|
|
110
|
+
'Close',
|
|
111
|
+
'TryParse',
|
|
112
|
+
'Parse',
|
|
113
|
+
'AddRange',
|
|
114
|
+
'RemoveAt',
|
|
115
|
+
'RemoveAll',
|
|
116
|
+
'FindAll',
|
|
117
|
+
'Exists',
|
|
118
|
+
'TrueForAll',
|
|
119
|
+
'ContainsKey',
|
|
120
|
+
'TryGetValue',
|
|
121
|
+
'AddOrUpdate',
|
|
122
|
+
'Throw',
|
|
123
|
+
'ThrowIfNull',
|
|
124
|
+
]);
|
|
125
|
+
exports.csharpProvider = (0, language_provider_js_1.defineLanguage)({
|
|
126
|
+
id: index_js_1.SupportedLanguages.CSharp,
|
|
127
|
+
extensions: ['.cs'],
|
|
128
|
+
entryPointPatterns: [
|
|
129
|
+
/^(Get|Post|Put|Delete|Patch)/,
|
|
130
|
+
/Action$/,
|
|
131
|
+
/^On[A-Z]/,
|
|
132
|
+
/Async$/,
|
|
133
|
+
/^Configure$/,
|
|
134
|
+
/^ConfigureServices$/,
|
|
135
|
+
/^Handle$/,
|
|
136
|
+
/^Execute$/,
|
|
137
|
+
/^Invoke$/,
|
|
138
|
+
/^Map[A-Z]/,
|
|
139
|
+
/Service$/,
|
|
140
|
+
/^Seed/,
|
|
141
|
+
],
|
|
142
|
+
astFrameworkPatterns: [
|
|
143
|
+
{
|
|
144
|
+
framework: 'aspnet',
|
|
145
|
+
entryPointMultiplier: 3.2,
|
|
146
|
+
reason: 'aspnet-attribute',
|
|
147
|
+
patterns: [
|
|
148
|
+
'[ApiController]',
|
|
149
|
+
'[HttpGet]',
|
|
150
|
+
'[HttpPost]',
|
|
151
|
+
'[HttpPut]',
|
|
152
|
+
'[HttpDelete]',
|
|
153
|
+
'[Route]',
|
|
154
|
+
'[Authorize]',
|
|
155
|
+
'[AllowAnonymous]',
|
|
156
|
+
],
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
framework: 'signalr',
|
|
160
|
+
entryPointMultiplier: 2.8,
|
|
161
|
+
reason: 'signalr-attribute',
|
|
162
|
+
patterns: ['[HubMethodName]', ': Hub', ': Hub<'],
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
framework: 'blazor',
|
|
166
|
+
entryPointMultiplier: 2.5,
|
|
167
|
+
reason: 'blazor-attribute',
|
|
168
|
+
patterns: ['@page', '[Parameter]', '@inject'],
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
framework: 'efcore',
|
|
172
|
+
entryPointMultiplier: 2.0,
|
|
173
|
+
reason: 'efcore-pattern',
|
|
174
|
+
patterns: ['DbContext', 'DbSet<', 'OnModelCreating'],
|
|
175
|
+
},
|
|
176
|
+
],
|
|
177
|
+
treeSitterQueries: tree_sitter_queries_js_1.CSHARP_QUERIES,
|
|
178
|
+
typeConfig: csharp_js_2.typeConfig,
|
|
179
|
+
exportChecker: export_detection_js_1.csharpExportChecker,
|
|
180
|
+
importResolver: (0, resolver_factory_js_1.createImportResolver)(csharp_js_3.csharpImportConfig),
|
|
181
|
+
mroStrategy: 'implements-split',
|
|
182
|
+
callExtractor: (0, generic_js_2.createCallExtractor)(csharp_js_4.csharpCallConfig),
|
|
183
|
+
fieldExtractor: (0, generic_js_3.createFieldExtractor)(csharp_js_5.csharpConfig),
|
|
184
|
+
methodExtractor: (0, generic_js_4.createMethodExtractor)(csharp_js_6.csharpMethodConfig),
|
|
185
|
+
variableExtractor: (0, generic_js_5.createVariableExtractor)(csharp_js_7.csharpVariableConfig),
|
|
186
|
+
classExtractor: (0, generic_js_1.createClassExtractor)(csharp_js_1.csharpClassConfig),
|
|
187
|
+
// ── XML doc comments (`///`) → description (issue #2270) ──
|
|
188
|
+
descriptionExtractor: (0, ast_helpers_js_1.createLeadingDocDescriptionExtractor)(),
|
|
189
|
+
builtInNames: BUILT_INS,
|
|
190
|
+
// ── RFC #909 Ring 3: scope-based resolution hooks (RFC §5) ──────────
|
|
191
|
+
// C# is the second migration after Python. See ./csharp/index.ts for
|
|
192
|
+
// the full per-hook rationale and the canonical capture vocabulary
|
|
193
|
+
// in ./csharp/query.ts (CSHARP_SCOPE_QUERY constant).
|
|
194
|
+
emitScopeCaptures: index_js_2.emitCsharpScopeCaptures,
|
|
195
|
+
cfgVisitor: (0, csharp_js_8.createCsharpCfgVisitor)(),
|
|
196
|
+
interpretImport: index_js_2.interpretCsharpImport,
|
|
197
|
+
interpretTypeBinding: index_js_2.interpretCsharpTypeBinding,
|
|
198
|
+
bindingScopeFor: index_js_2.csharpBindingScopeFor,
|
|
199
|
+
importOwningScope: index_js_2.csharpImportOwningScope,
|
|
200
|
+
mergeBindings: (_scope, bindings) => (0, index_js_2.csharpMergeBindings)(bindings),
|
|
201
|
+
receiverBinding: index_js_2.csharpReceiverBinding,
|
|
202
|
+
arityCompatibility: index_js_2.csharpArityCompatibility,
|
|
203
|
+
resolveImportTarget: index_js_2.resolveCsharpImportTarget,
|
|
204
|
+
});
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Compute arity metadata from a Dart function-like node, reusing
|
|
4
|
+
* `dartMethodConfig.extractParameters` so scope-extracted defs carry the
|
|
5
|
+
* same semantics as the legacy parse-worker path. Mirror of
|
|
6
|
+
* `languages/swift/arity-metadata.ts` (and C#'s `computeCsharpArityMetadata`).
|
|
7
|
+
*
|
|
8
|
+
* Dart has no variadic parameters, so `parameterCount` is always the param
|
|
9
|
+
* total and the required count falls out of the optional flag:
|
|
10
|
+
* `requiredParameterCount = total − optionalCount`, where a non-`required`
|
|
11
|
+
* named param or an optional positional (`[...]`) param is optional.
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.computeDartArityMetadata = computeDartArityMetadata;
|
|
15
|
+
const dart_js_1 = require("../../method-extractors/configs/dart.js");
|
|
16
|
+
/**
|
|
17
|
+
* `fnNode` is the declaration WRAPPER node (`method_signature` /
|
|
18
|
+
* `declaration` / a top-level `function_signature` / `constructor_signature`).
|
|
19
|
+
* `dartMethodConfig.extractParameters` descends to the inner signature
|
|
20
|
+
* internally, so the wrapper is the correct node to pass.
|
|
21
|
+
*/
|
|
22
|
+
function computeDartArityMetadata(fnNode) {
|
|
23
|
+
const params = dart_js_1.dartMethodConfig.extractParameters?.(fnNode) ?? [];
|
|
24
|
+
let optionalCount = 0;
|
|
25
|
+
const types = [];
|
|
26
|
+
for (const p of params) {
|
|
27
|
+
if (p.isOptional)
|
|
28
|
+
optionalCount++;
|
|
29
|
+
if (p.type !== null)
|
|
30
|
+
types.push(p.type);
|
|
31
|
+
}
|
|
32
|
+
const total = params.length;
|
|
33
|
+
return {
|
|
34
|
+
parameterCount: total,
|
|
35
|
+
requiredParameterCount: total - optionalCount,
|
|
36
|
+
parameterTypes: types.length > 0 ? types : undefined,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Dart arity compatibility (count-primary, labels soft) — mirror of
|
|
4
|
+
* `languages/swift/arity.ts`.
|
|
5
|
+
*
|
|
6
|
+
* Dart parameters come in four flavours: required positional, optional
|
|
7
|
+
* positional (`[...]`), named (`{...}`), and required-named
|
|
8
|
+
* (`{required ...}`). `dartMethodConfig.extractParameters` collapses these
|
|
9
|
+
* into `isOptional` (a non-`required` named/optional-positional param is
|
|
10
|
+
* optional), which `computeDartArityMetadata` turns into
|
|
11
|
+
* `requiredParameterCount = total − optionalCount`. Named arguments are
|
|
12
|
+
* unordered and matched on COUNT only here — label-precise dispatch is left
|
|
13
|
+
* to the type-binding layer (Swift's documented "labels soft" decision).
|
|
14
|
+
* Dart has no variadic parameters, so the max bound always applies.
|
|
15
|
+
*
|
|
16
|
+
* NOTE arg order: `(def, callsite)` — matches the `LanguageProvider` hook.
|
|
17
|
+
* The `ScopeResolver` wires an adapter that flips the order to `(callsite, def)`.
|
|
18
|
+
*/
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.dartArityCompatibility = dartArityCompatibility;
|
|
21
|
+
function dartArityCompatibility(def, callsite) {
|
|
22
|
+
const max = def.parameterCount;
|
|
23
|
+
const min = def.requiredParameterCount;
|
|
24
|
+
if (max === undefined && min === undefined)
|
|
25
|
+
return 'unknown';
|
|
26
|
+
const argCount = callsite.arity;
|
|
27
|
+
if (argCount === undefined || !Number.isFinite(argCount) || argCount < 0)
|
|
28
|
+
return 'unknown';
|
|
29
|
+
if (min !== undefined && argCount < min)
|
|
30
|
+
return 'incompatible';
|
|
31
|
+
if (max !== undefined && argCount > max)
|
|
32
|
+
return 'incompatible';
|
|
33
|
+
return 'compatible';
|
|
34
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Dart built-in / framework names whose calls the legacy DAG suppresses
|
|
4
|
+
* (Flutter / Dart-SDK members not part of the indexed workspace). The
|
|
5
|
+
* registry-primary capture walk skips emitting call references for these so
|
|
6
|
+
* its CALLS graph matches the legacy DAG — which suppresses built-in-named
|
|
7
|
+
* calls via `isBuiltInName` BEFORE resolution, for both free and member calls.
|
|
8
|
+
*
|
|
9
|
+
* Leaf module: shared by the provider (`builtInNames`) and `captures.ts`
|
|
10
|
+
* without an import cycle (`dart.ts` → `dart/index.ts` → `captures.ts`).
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.DART_BUILT_INS = void 0;
|
|
14
|
+
exports.DART_BUILT_INS = new Set([
|
|
15
|
+
'setState',
|
|
16
|
+
'mounted',
|
|
17
|
+
'debugPrint',
|
|
18
|
+
'runApp',
|
|
19
|
+
'showDialog',
|
|
20
|
+
'showModalBottomSheet',
|
|
21
|
+
'Navigator',
|
|
22
|
+
'push',
|
|
23
|
+
'pushNamed',
|
|
24
|
+
'pushReplacement',
|
|
25
|
+
'pop',
|
|
26
|
+
'maybePop',
|
|
27
|
+
'ScaffoldMessenger',
|
|
28
|
+
'showSnackBar',
|
|
29
|
+
'deactivate',
|
|
30
|
+
'reassemble',
|
|
31
|
+
'debugDumpApp',
|
|
32
|
+
'debugDumpRenderTree',
|
|
33
|
+
'then',
|
|
34
|
+
'catchError',
|
|
35
|
+
'whenComplete',
|
|
36
|
+
'listen',
|
|
37
|
+
]);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Dev-mode (`PROF_SCOPE_RESOLUTION=1`) cache hit/miss counters for the
|
|
4
|
+
* cross-phase scope-captures parse cache. A module-level `PROF` const folds
|
|
5
|
+
* increments to dead code in production so `captures.ts` stays branch-free.
|
|
6
|
+
* Mirror of `languages/swift/cache-stats.ts`.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.recordCacheHit = recordCacheHit;
|
|
10
|
+
exports.recordCacheMiss = recordCacheMiss;
|
|
11
|
+
exports.getDartCaptureCacheStats = getDartCaptureCacheStats;
|
|
12
|
+
exports.resetDartCaptureCacheStats = resetDartCaptureCacheStats;
|
|
13
|
+
const PROF = process.env.PROF_SCOPE_RESOLUTION === '1';
|
|
14
|
+
let CACHE_HITS = 0;
|
|
15
|
+
let CACHE_MISSES = 0;
|
|
16
|
+
function recordCacheHit() {
|
|
17
|
+
if (PROF)
|
|
18
|
+
CACHE_HITS++;
|
|
19
|
+
}
|
|
20
|
+
function recordCacheMiss() {
|
|
21
|
+
if (PROF)
|
|
22
|
+
CACHE_MISSES++;
|
|
23
|
+
}
|
|
24
|
+
function getDartCaptureCacheStats() {
|
|
25
|
+
return { hits: CACHE_HITS, misses: CACHE_MISSES };
|
|
26
|
+
}
|
|
27
|
+
function resetDartCaptureCacheStats() {
|
|
28
|
+
CACHE_HITS = 0;
|
|
29
|
+
CACHE_MISSES = 0;
|
|
30
|
+
}
|