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
package/dist/core/code/engine/core/ingestion/method-extractors/configs/typescript-javascript.js
ADDED
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// cgraph/src/core/ingestion/method-extractors/configs/typescript-javascript.ts
|
|
3
|
+
// Verified against tree-sitter-typescript ^0.23.2, tree-sitter-javascript ^0.23.0
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.javascriptMethodConfig = exports.typescriptMethodConfig = void 0;
|
|
6
|
+
const index_js_1 = require("../../../../../shared/index.js");
|
|
7
|
+
const helpers_js_1 = require("../../field-extractors/configs/helpers.js");
|
|
8
|
+
const shared_js_1 = require("../../type-extractors/shared.js");
|
|
9
|
+
// ---------------------------------------------------------------------------
|
|
10
|
+
// TS/JS helpers
|
|
11
|
+
// ---------------------------------------------------------------------------
|
|
12
|
+
const VISIBILITY_KEYWORDS = new Set(['public', 'private', 'protected']);
|
|
13
|
+
/**
|
|
14
|
+
* Extract parameters from formal_parameters.
|
|
15
|
+
*
|
|
16
|
+
* Handles both TS node types (required_parameter, optional_parameter, rest_parameter)
|
|
17
|
+
* and JS node types (identifier, assignment_pattern, rest_pattern), plus destructured
|
|
18
|
+
* parameters (object_pattern, array_pattern) in both grammars.
|
|
19
|
+
*/
|
|
20
|
+
function extractTsJsParameters(node) {
|
|
21
|
+
const paramList = node.childForFieldName('parameters');
|
|
22
|
+
if (!paramList)
|
|
23
|
+
return [];
|
|
24
|
+
const params = [];
|
|
25
|
+
for (let i = 0; i < paramList.namedChildCount; i++) {
|
|
26
|
+
const param = paramList.namedChild(i);
|
|
27
|
+
if (!param)
|
|
28
|
+
continue;
|
|
29
|
+
switch (param.type) {
|
|
30
|
+
case 'required_parameter': {
|
|
31
|
+
const patternNode = param.childForFieldName('pattern');
|
|
32
|
+
if (!patternNode)
|
|
33
|
+
break;
|
|
34
|
+
// Skip TS `this` parameter — it's a compile-time type constraint, not a real param
|
|
35
|
+
if (patternNode.type === 'this')
|
|
36
|
+
break;
|
|
37
|
+
// Rest parameter: pattern is a rest_pattern (...args) — extract inner identifier
|
|
38
|
+
const isRest = patternNode.type === 'rest_pattern';
|
|
39
|
+
const nameNode = isRest ? patternNode.firstNamedChild : patternNode;
|
|
40
|
+
if (!nameNode)
|
|
41
|
+
break;
|
|
42
|
+
// type field is a type_annotation — unwrap to get the inner type node
|
|
43
|
+
const typeAnnotation = param.childForFieldName('type');
|
|
44
|
+
const typeNode = typeAnnotation?.firstNamedChild;
|
|
45
|
+
// Default value: presence of a 'value' field means isOptional
|
|
46
|
+
const hasDefault = !!param.childForFieldName('value');
|
|
47
|
+
params.push({
|
|
48
|
+
name: nameNode.text,
|
|
49
|
+
type: typeNode
|
|
50
|
+
? ((0, shared_js_1.extractSimpleTypeName)(typeNode) ?? typeNode.text?.trim() ?? null)
|
|
51
|
+
: null,
|
|
52
|
+
rawType: typeNode?.text?.trim() ?? null,
|
|
53
|
+
isOptional: hasDefault,
|
|
54
|
+
isVariadic: isRest,
|
|
55
|
+
});
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
case 'optional_parameter': {
|
|
59
|
+
const nameNode = param.childForFieldName('pattern');
|
|
60
|
+
if (!nameNode)
|
|
61
|
+
break;
|
|
62
|
+
const typeAnnotation = param.childForFieldName('type');
|
|
63
|
+
const typeNode = typeAnnotation?.firstNamedChild;
|
|
64
|
+
params.push({
|
|
65
|
+
name: nameNode.text,
|
|
66
|
+
type: typeNode
|
|
67
|
+
? ((0, shared_js_1.extractSimpleTypeName)(typeNode) ?? typeNode.text?.trim() ?? null)
|
|
68
|
+
: null,
|
|
69
|
+
rawType: typeNode?.text?.trim() ?? null,
|
|
70
|
+
isOptional: true,
|
|
71
|
+
isVariadic: false,
|
|
72
|
+
});
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
case 'rest_parameter': {
|
|
76
|
+
const nameNode = param.childForFieldName('pattern');
|
|
77
|
+
if (!nameNode)
|
|
78
|
+
break;
|
|
79
|
+
const typeAnnotation = param.childForFieldName('type');
|
|
80
|
+
const typeNode = typeAnnotation?.firstNamedChild;
|
|
81
|
+
params.push({
|
|
82
|
+
name: nameNode.text,
|
|
83
|
+
type: typeNode
|
|
84
|
+
? ((0, shared_js_1.extractSimpleTypeName)(typeNode) ?? typeNode.text?.trim() ?? null)
|
|
85
|
+
: null,
|
|
86
|
+
rawType: typeNode?.text?.trim() ?? null,
|
|
87
|
+
isOptional: false,
|
|
88
|
+
isVariadic: true,
|
|
89
|
+
});
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
case 'identifier': {
|
|
93
|
+
// JS: bare parameter name, no type info
|
|
94
|
+
params.push({
|
|
95
|
+
name: param.text,
|
|
96
|
+
type: null,
|
|
97
|
+
rawType: null,
|
|
98
|
+
isOptional: false,
|
|
99
|
+
isVariadic: false,
|
|
100
|
+
});
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
case 'assignment_pattern': {
|
|
104
|
+
// JS: param = defaultValue — the left side is the name, isOptional = true
|
|
105
|
+
const left = param.childForFieldName('left');
|
|
106
|
+
if (left) {
|
|
107
|
+
params.push({
|
|
108
|
+
name: left.text,
|
|
109
|
+
type: null,
|
|
110
|
+
rawType: null,
|
|
111
|
+
isOptional: true,
|
|
112
|
+
isVariadic: false,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
break;
|
|
116
|
+
}
|
|
117
|
+
case 'rest_pattern': {
|
|
118
|
+
// JS: ...args
|
|
119
|
+
const inner = param.firstNamedChild;
|
|
120
|
+
if (inner) {
|
|
121
|
+
params.push({
|
|
122
|
+
name: inner.text,
|
|
123
|
+
type: null,
|
|
124
|
+
rawType: null,
|
|
125
|
+
isOptional: false,
|
|
126
|
+
isVariadic: true,
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
break;
|
|
130
|
+
}
|
|
131
|
+
case 'object_pattern':
|
|
132
|
+
case 'array_pattern': {
|
|
133
|
+
// Destructured parameter — use full text as name
|
|
134
|
+
params.push({
|
|
135
|
+
name: param.text,
|
|
136
|
+
type: null,
|
|
137
|
+
rawType: null,
|
|
138
|
+
isOptional: false,
|
|
139
|
+
isVariadic: false,
|
|
140
|
+
});
|
|
141
|
+
break;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return params;
|
|
146
|
+
}
|
|
147
|
+
/** Regex to extract @returns or @return from JSDoc comments: `@returns {Type}` */
|
|
148
|
+
const JSDOC_RETURN_RE = /@returns?\s*\{([^}]+)\}/;
|
|
149
|
+
/**
|
|
150
|
+
* Minimal sanitization for JSDoc return types — preserves generic wrappers
|
|
151
|
+
* (e.g. `Promise<User>`) so that extractReturnTypeName in call-processor
|
|
152
|
+
* can apply WRAPPER_GENERICS unwrapping. Only strips JSDoc-specific syntax markers.
|
|
153
|
+
*/
|
|
154
|
+
function sanitizeJsDocReturnType(raw) {
|
|
155
|
+
let type = raw.trim();
|
|
156
|
+
// Strip JSDoc nullable/non-nullable prefixes: ?User → User, !User → User
|
|
157
|
+
if (type.startsWith('?') || type.startsWith('!'))
|
|
158
|
+
type = type.slice(1);
|
|
159
|
+
// Strip module: prefix — module:models.User → models.User
|
|
160
|
+
if (type.startsWith('module:'))
|
|
161
|
+
type = type.slice(7);
|
|
162
|
+
// Reject unions (ambiguous)
|
|
163
|
+
if (type.includes('|'))
|
|
164
|
+
return undefined;
|
|
165
|
+
if (!type)
|
|
166
|
+
return undefined;
|
|
167
|
+
return type;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Walk backwards through preceding siblings looking for a JSDoc comment containing
|
|
171
|
+
* `@returns {Type}` or `@return {Type}`. Stops at the first non-comment named node
|
|
172
|
+
* (excluding decorators, which precede methods in TS/JS).
|
|
173
|
+
*/
|
|
174
|
+
function extractJsDocReturnType(node) {
|
|
175
|
+
let sibling = node.previousSibling;
|
|
176
|
+
while (sibling) {
|
|
177
|
+
if (sibling.type === 'comment') {
|
|
178
|
+
const match = JSDOC_RETURN_RE.exec(sibling.text);
|
|
179
|
+
if (match)
|
|
180
|
+
return sanitizeJsDocReturnType(match[1]);
|
|
181
|
+
}
|
|
182
|
+
else if (sibling.isNamed && sibling.type !== 'decorator')
|
|
183
|
+
break;
|
|
184
|
+
sibling = sibling.previousSibling;
|
|
185
|
+
}
|
|
186
|
+
return undefined;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Extract return type from return_type field, unwrapping type_annotation.
|
|
190
|
+
* Falls back to JSDoc `@returns {Type}` when the AST has no return type annotation.
|
|
191
|
+
*
|
|
192
|
+
* tree-sitter-typescript uses `return_type` as the field name (not `type` like JVM).
|
|
193
|
+
* The return_type field points to a type_annotation node that must be unwrapped.
|
|
194
|
+
*/
|
|
195
|
+
function extractTsJsReturnType(node) {
|
|
196
|
+
const returnType = node.childForFieldName('return_type');
|
|
197
|
+
if (returnType) {
|
|
198
|
+
if (returnType.type === 'type_annotation') {
|
|
199
|
+
const inner = returnType.firstNamedChild;
|
|
200
|
+
if (inner)
|
|
201
|
+
return inner.text?.trim();
|
|
202
|
+
}
|
|
203
|
+
return returnType.text?.trim();
|
|
204
|
+
}
|
|
205
|
+
// AST has no return type annotation — try JSDoc fallback
|
|
206
|
+
return extractJsDocReturnType(node);
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Extract visibility from accessibility_modifier or #private name.
|
|
210
|
+
*
|
|
211
|
+
* tree-sitter-typescript emits accessibility_modifier as a named child of method nodes
|
|
212
|
+
* (not as a modifiers wrapper like JVM). Pass 1 scans for that child; pass 2 checks for
|
|
213
|
+
* ES2022 private_property_identifier (#name). Default: public.
|
|
214
|
+
*/
|
|
215
|
+
function extractTsJsVisibility(node) {
|
|
216
|
+
// Pass 1: check for accessibility_modifier named child (TS-specific)
|
|
217
|
+
for (let i = 0; i < node.namedChildCount; i++) {
|
|
218
|
+
const child = node.namedChild(i);
|
|
219
|
+
if (child && child.type === 'accessibility_modifier') {
|
|
220
|
+
const t = child.text.trim();
|
|
221
|
+
if (VISIBILITY_KEYWORDS.has(t))
|
|
222
|
+
return t;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
// Pass 2: ES2022 private methods (#name) are inherently private
|
|
226
|
+
const nameNode = node.childForFieldName('name');
|
|
227
|
+
if (nameNode && nameNode.type === 'private_property_identifier')
|
|
228
|
+
return 'private';
|
|
229
|
+
// No accessibility_modifier found — default to public.
|
|
230
|
+
// Note: tree-sitter-typescript does not wrap modifiers in a 'modifiers' node
|
|
231
|
+
// (unlike JVM), so there is no wrapper to scan.
|
|
232
|
+
return 'public';
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Extract decorator names, prefixed with '@'.
|
|
236
|
+
*
|
|
237
|
+
* In tree-sitter-typescript, decorators are **siblings** of the method_definition in the
|
|
238
|
+
* class_body — they are NOT children of the method node. We find them by walking backwards
|
|
239
|
+
* from the method node through its preceding siblings in the parent body.
|
|
240
|
+
*/
|
|
241
|
+
function extractTsJsDecorators(node) {
|
|
242
|
+
const decorators = [];
|
|
243
|
+
// Walk backwards via previousNamedSibling to collect consecutive decorator siblings.
|
|
244
|
+
// This avoids the O(N) index-finding scan through the parent's children.
|
|
245
|
+
let sibling = node.previousNamedSibling;
|
|
246
|
+
while (sibling && sibling.type === 'decorator') {
|
|
247
|
+
const name = extractDecoratorName(sibling);
|
|
248
|
+
if (name)
|
|
249
|
+
decorators.unshift(name);
|
|
250
|
+
sibling = sibling.previousNamedSibling;
|
|
251
|
+
}
|
|
252
|
+
return decorators;
|
|
253
|
+
}
|
|
254
|
+
function extractDecoratorName(decorator) {
|
|
255
|
+
const expr = decorator.firstNamedChild;
|
|
256
|
+
if (!expr)
|
|
257
|
+
return undefined;
|
|
258
|
+
if (expr.type === 'call_expression') {
|
|
259
|
+
const fn = expr.childForFieldName('function');
|
|
260
|
+
return fn ? '@' + fn.text : undefined;
|
|
261
|
+
}
|
|
262
|
+
if (expr.type === 'identifier')
|
|
263
|
+
return '@' + expr.text;
|
|
264
|
+
if (expr.type === 'member_expression')
|
|
265
|
+
return '@' + expr.text;
|
|
266
|
+
return undefined;
|
|
267
|
+
}
|
|
268
|
+
// ---------------------------------------------------------------------------
|
|
269
|
+
// Config
|
|
270
|
+
// ---------------------------------------------------------------------------
|
|
271
|
+
// TS and JS share the same config base. TS-only node types (abstract_class_declaration,
|
|
272
|
+
// interface_declaration, abstract_method_signature, method_signature, interface_body) are
|
|
273
|
+
// included because the JS grammar never produces these nodes — they are harmless no-ops.
|
|
274
|
+
// This mirrors the field extractor's typescript-javascript.ts shared pattern.
|
|
275
|
+
//
|
|
276
|
+
// Note: TS and JS share a method config but NOT a field extractor because the TS field
|
|
277
|
+
// extractor needs a hand-written class for type_alias_declaration object literals and
|
|
278
|
+
// nested type discovery. Methods have no such requirement.
|
|
279
|
+
const shared = {
|
|
280
|
+
typeDeclarationNodes: [
|
|
281
|
+
'class_declaration',
|
|
282
|
+
'abstract_class_declaration',
|
|
283
|
+
'interface_declaration',
|
|
284
|
+
],
|
|
285
|
+
// Note: TS constructors are method_definition nodes (name = 'constructor'), so no
|
|
286
|
+
// explicit constructor_declaration entry is needed (unlike JVM/C# configs).
|
|
287
|
+
// Known gaps:
|
|
288
|
+
// - call_signature and construct_signature (e.g., interface Fn { (x: string): void; })
|
|
289
|
+
// are not extracted — they have no name field and are uncommon in practice.
|
|
290
|
+
// - class_expression (const Foo = class { ... }) — methods inside class expressions
|
|
291
|
+
// are not discovered because class_expression is not in typeDeclarationNodes.
|
|
292
|
+
// - declare module / declare global augmentations — methods inside ambient_module_declaration
|
|
293
|
+
// wrappers are not surfaced because the top-level walker doesn't descend into them.
|
|
294
|
+
methodNodeTypes: [
|
|
295
|
+
'method_definition',
|
|
296
|
+
'method_signature',
|
|
297
|
+
'abstract_method_signature',
|
|
298
|
+
'function_declaration',
|
|
299
|
+
'generator_function_declaration',
|
|
300
|
+
'function_signature',
|
|
301
|
+
],
|
|
302
|
+
bodyNodeTypes: ['class_body', 'interface_body'],
|
|
303
|
+
extractName(node) {
|
|
304
|
+
const nameNode = node.childForFieldName('name');
|
|
305
|
+
return nameNode?.text;
|
|
306
|
+
},
|
|
307
|
+
extractReturnType: extractTsJsReturnType,
|
|
308
|
+
extractParameters: extractTsJsParameters,
|
|
309
|
+
extractVisibility: extractTsJsVisibility,
|
|
310
|
+
isStatic(node) {
|
|
311
|
+
return (0, helpers_js_1.hasKeyword)(node, 'static');
|
|
312
|
+
},
|
|
313
|
+
isAbstract(node, ownerNode) {
|
|
314
|
+
// Explicit abstract keyword on the method itself
|
|
315
|
+
if ((0, helpers_js_1.hasKeyword)(node, 'abstract'))
|
|
316
|
+
return true;
|
|
317
|
+
// Interface methods are implicitly abstract — TS interfaces never have method bodies
|
|
318
|
+
// (unlike Java default methods), so no !body check needed
|
|
319
|
+
if (ownerNode.type === 'interface_declaration')
|
|
320
|
+
return true;
|
|
321
|
+
return false;
|
|
322
|
+
},
|
|
323
|
+
isFinal(_node) {
|
|
324
|
+
return false; // TS/JS has no final/sealed methods
|
|
325
|
+
},
|
|
326
|
+
extractAnnotations: extractTsJsDecorators,
|
|
327
|
+
isAsync(node) {
|
|
328
|
+
return (0, helpers_js_1.hasKeyword)(node, 'async');
|
|
329
|
+
},
|
|
330
|
+
isOverride(node) {
|
|
331
|
+
return (0, helpers_js_1.hasKeyword)(node, 'override');
|
|
332
|
+
},
|
|
333
|
+
};
|
|
334
|
+
exports.typescriptMethodConfig = {
|
|
335
|
+
...shared,
|
|
336
|
+
language: index_js_1.SupportedLanguages.TypeScript,
|
|
337
|
+
};
|
|
338
|
+
exports.javascriptMethodConfig = {
|
|
339
|
+
...shared,
|
|
340
|
+
language: index_js_1.SupportedLanguages.JavaScript,
|
|
341
|
+
};
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// cgraph/src/core/ingestion/method-extractors/generic.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.createMethodExtractor = createMethodExtractor;
|
|
5
|
+
const logger_js_1 = require("../../logger.js");
|
|
6
|
+
/**
|
|
7
|
+
* Node types that imply static member semantics when they appear as the owner
|
|
8
|
+
* of a method (Kotlin companion objects, Kotlin top-level `object` declarations,
|
|
9
|
+
* Ruby `class << self` singleton classes). A config that lists any of these in
|
|
10
|
+
* `typeDeclarationNodes` MUST also include the same node type in
|
|
11
|
+
* `staticOwnerTypes` — otherwise methods inside these containers silently get
|
|
12
|
+
* `isStatic=false`, which is a correctness bug that previously only surfaced
|
|
13
|
+
* at analysis time on large repos.
|
|
14
|
+
*
|
|
15
|
+
* Opt-out: a config that sets `staticOwnerTypes: new Set()` (explicit empty
|
|
16
|
+
* set) signals "I handle static-ness entirely via isStatic()" and is exempt
|
|
17
|
+
* from the guard.
|
|
18
|
+
*/
|
|
19
|
+
const STATIC_IMPLYING_OWNER_TYPES = new Set([
|
|
20
|
+
'companion_object',
|
|
21
|
+
'object_declaration',
|
|
22
|
+
'singleton_class',
|
|
23
|
+
]);
|
|
24
|
+
/**
|
|
25
|
+
* Create a MethodExtractor from a declarative config.
|
|
26
|
+
*
|
|
27
|
+
* @throws {Error} if `typeDeclarationNodes` contains a static-implying owner
|
|
28
|
+
* type (companion_object / object_declaration / singleton_class) that is
|
|
29
|
+
* not covered by `staticOwnerTypes`. The guard fires once per language at
|
|
30
|
+
* provider construction to prevent silent `isStatic=false` regressions. See
|
|
31
|
+
* `STATIC_IMPLYING_OWNER_TYPES` for the exact opt-out convention.
|
|
32
|
+
*/
|
|
33
|
+
function createMethodExtractor(config) {
|
|
34
|
+
// Runtime invariant: each static-implying container type declared in
|
|
35
|
+
// typeDeclarationNodes must be covered by staticOwnerTypes. An explicit
|
|
36
|
+
// empty Set is treated as intentional opt-out.
|
|
37
|
+
if (config.staticOwnerTypes === undefined) {
|
|
38
|
+
const missing = config.typeDeclarationNodes.filter((t) => STATIC_IMPLYING_OWNER_TYPES.has(t));
|
|
39
|
+
if (missing.length > 0) {
|
|
40
|
+
throw new Error(`[MethodExtractionConfig:${config.language}] typeDeclarationNodes includes static-implying owner type(s) ` +
|
|
41
|
+
`${JSON.stringify(missing)} but staticOwnerTypes is not set. Add ` +
|
|
42
|
+
`'staticOwnerTypes: new Set([${missing.map((t) => `'${t}'`).join(', ')}])' ` +
|
|
43
|
+
`to the config, or set 'staticOwnerTypes: new Set()' to opt out explicitly.`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
const missing = config.typeDeclarationNodes.filter((t) => STATIC_IMPLYING_OWNER_TYPES.has(t) && !config.staticOwnerTypes.has(t));
|
|
48
|
+
// Explicit empty Set is the opt-out signal; don't second-guess it.
|
|
49
|
+
if (missing.length > 0 && config.staticOwnerTypes.size > 0) {
|
|
50
|
+
throw new Error(`[MethodExtractionConfig:${config.language}] typeDeclarationNodes includes static-implying owner type(s) ` +
|
|
51
|
+
`${JSON.stringify(missing)} that are missing from staticOwnerTypes. ` +
|
|
52
|
+
`Either add them to staticOwnerTypes, or set 'staticOwnerTypes: new Set()' to opt out explicitly.`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
const typeDeclarationSet = new Set(config.typeDeclarationNodes);
|
|
56
|
+
const methodNodeSet = new Set(config.methodNodeTypes);
|
|
57
|
+
const bodyNodeSet = new Set(config.bodyNodeTypes);
|
|
58
|
+
return {
|
|
59
|
+
language: config.language,
|
|
60
|
+
isTypeDeclaration(node) {
|
|
61
|
+
return typeDeclarationSet.has(node.type);
|
|
62
|
+
},
|
|
63
|
+
extract(node, context) {
|
|
64
|
+
if (!typeDeclarationSet.has(node.type))
|
|
65
|
+
return null;
|
|
66
|
+
// Resolve owner name: config hook → field-based → type_identifier → simple_identifier → "Companion"
|
|
67
|
+
let ownerName;
|
|
68
|
+
if (config.extractOwnerName) {
|
|
69
|
+
ownerName = config.extractOwnerName(node);
|
|
70
|
+
}
|
|
71
|
+
if (!ownerName) {
|
|
72
|
+
const nameField = node.childForFieldName('name');
|
|
73
|
+
if (nameField) {
|
|
74
|
+
ownerName = nameField.text;
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
for (let i = 0; i < node.namedChildCount; i++) {
|
|
78
|
+
const child = node.namedChild(i);
|
|
79
|
+
if (child &&
|
|
80
|
+
(child.type === 'type_identifier' ||
|
|
81
|
+
child.type === 'simple_identifier' ||
|
|
82
|
+
child.type === 'identifier')) {
|
|
83
|
+
ownerName = child.text;
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// Unnamed companion objects use "Companion" (Kotlin convention)
|
|
90
|
+
if (!ownerName && node.type === 'companion_object') {
|
|
91
|
+
ownerName = 'Companion';
|
|
92
|
+
}
|
|
93
|
+
if (!ownerName)
|
|
94
|
+
return null;
|
|
95
|
+
const methods = [];
|
|
96
|
+
const bodies = findBodies(node, bodyNodeSet);
|
|
97
|
+
for (const body of bodies) {
|
|
98
|
+
extractMethodsFromBody(body, node, context, config, methodNodeSet, methods);
|
|
99
|
+
}
|
|
100
|
+
// Extract primary constructor from the owner node itself (e.g. C# 12)
|
|
101
|
+
if (config.extractPrimaryConstructor) {
|
|
102
|
+
const primaryCtor = config.extractPrimaryConstructor(node, context);
|
|
103
|
+
if (primaryCtor)
|
|
104
|
+
methods.push(primaryCtor);
|
|
105
|
+
}
|
|
106
|
+
return { ownerName, methods };
|
|
107
|
+
},
|
|
108
|
+
extractFromNode(node, context) {
|
|
109
|
+
if (!methodNodeSet.has(node.type))
|
|
110
|
+
return null;
|
|
111
|
+
return buildMethod(node, node, context, config);
|
|
112
|
+
},
|
|
113
|
+
...(config.extractFunctionName ? { extractFunctionName: config.extractFunctionName } : {}),
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
function findBodies(node, bodyNodeSet) {
|
|
117
|
+
const result = [];
|
|
118
|
+
const bodyField = node.childForFieldName('body');
|
|
119
|
+
if (bodyField && bodyNodeSet.has(bodyField.type)) {
|
|
120
|
+
result.push(bodyField);
|
|
121
|
+
addNestedBodies(bodyField, bodyNodeSet, result);
|
|
122
|
+
return result;
|
|
123
|
+
}
|
|
124
|
+
for (let i = 0; i < node.namedChildCount; i++) {
|
|
125
|
+
const child = node.namedChild(i);
|
|
126
|
+
if (child && bodyNodeSet.has(child.type)) {
|
|
127
|
+
result.push(child);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
if (result.length === 0 && bodyField) {
|
|
131
|
+
// Fallback: body field exists but its type is not in bodyNodeTypes.
|
|
132
|
+
// This may indicate a config typo — log for debugging if NODE_ENV is development.
|
|
133
|
+
if (process.env.NODE_ENV === 'development') {
|
|
134
|
+
logger_js_1.logger.warn(`[MethodExtractor] body field type '${bodyField.type}' not in bodyNodeTypes for node '${node.type}'`);
|
|
135
|
+
}
|
|
136
|
+
result.push(bodyField);
|
|
137
|
+
addNestedBodies(bodyField, bodyNodeSet, result);
|
|
138
|
+
}
|
|
139
|
+
return result;
|
|
140
|
+
}
|
|
141
|
+
function addNestedBodies(parent, bodyNodeSet, out, seen) {
|
|
142
|
+
const visited = seen ?? new Set(out);
|
|
143
|
+
for (let i = 0; i < parent.namedChildCount; i++) {
|
|
144
|
+
const child = parent.namedChild(i);
|
|
145
|
+
if (child && bodyNodeSet.has(child.type) && !visited.has(child)) {
|
|
146
|
+
visited.add(child);
|
|
147
|
+
out.push(child);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
function extractMethodsFromBody(body, ownerNode, context, config, methodNodeSet, out) {
|
|
152
|
+
for (let i = 0; i < body.namedChildCount; i++) {
|
|
153
|
+
let child = body.namedChild(i);
|
|
154
|
+
if (!child)
|
|
155
|
+
continue;
|
|
156
|
+
// C++ template methods are wrapped in template_declaration — unwrap to the inner node
|
|
157
|
+
if (child.type === 'template_declaration') {
|
|
158
|
+
const inner = child.namedChildren.find((c) => methodNodeSet.has(c.type));
|
|
159
|
+
if (inner)
|
|
160
|
+
child = inner;
|
|
161
|
+
}
|
|
162
|
+
if (methodNodeSet.has(child.type)) {
|
|
163
|
+
const method = buildMethod(child, ownerNode, context, config);
|
|
164
|
+
if (method)
|
|
165
|
+
out.push(method);
|
|
166
|
+
}
|
|
167
|
+
// Recurse into enum constant anonymous class bodies
|
|
168
|
+
if (child.type === 'enum_constant') {
|
|
169
|
+
for (let j = 0; j < child.namedChildCount; j++) {
|
|
170
|
+
const innerBody = child.namedChild(j);
|
|
171
|
+
if (innerBody && innerBody.type === 'class_body') {
|
|
172
|
+
extractMethodsFromBody(innerBody, ownerNode, context, config, methodNodeSet, out);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
function buildMethod(node, ownerNode, context, config) {
|
|
179
|
+
const name = config.extractName(node);
|
|
180
|
+
if (!name)
|
|
181
|
+
return null;
|
|
182
|
+
const isAbstract = config.isAbstract(node, ownerNode);
|
|
183
|
+
let isFinal = config.isFinal(node);
|
|
184
|
+
// Domain invariant: abstract methods cannot be final
|
|
185
|
+
if (isAbstract)
|
|
186
|
+
isFinal = false;
|
|
187
|
+
// Static-owner detection is config-driven: each language declares which
|
|
188
|
+
// container node types imply static (e.g. Ruby singleton_class, Kotlin companion_object).
|
|
189
|
+
const isStatic = (config.staticOwnerTypes?.has(ownerNode.type) ?? false) || config.isStatic(node);
|
|
190
|
+
return {
|
|
191
|
+
name,
|
|
192
|
+
receiverType: config.extractReceiverType?.(node) ?? null,
|
|
193
|
+
returnType: config.extractReturnType(node) ?? null,
|
|
194
|
+
parameters: config.extractParameters(node),
|
|
195
|
+
visibility: config.extractVisibility(node),
|
|
196
|
+
isStatic,
|
|
197
|
+
isAbstract,
|
|
198
|
+
isFinal,
|
|
199
|
+
...(config.isVirtual?.(node) ? { isVirtual: true } : {}),
|
|
200
|
+
...(config.isOverride?.(node) ? { isOverride: true } : {}),
|
|
201
|
+
...(config.isAsync?.(node) ? { isAsync: true } : {}),
|
|
202
|
+
...(config.isPartial?.(node) ? { isPartial: true } : {}),
|
|
203
|
+
...(config.isConst?.(node) ? { isConst: true } : {}),
|
|
204
|
+
...(config.isDeleted?.(node) ? { isDeleted: true } : {}),
|
|
205
|
+
annotations: config.extractAnnotations?.(node) ?? [],
|
|
206
|
+
sourceFile: context.filePath,
|
|
207
|
+
line: node.startPosition.row + 1,
|
|
208
|
+
};
|
|
209
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Field Registry
|
|
4
|
+
*
|
|
5
|
+
* Owner-scoped field/property index extracted from SymbolTable.
|
|
6
|
+
* Stores Property / Variable / Const / Static symbols keyed by
|
|
7
|
+
* `ownerNodeId\0fieldName` for O(1) lookup. Supports multiple defs
|
|
8
|
+
* under the same (owner, name) — e.g. legacy Property plus a
|
|
9
|
+
* scope-resolution Variable reconciliation entry.
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.createFieldRegistry = void 0;
|
|
13
|
+
const EMPTY = Object.freeze([]);
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
// Factory
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
const createFieldRegistry = () => {
|
|
18
|
+
const fieldByOwner = new Map();
|
|
19
|
+
const lookupAllByOwner = (ownerNodeId, fieldName) => {
|
|
20
|
+
return fieldByOwner.get(`${ownerNodeId}\0${fieldName}`) ?? EMPTY;
|
|
21
|
+
};
|
|
22
|
+
const lookupFieldByOwner = (ownerNodeId, fieldName) => {
|
|
23
|
+
const pool = lookupAllByOwner(ownerNodeId, fieldName);
|
|
24
|
+
return pool.length === 0 ? undefined : pool[0];
|
|
25
|
+
};
|
|
26
|
+
const register = (ownerNodeId, fieldName, def) => {
|
|
27
|
+
const key = `${ownerNodeId}\0${fieldName}`;
|
|
28
|
+
const existing = fieldByOwner.get(key);
|
|
29
|
+
if (existing) {
|
|
30
|
+
existing.push(def);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
fieldByOwner.set(key, [def]);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
const clear = () => {
|
|
37
|
+
fieldByOwner.clear();
|
|
38
|
+
};
|
|
39
|
+
return { lookupFieldByOwner, lookupAllByOwner, register, clear };
|
|
40
|
+
};
|
|
41
|
+
exports.createFieldRegistry = createFieldRegistry;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Semantic Model — public module surface.
|
|
4
|
+
*
|
|
5
|
+
* Barrel re-export for the `model/` module. Consumers outside `model/`
|
|
6
|
+
* should import from this file rather than reaching into individual
|
|
7
|
+
* registry files.
|
|
8
|
+
*
|
|
9
|
+
* The model is owner-scoped type/method/field knowledge layered above
|
|
10
|
+
* `SymbolTable`. File-indexed and name-keyed callable lookups stay in
|
|
11
|
+
* `SymbolTable` by design.
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.ALL_NODE_LABELS = exports.DISPATCH_LABELS = exports.INERT_LABELS = exports.CALLABLE_ONLY_LABELS = exports.createFieldRegistry = exports.createMethodRegistry = exports.createTypeRegistry = exports.CALL_TARGET_TYPES = exports.FREE_CALLABLE_TUPLE = exports.FREE_CALLABLE_TYPES = exports.CLASS_TYPES_TUPLE = exports.CLASS_TYPES = exports.createSymbolTable = exports.createSemanticModel = void 0;
|
|
15
|
+
// Unified semantic model (factory + interfaces). SemanticModel is the
|
|
16
|
+
// top-level container and owns the file/callable SymbolTable as a
|
|
17
|
+
// nested `symbols` field.
|
|
18
|
+
var semantic_model_js_1 = require("./semantic-model.js");
|
|
19
|
+
Object.defineProperty(exports, "createSemanticModel", { enumerable: true, get: function () { return semantic_model_js_1.createSemanticModel; } });
|
|
20
|
+
// SymbolTable is exclusively owned by SemanticModel. Re-exported here
|
|
21
|
+
// for the rare caller that needs the file/callable interface in
|
|
22
|
+
// isolation (e.g. tests).
|
|
23
|
+
var symbol_table_js_1 = require("./symbol-table.js");
|
|
24
|
+
Object.defineProperty(exports, "createSymbolTable", { enumerable: true, get: function () { return symbol_table_js_1.createSymbolTable; } });
|
|
25
|
+
Object.defineProperty(exports, "CLASS_TYPES", { enumerable: true, get: function () { return symbol_table_js_1.CLASS_TYPES; } });
|
|
26
|
+
Object.defineProperty(exports, "CLASS_TYPES_TUPLE", { enumerable: true, get: function () { return symbol_table_js_1.CLASS_TYPES_TUPLE; } });
|
|
27
|
+
Object.defineProperty(exports, "FREE_CALLABLE_TYPES", { enumerable: true, get: function () { return symbol_table_js_1.FREE_CALLABLE_TYPES; } });
|
|
28
|
+
Object.defineProperty(exports, "FREE_CALLABLE_TUPLE", { enumerable: true, get: function () { return symbol_table_js_1.FREE_CALLABLE_TUPLE; } });
|
|
29
|
+
Object.defineProperty(exports, "CALL_TARGET_TYPES", { enumerable: true, get: function () { return symbol_table_js_1.CALL_TARGET_TYPES; } });
|
|
30
|
+
// `SymbolDefinition` moved to `cgraph-shared` (RFC #909 Ring 1 #910).
|
|
31
|
+
// Consumers should import it directly from `cgraph-shared`, not via this barrel.
|
|
32
|
+
// Type registry (classes, structs, interfaces, enums, records, impls)
|
|
33
|
+
var type_registry_js_1 = require("./type-registry.js");
|
|
34
|
+
Object.defineProperty(exports, "createTypeRegistry", { enumerable: true, get: function () { return type_registry_js_1.createTypeRegistry; } });
|
|
35
|
+
// Method registry (owner-scoped methods with arity-aware overload lookup)
|
|
36
|
+
var method_registry_js_1 = require("./method-registry.js");
|
|
37
|
+
Object.defineProperty(exports, "createMethodRegistry", { enumerable: true, get: function () { return method_registry_js_1.createMethodRegistry; } });
|
|
38
|
+
// Field registry (owner-scoped fields/properties)
|
|
39
|
+
var field_registry_js_1 = require("./field-registry.js");
|
|
40
|
+
Object.defineProperty(exports, "createFieldRegistry", { enumerable: true, get: function () { return field_registry_js_1.createFieldRegistry; } });
|
|
41
|
+
// Behavior-grouped dispatch table for SymbolTable.add() routing.
|
|
42
|
+
// See registration-table.ts module JSDoc for the behavior group taxonomy
|
|
43
|
+
// and "how to add a new NodeLabel" checklist.
|
|
44
|
+
// NOTE: createRegistrationTable, RegistrationHook, and RegistrationTableDeps
|
|
45
|
+
// are deliberately NOT re-exported here — they are factory internals of
|
|
46
|
+
// SemanticModel and should only be imported directly from registration-table.js
|
|
47
|
+
// by semantic-model.ts and the registration-table.test.ts file.
|
|
48
|
+
var registration_table_js_1 = require("./registration-table.js");
|
|
49
|
+
Object.defineProperty(exports, "CALLABLE_ONLY_LABELS", { enumerable: true, get: function () { return registration_table_js_1.CALLABLE_ONLY_LABELS; } });
|
|
50
|
+
Object.defineProperty(exports, "INERT_LABELS", { enumerable: true, get: function () { return registration_table_js_1.INERT_LABELS; } });
|
|
51
|
+
Object.defineProperty(exports, "DISPATCH_LABELS", { enumerable: true, get: function () { return registration_table_js_1.DISPATCH_LABELS; } });
|
|
52
|
+
Object.defineProperty(exports, "ALL_NODE_LABELS", { enumerable: true, get: function () { return registration_table_js_1.ALL_NODE_LABELS; } });
|