@codragraph/cli 1.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +341 -0
- package/dist/_shared/graph/types.d.ts +81 -0
- package/dist/_shared/graph/types.d.ts.map +1 -0
- package/dist/_shared/graph/types.js +8 -0
- package/dist/_shared/graph/types.js.map +1 -0
- package/dist/_shared/index.d.ts +55 -0
- package/dist/_shared/index.d.ts.map +1 -0
- package/dist/_shared/index.js +39 -0
- package/dist/_shared/index.js.map +1 -0
- package/dist/_shared/language-detection.d.ts +23 -0
- package/dist/_shared/language-detection.d.ts.map +1 -0
- package/dist/_shared/language-detection.js +139 -0
- package/dist/_shared/language-detection.js.map +1 -0
- package/dist/_shared/languages.d.ts +26 -0
- package/dist/_shared/languages.d.ts.map +1 -0
- package/dist/_shared/languages.js +27 -0
- package/dist/_shared/languages.js.map +1 -0
- package/dist/_shared/lbug/schema-constants.d.ts +16 -0
- package/dist/_shared/lbug/schema-constants.d.ts.map +1 -0
- package/dist/_shared/lbug/schema-constants.js +67 -0
- package/dist/_shared/lbug/schema-constants.js.map +1 -0
- package/dist/_shared/mro-strategy.d.ts +41 -0
- package/dist/_shared/mro-strategy.d.ts.map +1 -0
- package/dist/_shared/mro-strategy.js +2 -0
- package/dist/_shared/mro-strategy.js.map +1 -0
- package/dist/_shared/pipeline.d.ts +16 -0
- package/dist/_shared/pipeline.d.ts.map +1 -0
- package/dist/_shared/pipeline.js +5 -0
- package/dist/_shared/pipeline.js.map +1 -0
- package/dist/_shared/scope-resolution/def-index.d.ts +36 -0
- package/dist/_shared/scope-resolution/def-index.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/def-index.js +51 -0
- package/dist/_shared/scope-resolution/def-index.js.map +1 -0
- package/dist/_shared/scope-resolution/evidence-weights.d.ts +69 -0
- package/dist/_shared/scope-resolution/evidence-weights.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/evidence-weights.js +84 -0
- package/dist/_shared/scope-resolution/evidence-weights.js.map +1 -0
- package/dist/_shared/scope-resolution/finalize-algorithm.d.ts +139 -0
- package/dist/_shared/scope-resolution/finalize-algorithm.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/finalize-algorithm.js +479 -0
- package/dist/_shared/scope-resolution/finalize-algorithm.js.map +1 -0
- package/dist/_shared/scope-resolution/language-classification.d.ts +26 -0
- package/dist/_shared/scope-resolution/language-classification.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/language-classification.js +44 -0
- package/dist/_shared/scope-resolution/language-classification.js.map +1 -0
- package/dist/_shared/scope-resolution/method-dispatch-index.d.ts +80 -0
- package/dist/_shared/scope-resolution/method-dispatch-index.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/method-dispatch-index.js +79 -0
- package/dist/_shared/scope-resolution/method-dispatch-index.js.map +1 -0
- package/dist/_shared/scope-resolution/module-scope-index.d.ts +46 -0
- package/dist/_shared/scope-resolution/module-scope-index.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/module-scope-index.js +58 -0
- package/dist/_shared/scope-resolution/module-scope-index.js.map +1 -0
- package/dist/_shared/scope-resolution/origin-priority.d.ts +14 -0
- package/dist/_shared/scope-resolution/origin-priority.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/origin-priority.js +21 -0
- package/dist/_shared/scope-resolution/origin-priority.js.map +1 -0
- package/dist/_shared/scope-resolution/parsed-file.d.ts +76 -0
- package/dist/_shared/scope-resolution/parsed-file.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/parsed-file.js +54 -0
- package/dist/_shared/scope-resolution/parsed-file.js.map +1 -0
- package/dist/_shared/scope-resolution/position-index.d.ts +62 -0
- package/dist/_shared/scope-resolution/position-index.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/position-index.js +134 -0
- package/dist/_shared/scope-resolution/position-index.js.map +1 -0
- package/dist/_shared/scope-resolution/qualified-name-index.d.ts +44 -0
- package/dist/_shared/scope-resolution/qualified-name-index.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/qualified-name-index.js +75 -0
- package/dist/_shared/scope-resolution/qualified-name-index.js.map +1 -0
- package/dist/_shared/scope-resolution/reference-site.d.ts +75 -0
- package/dist/_shared/scope-resolution/reference-site.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/reference-site.js +24 -0
- package/dist/_shared/scope-resolution/reference-site.js.map +1 -0
- package/dist/_shared/scope-resolution/registries/class-registry.d.ts +27 -0
- package/dist/_shared/scope-resolution/registries/class-registry.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/registries/class-registry.js +30 -0
- package/dist/_shared/scope-resolution/registries/class-registry.js.map +1 -0
- package/dist/_shared/scope-resolution/registries/context.d.ts +69 -0
- package/dist/_shared/scope-resolution/registries/context.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/registries/context.js +44 -0
- package/dist/_shared/scope-resolution/registries/context.js.map +1 -0
- package/dist/_shared/scope-resolution/registries/evidence.d.ts +56 -0
- package/dist/_shared/scope-resolution/registries/evidence.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/registries/evidence.js +150 -0
- package/dist/_shared/scope-resolution/registries/evidence.js.map +1 -0
- package/dist/_shared/scope-resolution/registries/field-registry.d.ts +26 -0
- package/dist/_shared/scope-resolution/registries/field-registry.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/registries/field-registry.js +31 -0
- package/dist/_shared/scope-resolution/registries/field-registry.js.map +1 -0
- package/dist/_shared/scope-resolution/registries/lookup-core.d.ts +81 -0
- package/dist/_shared/scope-resolution/registries/lookup-core.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/registries/lookup-core.js +332 -0
- package/dist/_shared/scope-resolution/registries/lookup-core.js.map +1 -0
- package/dist/_shared/scope-resolution/registries/lookup-qualified.d.ts +33 -0
- package/dist/_shared/scope-resolution/registries/lookup-qualified.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/registries/lookup-qualified.js +56 -0
- package/dist/_shared/scope-resolution/registries/lookup-qualified.js.map +1 -0
- package/dist/_shared/scope-resolution/registries/method-registry.d.ts +36 -0
- package/dist/_shared/scope-resolution/registries/method-registry.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/registries/method-registry.js +32 -0
- package/dist/_shared/scope-resolution/registries/method-registry.js.map +1 -0
- package/dist/_shared/scope-resolution/registries/tie-breaks.d.ts +43 -0
- package/dist/_shared/scope-resolution/registries/tie-breaks.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/registries/tie-breaks.js +60 -0
- package/dist/_shared/scope-resolution/registries/tie-breaks.js.map +1 -0
- package/dist/_shared/scope-resolution/resolve-type-ref.d.ts +53 -0
- package/dist/_shared/scope-resolution/resolve-type-ref.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/resolve-type-ref.js +126 -0
- package/dist/_shared/scope-resolution/resolve-type-ref.js.map +1 -0
- package/dist/_shared/scope-resolution/scope-id.d.ts +43 -0
- package/dist/_shared/scope-resolution/scope-id.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/scope-id.js +46 -0
- package/dist/_shared/scope-resolution/scope-id.js.map +1 -0
- package/dist/_shared/scope-resolution/scope-tree.d.ts +61 -0
- package/dist/_shared/scope-resolution/scope-tree.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/scope-tree.js +186 -0
- package/dist/_shared/scope-resolution/scope-tree.js.map +1 -0
- package/dist/_shared/scope-resolution/shadow/aggregate.d.ts +63 -0
- package/dist/_shared/scope-resolution/shadow/aggregate.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/shadow/aggregate.js +122 -0
- package/dist/_shared/scope-resolution/shadow/aggregate.js.map +1 -0
- package/dist/_shared/scope-resolution/shadow/diff.d.ts +59 -0
- package/dist/_shared/scope-resolution/shadow/diff.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/shadow/diff.js +79 -0
- package/dist/_shared/scope-resolution/shadow/diff.js.map +1 -0
- package/dist/_shared/scope-resolution/symbol-definition.d.ts +34 -0
- package/dist/_shared/scope-resolution/symbol-definition.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/symbol-definition.js +12 -0
- package/dist/_shared/scope-resolution/symbol-definition.js.map +1 -0
- package/dist/_shared/scope-resolution/types.d.ts +356 -0
- package/dist/_shared/scope-resolution/types.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/types.js +17 -0
- package/dist/_shared/scope-resolution/types.js.map +1 -0
- package/dist/cli/ai-context.d.ts +27 -0
- package/dist/cli/ai-context.js +270 -0
- package/dist/cli/analyze.d.ts +43 -0
- package/dist/cli/analyze.js +312 -0
- package/dist/cli/augment.d.ts +13 -0
- package/dist/cli/augment.js +33 -0
- package/dist/cli/clean.d.ts +10 -0
- package/dist/cli/clean.js +78 -0
- package/dist/cli/config.d.ts +27 -0
- package/dist/cli/config.js +106 -0
- package/dist/cli/eval-server.d.ts +37 -0
- package/dist/cli/eval-server.js +398 -0
- package/dist/cli/graphstore.d.ts +40 -0
- package/dist/cli/graphstore.js +639 -0
- package/dist/cli/group.d.ts +2 -0
- package/dist/cli/group.js +306 -0
- package/dist/cli/index-repo.d.ts +15 -0
- package/dist/cli/index-repo.js +120 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.js +236 -0
- package/dist/cli/lazy-action.d.ts +6 -0
- package/dist/cli/lazy-action.js +18 -0
- package/dist/cli/list.d.ts +6 -0
- package/dist/cli/list.js +40 -0
- package/dist/cli/mcp.d.ts +8 -0
- package/dist/cli/mcp.js +36 -0
- package/dist/cli/remove.d.ts +30 -0
- package/dist/cli/remove.js +99 -0
- package/dist/cli/serve.d.ts +4 -0
- package/dist/cli/serve.js +37 -0
- package/dist/cli/setup.d.ts +8 -0
- package/dist/cli/setup.js +543 -0
- package/dist/cli/skill-gen.d.ts +26 -0
- package/dist/cli/skill-gen.js +555 -0
- package/dist/cli/status.d.ts +6 -0
- package/dist/cli/status.js +36 -0
- package/dist/cli/tool.d.ts +43 -0
- package/dist/cli/tool.js +168 -0
- package/dist/cli/wiki.d.ts +21 -0
- package/dist/cli/wiki.js +579 -0
- package/dist/config/ignore-service.d.ts +35 -0
- package/dist/config/ignore-service.js +436 -0
- package/dist/config/supported-languages.d.ts +13 -0
- package/dist/config/supported-languages.js +13 -0
- package/dist/core/augmentation/engine.d.ts +26 -0
- package/dist/core/augmentation/engine.js +252 -0
- package/dist/core/embeddings/ast-utils.d.ts +22 -0
- package/dist/core/embeddings/ast-utils.js +105 -0
- package/dist/core/embeddings/character-chunk.d.ts +12 -0
- package/dist/core/embeddings/character-chunk.js +43 -0
- package/dist/core/embeddings/chunker.d.ts +14 -0
- package/dist/core/embeddings/chunker.js +239 -0
- package/dist/core/embeddings/embedder.d.ts +65 -0
- package/dist/core/embeddings/embedder.js +320 -0
- package/dist/core/embeddings/embedding-pipeline.d.ts +62 -0
- package/dist/core/embeddings/embedding-pipeline.js +486 -0
- package/dist/core/embeddings/http-client.d.ts +31 -0
- package/dist/core/embeddings/http-client.js +179 -0
- package/dist/core/embeddings/index.d.ts +10 -0
- package/dist/core/embeddings/index.js +10 -0
- package/dist/core/embeddings/line-index.d.ts +7 -0
- package/dist/core/embeddings/line-index.js +42 -0
- package/dist/core/embeddings/server-mapping.d.ts +15 -0
- package/dist/core/embeddings/server-mapping.js +33 -0
- package/dist/core/embeddings/structural-extractor.d.ts +15 -0
- package/dist/core/embeddings/structural-extractor.js +58 -0
- package/dist/core/embeddings/text-generator.d.ts +31 -0
- package/dist/core/embeddings/text-generator.js +208 -0
- package/dist/core/embeddings/types.d.ts +207 -0
- package/dist/core/embeddings/types.js +200 -0
- package/dist/core/git-staleness.d.ts +31 -0
- package/dist/core/git-staleness.js +137 -0
- package/dist/core/graph/graph.d.ts +2 -0
- package/dist/core/graph/graph.js +173 -0
- package/dist/core/graph/types.d.ts +36 -0
- package/dist/core/graph/types.js +1 -0
- package/dist/core/graphstore/index.d.ts +46 -0
- package/dist/core/graphstore/index.js +80 -0
- package/dist/core/graphstore/lbug-row-source.d.ts +19 -0
- package/dist/core/graphstore/lbug-row-source.js +141 -0
- package/dist/core/group/bridge-db.d.ts +82 -0
- package/dist/core/group/bridge-db.js +460 -0
- package/dist/core/group/bridge-schema.d.ts +27 -0
- package/dist/core/group/bridge-schema.js +55 -0
- package/dist/core/group/config-parser.d.ts +7 -0
- package/dist/core/group/config-parser.js +100 -0
- package/dist/core/group/contract-extractor.d.ts +7 -0
- package/dist/core/group/contract-extractor.js +1 -0
- package/dist/core/group/cross-impact.d.ts +41 -0
- package/dist/core/group/cross-impact.js +441 -0
- package/dist/core/group/extractors/fs-utils.d.ts +10 -0
- package/dist/core/group/extractors/fs-utils.js +24 -0
- package/dist/core/group/extractors/grpc-extractor.d.ts +25 -0
- package/dist/core/group/extractors/grpc-extractor.js +401 -0
- package/dist/core/group/extractors/grpc-patterns/go.d.ts +2 -0
- package/dist/core/group/extractors/grpc-patterns/go.js +97 -0
- package/dist/core/group/extractors/grpc-patterns/index.d.ts +19 -0
- package/dist/core/group/extractors/grpc-patterns/index.js +46 -0
- package/dist/core/group/extractors/grpc-patterns/java.d.ts +2 -0
- package/dist/core/group/extractors/grpc-patterns/java.js +173 -0
- package/dist/core/group/extractors/grpc-patterns/node.d.ts +4 -0
- package/dist/core/group/extractors/grpc-patterns/node.js +290 -0
- package/dist/core/group/extractors/grpc-patterns/proto.d.ts +9 -0
- package/dist/core/group/extractors/grpc-patterns/proto.js +134 -0
- package/dist/core/group/extractors/grpc-patterns/python.d.ts +2 -0
- package/dist/core/group/extractors/grpc-patterns/python.js +67 -0
- package/dist/core/group/extractors/grpc-patterns/types.d.ts +50 -0
- package/dist/core/group/extractors/grpc-patterns/types.js +1 -0
- package/dist/core/group/extractors/http-patterns/go.d.ts +2 -0
- package/dist/core/group/extractors/http-patterns/go.js +215 -0
- package/dist/core/group/extractors/http-patterns/index.d.ts +17 -0
- package/dist/core/group/extractors/http-patterns/index.js +44 -0
- package/dist/core/group/extractors/http-patterns/java.d.ts +2 -0
- package/dist/core/group/extractors/http-patterns/java.js +253 -0
- package/dist/core/group/extractors/http-patterns/node.d.ts +4 -0
- package/dist/core/group/extractors/http-patterns/node.js +484 -0
- package/dist/core/group/extractors/http-patterns/php.d.ts +2 -0
- package/dist/core/group/extractors/http-patterns/php.js +178 -0
- package/dist/core/group/extractors/http-patterns/python.d.ts +2 -0
- package/dist/core/group/extractors/http-patterns/python.js +133 -0
- package/dist/core/group/extractors/http-patterns/types.d.ts +61 -0
- package/dist/core/group/extractors/http-patterns/types.js +1 -0
- package/dist/core/group/extractors/http-route-extractor.d.ts +21 -0
- package/dist/core/group/extractors/http-route-extractor.js +421 -0
- package/dist/core/group/extractors/manifest-extractor.d.ts +54 -0
- package/dist/core/group/extractors/manifest-extractor.js +292 -0
- package/dist/core/group/extractors/topic-extractor.d.ts +8 -0
- package/dist/core/group/extractors/topic-extractor.js +97 -0
- package/dist/core/group/extractors/topic-patterns/go.d.ts +2 -0
- package/dist/core/group/extractors/topic-patterns/go.js +120 -0
- package/dist/core/group/extractors/topic-patterns/index.d.ts +14 -0
- package/dist/core/group/extractors/topic-patterns/index.js +38 -0
- package/dist/core/group/extractors/topic-patterns/java.d.ts +2 -0
- package/dist/core/group/extractors/topic-patterns/java.js +80 -0
- package/dist/core/group/extractors/topic-patterns/node.d.ts +4 -0
- package/dist/core/group/extractors/topic-patterns/node.js +155 -0
- package/dist/core/group/extractors/topic-patterns/python.d.ts +2 -0
- package/dist/core/group/extractors/topic-patterns/python.js +116 -0
- package/dist/core/group/extractors/topic-patterns/types.d.ts +25 -0
- package/dist/core/group/extractors/topic-patterns/types.js +10 -0
- package/dist/core/group/extractors/tree-sitter-scanner.d.ts +113 -0
- package/dist/core/group/extractors/tree-sitter-scanner.js +94 -0
- package/dist/core/group/group-path-utils.d.ts +17 -0
- package/dist/core/group/group-path-utils.js +40 -0
- package/dist/core/group/matching.d.ts +13 -0
- package/dist/core/group/matching.js +198 -0
- package/dist/core/group/normalization.d.ts +3 -0
- package/dist/core/group/normalization.js +115 -0
- package/dist/core/group/resolve-at-member.d.ts +10 -0
- package/dist/core/group/resolve-at-member.js +31 -0
- package/dist/core/group/service-boundary-detector.d.ts +8 -0
- package/dist/core/group/service-boundary-detector.js +155 -0
- package/dist/core/group/service.d.ts +55 -0
- package/dist/core/group/service.js +394 -0
- package/dist/core/group/storage.d.ts +9 -0
- package/dist/core/group/storage.js +91 -0
- package/dist/core/group/sync.d.ts +21 -0
- package/dist/core/group/sync.js +196 -0
- package/dist/core/group/types.d.ts +160 -0
- package/dist/core/group/types.js +1 -0
- package/dist/core/ingestion/ast-cache.d.ts +26 -0
- package/dist/core/ingestion/ast-cache.js +47 -0
- package/dist/core/ingestion/binding-accumulator.d.ts +212 -0
- package/dist/core/ingestion/binding-accumulator.js +336 -0
- package/dist/core/ingestion/call-extractors/configs/c-cpp.d.ts +3 -0
- package/dist/core/ingestion/call-extractors/configs/c-cpp.js +8 -0
- package/dist/core/ingestion/call-extractors/configs/csharp.d.ts +2 -0
- package/dist/core/ingestion/call-extractors/configs/csharp.js +6 -0
- package/dist/core/ingestion/call-extractors/configs/dart.d.ts +2 -0
- package/dist/core/ingestion/call-extractors/configs/dart.js +5 -0
- package/dist/core/ingestion/call-extractors/configs/go.d.ts +2 -0
- package/dist/core/ingestion/call-extractors/configs/go.js +5 -0
- package/dist/core/ingestion/call-extractors/configs/jvm.d.ts +3 -0
- package/dist/core/ingestion/call-extractors/configs/jvm.js +51 -0
- package/dist/core/ingestion/call-extractors/configs/php.d.ts +2 -0
- package/dist/core/ingestion/call-extractors/configs/php.js +5 -0
- package/dist/core/ingestion/call-extractors/configs/python.d.ts +2 -0
- package/dist/core/ingestion/call-extractors/configs/python.js +5 -0
- package/dist/core/ingestion/call-extractors/configs/ruby.d.ts +2 -0
- package/dist/core/ingestion/call-extractors/configs/ruby.js +5 -0
- package/dist/core/ingestion/call-extractors/configs/rust.d.ts +2 -0
- package/dist/core/ingestion/call-extractors/configs/rust.js +5 -0
- package/dist/core/ingestion/call-extractors/configs/swift.d.ts +2 -0
- package/dist/core/ingestion/call-extractors/configs/swift.js +5 -0
- package/dist/core/ingestion/call-extractors/configs/typescript-javascript.d.ts +3 -0
- package/dist/core/ingestion/call-extractors/configs/typescript-javascript.js +8 -0
- package/dist/core/ingestion/call-extractors/generic.d.ts +5 -0
- package/dist/core/ingestion/call-extractors/generic.js +59 -0
- package/dist/core/ingestion/call-processor.d.ts +235 -0
- package/dist/core/ingestion/call-processor.js +2639 -0
- package/dist/core/ingestion/call-routing.d.ts +55 -0
- package/dist/core/ingestion/call-routing.js +95 -0
- package/dist/core/ingestion/call-types.d.ts +135 -0
- package/dist/core/ingestion/call-types.js +2 -0
- package/dist/core/ingestion/class-extractors/configs/c-cpp.d.ts +3 -0
- package/dist/core/ingestion/class-extractors/configs/c-cpp.js +11 -0
- package/dist/core/ingestion/class-extractors/configs/csharp.d.ts +2 -0
- package/dist/core/ingestion/class-extractors/configs/csharp.js +21 -0
- package/dist/core/ingestion/class-extractors/configs/dart.d.ts +2 -0
- package/dist/core/ingestion/class-extractors/configs/dart.js +7 -0
- package/dist/core/ingestion/class-extractors/configs/go.d.ts +2 -0
- package/dist/core/ingestion/class-extractors/configs/go.js +20 -0
- package/dist/core/ingestion/class-extractors/configs/jvm.d.ts +3 -0
- package/dist/core/ingestion/class-extractors/configs/jvm.js +35 -0
- package/dist/core/ingestion/class-extractors/configs/php.d.ts +2 -0
- package/dist/core/ingestion/class-extractors/configs/php.js +7 -0
- package/dist/core/ingestion/class-extractors/configs/python.d.ts +2 -0
- package/dist/core/ingestion/class-extractors/configs/python.js +7 -0
- package/dist/core/ingestion/class-extractors/configs/ruby.d.ts +2 -0
- package/dist/core/ingestion/class-extractors/configs/ruby.js +7 -0
- package/dist/core/ingestion/class-extractors/configs/rust.d.ts +2 -0
- package/dist/core/ingestion/class-extractors/configs/rust.js +7 -0
- package/dist/core/ingestion/class-extractors/configs/swift.d.ts +2 -0
- package/dist/core/ingestion/class-extractors/configs/swift.js +18 -0
- package/dist/core/ingestion/class-extractors/configs/typescript-javascript.d.ts +4 -0
- package/dist/core/ingestion/class-extractors/configs/typescript-javascript.js +28 -0
- package/dist/core/ingestion/class-extractors/generic.d.ts +2 -0
- package/dist/core/ingestion/class-extractors/generic.js +135 -0
- package/dist/core/ingestion/class-types.d.ts +34 -0
- package/dist/core/ingestion/class-types.js +1 -0
- package/dist/core/ingestion/cluster-enricher.d.ts +38 -0
- package/dist/core/ingestion/cluster-enricher.js +168 -0
- package/dist/core/ingestion/cobol/cobol-copy-expander.d.ts +57 -0
- package/dist/core/ingestion/cobol/cobol-copy-expander.js +392 -0
- package/dist/core/ingestion/cobol/cobol-preprocessor.d.ts +210 -0
- package/dist/core/ingestion/cobol/cobol-preprocessor.js +1715 -0
- package/dist/core/ingestion/cobol/jcl-parser.d.ts +68 -0
- package/dist/core/ingestion/cobol/jcl-parser.js +217 -0
- package/dist/core/ingestion/cobol/jcl-processor.d.ts +33 -0
- package/dist/core/ingestion/cobol/jcl-processor.js +229 -0
- package/dist/core/ingestion/cobol-processor.d.ts +54 -0
- package/dist/core/ingestion/cobol-processor.js +1232 -0
- package/dist/core/ingestion/community-processor.d.ts +39 -0
- package/dist/core/ingestion/community-processor.js +318 -0
- package/dist/core/ingestion/constants.d.ts +16 -0
- package/dist/core/ingestion/constants.js +16 -0
- package/dist/core/ingestion/emit-references.d.ts +88 -0
- package/dist/core/ingestion/emit-references.js +229 -0
- package/dist/core/ingestion/entry-point-scoring.d.ts +58 -0
- package/dist/core/ingestion/entry-point-scoring.js +380 -0
- package/dist/core/ingestion/export-detection.d.ts +57 -0
- package/dist/core/ingestion/export-detection.js +233 -0
- package/dist/core/ingestion/field-extractor.d.ts +29 -0
- package/dist/core/ingestion/field-extractor.js +25 -0
- package/dist/core/ingestion/field-extractors/configs/c-cpp.d.ts +3 -0
- package/dist/core/ingestion/field-extractors/configs/c-cpp.js +104 -0
- package/dist/core/ingestion/field-extractors/configs/csharp.d.ts +8 -0
- package/dist/core/ingestion/field-extractors/configs/csharp.js +116 -0
- package/dist/core/ingestion/field-extractors/configs/dart.d.ts +8 -0
- package/dist/core/ingestion/field-extractors/configs/dart.js +78 -0
- package/dist/core/ingestion/field-extractors/configs/go.d.ts +11 -0
- package/dist/core/ingestion/field-extractors/configs/go.js +60 -0
- package/dist/core/ingestion/field-extractors/configs/helpers.d.ts +53 -0
- package/dist/core/ingestion/field-extractors/configs/helpers.js +158 -0
- package/dist/core/ingestion/field-extractors/configs/jvm.d.ts +3 -0
- package/dist/core/ingestion/field-extractors/configs/jvm.js +118 -0
- package/dist/core/ingestion/field-extractors/configs/php.d.ts +8 -0
- package/dist/core/ingestion/field-extractors/configs/php.js +65 -0
- package/dist/core/ingestion/field-extractors/configs/python.d.ts +12 -0
- package/dist/core/ingestion/field-extractors/configs/python.js +91 -0
- package/dist/core/ingestion/field-extractors/configs/ruby.d.ts +16 -0
- package/dist/core/ingestion/field-extractors/configs/ruby.js +76 -0
- package/dist/core/ingestion/field-extractors/configs/rust.d.ts +9 -0
- package/dist/core/ingestion/field-extractors/configs/rust.js +52 -0
- package/dist/core/ingestion/field-extractors/configs/swift.d.ts +8 -0
- package/dist/core/ingestion/field-extractors/configs/swift.js +65 -0
- package/dist/core/ingestion/field-extractors/configs/typescript-javascript.d.ts +3 -0
- package/dist/core/ingestion/field-extractors/configs/typescript-javascript.js +56 -0
- package/dist/core/ingestion/field-extractors/generic.d.ts +49 -0
- package/dist/core/ingestion/field-extractors/generic.js +117 -0
- package/dist/core/ingestion/field-extractors/typescript.d.ts +77 -0
- package/dist/core/ingestion/field-extractors/typescript.js +291 -0
- package/dist/core/ingestion/field-types.d.ts +61 -0
- package/dist/core/ingestion/field-types.js +2 -0
- package/dist/core/ingestion/filesystem-walker.d.ts +28 -0
- package/dist/core/ingestion/filesystem-walker.js +91 -0
- package/dist/core/ingestion/finalize-orchestrator.d.ts +63 -0
- package/dist/core/ingestion/finalize-orchestrator.js +139 -0
- package/dist/core/ingestion/framework-detection.d.ts +150 -0
- package/dist/core/ingestion/framework-detection.js +786 -0
- package/dist/core/ingestion/heritage-extractors/configs/go.d.ts +13 -0
- package/dist/core/ingestion/heritage-extractors/configs/go.js +20 -0
- package/dist/core/ingestion/heritage-extractors/configs/ruby.d.ts +18 -0
- package/dist/core/ingestion/heritage-extractors/configs/ruby.js +65 -0
- package/dist/core/ingestion/heritage-extractors/generic.d.ts +23 -0
- package/dist/core/ingestion/heritage-extractors/generic.js +47 -0
- package/dist/core/ingestion/heritage-processor.d.ts +54 -0
- package/dist/core/ingestion/heritage-processor.js +360 -0
- package/dist/core/ingestion/heritage-types.d.ts +73 -0
- package/dist/core/ingestion/heritage-types.js +2 -0
- package/dist/core/ingestion/import-processor.d.ts +23 -0
- package/dist/core/ingestion/import-processor.js +373 -0
- package/dist/core/ingestion/import-resolvers/configs/c-cpp.d.ts +7 -0
- package/dist/core/ingestion/import-resolvers/configs/c-cpp.js +14 -0
- package/dist/core/ingestion/import-resolvers/configs/csharp.d.ts +8 -0
- package/dist/core/ingestion/import-resolvers/configs/csharp.js +27 -0
- package/dist/core/ingestion/import-resolvers/configs/dart.d.ts +17 -0
- package/dist/core/ingestion/import-resolvers/configs/dart.js +54 -0
- package/dist/core/ingestion/import-resolvers/configs/go.d.ts +8 -0
- package/dist/core/ingestion/import-resolvers/configs/go.js +26 -0
- package/dist/core/ingestion/import-resolvers/configs/jvm.d.ts +13 -0
- package/dist/core/ingestion/import-resolvers/configs/jvm.js +68 -0
- package/dist/core/ingestion/import-resolvers/configs/php.d.ts +8 -0
- package/dist/core/ingestion/import-resolvers/configs/php.js +15 -0
- package/dist/core/ingestion/import-resolvers/configs/python.d.ts +12 -0
- package/dist/core/ingestion/import-resolvers/configs/python.js +41 -0
- package/dist/core/ingestion/import-resolvers/configs/ruby.d.ts +8 -0
- package/dist/core/ingestion/import-resolvers/configs/ruby.js +16 -0
- package/dist/core/ingestion/import-resolvers/configs/rust.d.ts +8 -0
- package/dist/core/ingestion/import-resolvers/configs/rust.js +54 -0
- package/dist/core/ingestion/import-resolvers/configs/swift.d.ts +8 -0
- package/dist/core/ingestion/import-resolvers/configs/swift.js +29 -0
- package/dist/core/ingestion/import-resolvers/configs/typescript-javascript.d.ts +9 -0
- package/dist/core/ingestion/import-resolvers/configs/typescript-javascript.js +23 -0
- package/dist/core/ingestion/import-resolvers/csharp.d.ts +18 -0
- package/dist/core/ingestion/import-resolvers/csharp.js +115 -0
- package/dist/core/ingestion/import-resolvers/go.d.ts +17 -0
- package/dist/core/ingestion/import-resolvers/go.js +46 -0
- package/dist/core/ingestion/import-resolvers/jvm.d.ts +27 -0
- package/dist/core/ingestion/import-resolvers/jvm.js +106 -0
- package/dist/core/ingestion/import-resolvers/php.d.ts +24 -0
- package/dist/core/ingestion/import-resolvers/php.js +77 -0
- package/dist/core/ingestion/import-resolvers/python.d.ts +22 -0
- package/dist/core/ingestion/import-resolvers/python.js +72 -0
- package/dist/core/ingestion/import-resolvers/resolver-factory.d.ts +24 -0
- package/dist/core/ingestion/import-resolvers/resolver-factory.js +33 -0
- package/dist/core/ingestion/import-resolvers/ruby.d.ts +14 -0
- package/dist/core/ingestion/import-resolvers/ruby.js +17 -0
- package/dist/core/ingestion/import-resolvers/rust.d.ts +17 -0
- package/dist/core/ingestion/import-resolvers/rust.js +75 -0
- package/dist/core/ingestion/import-resolvers/standard.d.ts +30 -0
- package/dist/core/ingestion/import-resolvers/standard.js +142 -0
- package/dist/core/ingestion/import-resolvers/types.d.ts +68 -0
- package/dist/core/ingestion/import-resolvers/types.js +6 -0
- package/dist/core/ingestion/import-resolvers/utils.d.ts +35 -0
- package/dist/core/ingestion/import-resolvers/utils.js +149 -0
- package/dist/core/ingestion/import-target-adapter.d.ts +73 -0
- package/dist/core/ingestion/import-target-adapter.js +95 -0
- package/dist/core/ingestion/language-config.d.ts +52 -0
- package/dist/core/ingestion/language-config.js +181 -0
- package/dist/core/ingestion/language-provider.d.ts +410 -0
- package/dist/core/ingestion/language-provider.js +24 -0
- package/dist/core/ingestion/languages/c-cpp.d.ts +12 -0
- package/dist/core/ingestion/languages/c-cpp.js +329 -0
- package/dist/core/ingestion/languages/cobol.d.ts +1 -0
- package/dist/core/ingestion/languages/cobol.js +26 -0
- package/dist/core/ingestion/languages/csharp/accessor-unwrap.d.ts +21 -0
- package/dist/core/ingestion/languages/csharp/accessor-unwrap.js +56 -0
- package/dist/core/ingestion/languages/csharp/arity-metadata.d.ts +26 -0
- package/dist/core/ingestion/languages/csharp/arity-metadata.js +46 -0
- package/dist/core/ingestion/languages/csharp/arity.d.ts +23 -0
- package/dist/core/ingestion/languages/csharp/arity.js +37 -0
- package/dist/core/ingestion/languages/csharp/cache-stats.d.ts +15 -0
- package/dist/core/ingestion/languages/csharp/cache-stats.js +26 -0
- package/dist/core/ingestion/languages/csharp/captures.d.ts +19 -0
- package/dist/core/ingestion/languages/csharp/captures.js +249 -0
- package/dist/core/ingestion/languages/csharp/import-decomposer.d.ts +19 -0
- package/dist/core/ingestion/languages/csharp/import-decomposer.js +93 -0
- package/dist/core/ingestion/languages/csharp/import-target.d.ts +25 -0
- package/dist/core/ingestion/languages/csharp/import-target.js +123 -0
- package/dist/core/ingestion/languages/csharp/index.d.ts +82 -0
- package/dist/core/ingestion/languages/csharp/index.js +82 -0
- package/dist/core/ingestion/languages/csharp/interpret.d.ts +15 -0
- package/dist/core/ingestion/languages/csharp/interpret.js +132 -0
- package/dist/core/ingestion/languages/csharp/merge-bindings.d.ts +27 -0
- package/dist/core/ingestion/languages/csharp/merge-bindings.js +55 -0
- package/dist/core/ingestion/languages/csharp/namespace-siblings.d.ts +50 -0
- package/dist/core/ingestion/languages/csharp/namespace-siblings.js +374 -0
- package/dist/core/ingestion/languages/csharp/query.d.ts +35 -0
- package/dist/core/ingestion/languages/csharp/query.js +515 -0
- package/dist/core/ingestion/languages/csharp/receiver-binding.d.ts +31 -0
- package/dist/core/ingestion/languages/csharp/receiver-binding.js +135 -0
- package/dist/core/ingestion/languages/csharp/scope-resolver.d.ts +10 -0
- package/dist/core/ingestion/languages/csharp/scope-resolver.js +63 -0
- package/dist/core/ingestion/languages/csharp/simple-hooks.d.ts +53 -0
- package/dist/core/ingestion/languages/csharp/simple-hooks.js +76 -0
- package/dist/core/ingestion/languages/csharp.d.ts +8 -0
- package/dist/core/ingestion/languages/csharp.js +152 -0
- package/dist/core/ingestion/languages/dart.d.ts +12 -0
- package/dist/core/ingestion/languages/dart.js +102 -0
- package/dist/core/ingestion/languages/go.d.ts +11 -0
- package/dist/core/ingestion/languages/go.js +44 -0
- package/dist/core/ingestion/languages/index.d.ts +39 -0
- package/dist/core/ingestion/languages/index.js +64 -0
- package/dist/core/ingestion/languages/java.d.ts +9 -0
- package/dist/core/ingestion/languages/java.js +44 -0
- package/dist/core/ingestion/languages/kotlin.d.ts +9 -0
- package/dist/core/ingestion/languages/kotlin.js +123 -0
- package/dist/core/ingestion/languages/php.d.ts +8 -0
- package/dist/core/ingestion/languages/php.js +240 -0
- package/dist/core/ingestion/languages/python/arity-metadata.d.ts +24 -0
- package/dist/core/ingestion/languages/python/arity-metadata.js +45 -0
- package/dist/core/ingestion/languages/python/arity.d.ts +22 -0
- package/dist/core/ingestion/languages/python/arity.js +38 -0
- package/dist/core/ingestion/languages/python/cache-stats.d.ts +17 -0
- package/dist/core/ingestion/languages/python/cache-stats.js +28 -0
- package/dist/core/ingestion/languages/python/captures.d.ts +19 -0
- package/dist/core/ingestion/languages/python/captures.js +106 -0
- package/dist/core/ingestion/languages/python/import-decomposer.d.ts +15 -0
- package/dist/core/ingestion/languages/python/import-decomposer.js +112 -0
- package/dist/core/ingestion/languages/python/import-target.d.ts +21 -0
- package/dist/core/ingestion/languages/python/import-target.js +99 -0
- package/dist/core/ingestion/languages/python/index.d.ts +80 -0
- package/dist/core/ingestion/languages/python/index.js +80 -0
- package/dist/core/ingestion/languages/python/interpret.d.ts +15 -0
- package/dist/core/ingestion/languages/python/interpret.js +191 -0
- package/dist/core/ingestion/languages/python/merge-bindings.d.ts +16 -0
- package/dist/core/ingestion/languages/python/merge-bindings.js +44 -0
- package/dist/core/ingestion/languages/python/query.d.ts +9 -0
- package/dist/core/ingestion/languages/python/query.js +267 -0
- package/dist/core/ingestion/languages/python/receiver-binding.d.ts +21 -0
- package/dist/core/ingestion/languages/python/receiver-binding.js +116 -0
- package/dist/core/ingestion/languages/python/scope-resolver.d.ts +16 -0
- package/dist/core/ingestion/languages/python/scope-resolver.js +53 -0
- package/dist/core/ingestion/languages/python/simple-hooks.d.ts +23 -0
- package/dist/core/ingestion/languages/python/simple-hooks.js +35 -0
- package/dist/core/ingestion/languages/python.d.ts +12 -0
- package/dist/core/ingestion/languages/python.js +91 -0
- package/dist/core/ingestion/languages/ruby.d.ts +9 -0
- package/dist/core/ingestion/languages/ruby.js +210 -0
- package/dist/core/ingestion/languages/rust.d.ts +12 -0
- package/dist/core/ingestion/languages/rust.js +132 -0
- package/dist/core/ingestion/languages/swift.d.ts +12 -0
- package/dist/core/ingestion/languages/swift.js +244 -0
- package/dist/core/ingestion/languages/typescript.d.ts +11 -0
- package/dist/core/ingestion/languages/typescript.js +184 -0
- package/dist/core/ingestion/languages/vue.d.ts +13 -0
- package/dist/core/ingestion/languages/vue.js +77 -0
- package/dist/core/ingestion/markdown-processor.d.ts +17 -0
- package/dist/core/ingestion/markdown-processor.js +124 -0
- package/dist/core/ingestion/method-extractors/configs/c-cpp.d.ts +3 -0
- package/dist/core/ingestion/method-extractors/configs/c-cpp.js +387 -0
- package/dist/core/ingestion/method-extractors/configs/csharp.d.ts +2 -0
- package/dist/core/ingestion/method-extractors/configs/csharp.js +287 -0
- package/dist/core/ingestion/method-extractors/configs/dart.d.ts +2 -0
- package/dist/core/ingestion/method-extractors/configs/dart.js +376 -0
- package/dist/core/ingestion/method-extractors/configs/go.d.ts +2 -0
- package/dist/core/ingestion/method-extractors/configs/go.js +176 -0
- package/dist/core/ingestion/method-extractors/configs/jvm.d.ts +3 -0
- package/dist/core/ingestion/method-extractors/configs/jvm.js +336 -0
- package/dist/core/ingestion/method-extractors/configs/php.d.ts +2 -0
- package/dist/core/ingestion/method-extractors/configs/php.js +304 -0
- package/dist/core/ingestion/method-extractors/configs/python.d.ts +2 -0
- package/dist/core/ingestion/method-extractors/configs/python.js +309 -0
- package/dist/core/ingestion/method-extractors/configs/ruby.d.ts +2 -0
- package/dist/core/ingestion/method-extractors/configs/ruby.js +286 -0
- package/dist/core/ingestion/method-extractors/configs/rust.d.ts +2 -0
- package/dist/core/ingestion/method-extractors/configs/rust.js +195 -0
- package/dist/core/ingestion/method-extractors/configs/swift.d.ts +2 -0
- package/dist/core/ingestion/method-extractors/configs/swift.js +277 -0
- package/dist/core/ingestion/method-extractors/configs/typescript-javascript.d.ts +3 -0
- package/dist/core/ingestion/method-extractors/configs/typescript-javascript.js +338 -0
- package/dist/core/ingestion/method-extractors/generic.d.ts +11 -0
- package/dist/core/ingestion/method-extractors/generic.js +204 -0
- package/dist/core/ingestion/method-types.d.ts +90 -0
- package/dist/core/ingestion/method-types.js +2 -0
- package/dist/core/ingestion/model/field-registry.d.ts +18 -0
- package/dist/core/ingestion/model/field-registry.js +22 -0
- package/dist/core/ingestion/model/heritage-map.d.ts +105 -0
- package/dist/core/ingestion/model/heritage-map.js +260 -0
- package/dist/core/ingestion/model/index.d.ts +20 -0
- package/dist/core/ingestion/model/index.js +43 -0
- package/dist/core/ingestion/model/method-registry.d.ts +71 -0
- package/dist/core/ingestion/model/method-registry.js +134 -0
- package/dist/core/ingestion/model/registration-table.d.ts +138 -0
- package/dist/core/ingestion/model/registration-table.js +224 -0
- package/dist/core/ingestion/model/resolution-context.d.ts +93 -0
- package/dist/core/ingestion/model/resolution-context.js +337 -0
- package/dist/core/ingestion/model/resolve.d.ts +61 -0
- package/dist/core/ingestion/model/resolve.js +381 -0
- package/dist/core/ingestion/model/scope-resolution-indexes.d.ts +59 -0
- package/dist/core/ingestion/model/scope-resolution-indexes.js +42 -0
- package/dist/core/ingestion/model/semantic-model.d.ts +150 -0
- package/dist/core/ingestion/model/semantic-model.js +175 -0
- package/dist/core/ingestion/model/symbol-table.d.ts +200 -0
- package/dist/core/ingestion/model/symbol-table.js +206 -0
- package/dist/core/ingestion/model/type-registry.d.ts +39 -0
- package/dist/core/ingestion/model/type-registry.js +62 -0
- package/dist/core/ingestion/mro-processor.d.ts +46 -0
- package/dist/core/ingestion/mro-processor.js +597 -0
- package/dist/core/ingestion/named-bindings/csharp.d.ts +3 -0
- package/dist/core/ingestion/named-bindings/csharp.js +37 -0
- package/dist/core/ingestion/named-bindings/java.d.ts +3 -0
- package/dist/core/ingestion/named-bindings/java.js +29 -0
- package/dist/core/ingestion/named-bindings/kotlin.d.ts +3 -0
- package/dist/core/ingestion/named-bindings/kotlin.js +36 -0
- package/dist/core/ingestion/named-bindings/php.d.ts +3 -0
- package/dist/core/ingestion/named-bindings/php.js +61 -0
- package/dist/core/ingestion/named-bindings/python.d.ts +3 -0
- package/dist/core/ingestion/named-bindings/python.js +49 -0
- package/dist/core/ingestion/named-bindings/rust.d.ts +3 -0
- package/dist/core/ingestion/named-bindings/rust.js +66 -0
- package/dist/core/ingestion/named-bindings/types.d.ts +16 -0
- package/dist/core/ingestion/named-bindings/types.js +6 -0
- package/dist/core/ingestion/named-bindings/typescript.d.ts +3 -0
- package/dist/core/ingestion/named-bindings/typescript.js +58 -0
- package/dist/core/ingestion/parsing-processor.d.ts +40 -0
- package/dist/core/ingestion/parsing-processor.js +576 -0
- package/dist/core/ingestion/pipeline-phases/cobol.d.ts +16 -0
- package/dist/core/ingestion/pipeline-phases/cobol.js +45 -0
- package/dist/core/ingestion/pipeline-phases/communities.d.ts +16 -0
- package/dist/core/ingestion/pipeline-phases/communities.js +62 -0
- package/dist/core/ingestion/pipeline-phases/cross-file-impl.d.ts +17 -0
- package/dist/core/ingestion/pipeline-phases/cross-file-impl.js +156 -0
- package/dist/core/ingestion/pipeline-phases/cross-file.d.ts +37 -0
- package/dist/core/ingestion/pipeline-phases/cross-file.js +63 -0
- package/dist/core/ingestion/pipeline-phases/index.d.ts +22 -0
- package/dist/core/ingestion/pipeline-phases/index.js +23 -0
- package/dist/core/ingestion/pipeline-phases/markdown.d.ts +17 -0
- package/dist/core/ingestion/pipeline-phases/markdown.js +33 -0
- package/dist/core/ingestion/pipeline-phases/mro.d.ts +18 -0
- package/dist/core/ingestion/pipeline-phases/mro.js +36 -0
- package/dist/core/ingestion/pipeline-phases/orm-extraction.d.ts +22 -0
- package/dist/core/ingestion/pipeline-phases/orm-extraction.js +92 -0
- package/dist/core/ingestion/pipeline-phases/orm.d.ts +15 -0
- package/dist/core/ingestion/pipeline-phases/orm.js +74 -0
- package/dist/core/ingestion/pipeline-phases/parse-impl.d.ts +58 -0
- package/dist/core/ingestion/pipeline-phases/parse-impl.js +458 -0
- package/dist/core/ingestion/pipeline-phases/parse.d.ts +74 -0
- package/dist/core/ingestion/pipeline-phases/parse.js +33 -0
- package/dist/core/ingestion/pipeline-phases/processes.d.ts +16 -0
- package/dist/core/ingestion/pipeline-phases/processes.js +143 -0
- package/dist/core/ingestion/pipeline-phases/routes.d.ts +21 -0
- package/dist/core/ingestion/pipeline-phases/routes.js +243 -0
- package/dist/core/ingestion/pipeline-phases/runner.d.ts +22 -0
- package/dist/core/ingestion/pipeline-phases/runner.js +203 -0
- package/dist/core/ingestion/pipeline-phases/scan.d.ts +21 -0
- package/dist/core/ingestion/pipeline-phases/scan.js +46 -0
- package/dist/core/ingestion/pipeline-phases/structure.d.ts +27 -0
- package/dist/core/ingestion/pipeline-phases/structure.js +35 -0
- package/dist/core/ingestion/pipeline-phases/tools.d.ts +20 -0
- package/dist/core/ingestion/pipeline-phases/tools.js +79 -0
- package/dist/core/ingestion/pipeline-phases/types.d.ts +79 -0
- package/dist/core/ingestion/pipeline-phases/types.js +37 -0
- package/dist/core/ingestion/pipeline-phases/wildcard-synthesis.d.ts +70 -0
- package/dist/core/ingestion/pipeline-phases/wildcard-synthesis.js +312 -0
- package/dist/core/ingestion/pipeline.d.ts +36 -0
- package/dist/core/ingestion/pipeline.js +89 -0
- package/dist/core/ingestion/process-processor.d.ts +51 -0
- package/dist/core/ingestion/process-processor.js +317 -0
- package/dist/core/ingestion/registry-primary-flag.d.ts +86 -0
- package/dist/core/ingestion/registry-primary-flag.js +111 -0
- package/dist/core/ingestion/resolve-references.d.ts +63 -0
- package/dist/core/ingestion/resolve-references.js +175 -0
- package/dist/core/ingestion/route-extractors/expo.d.ts +1 -0
- package/dist/core/ingestion/route-extractors/expo.js +36 -0
- package/dist/core/ingestion/route-extractors/middleware.d.ts +47 -0
- package/dist/core/ingestion/route-extractors/middleware.js +167 -0
- package/dist/core/ingestion/route-extractors/nextjs.d.ts +3 -0
- package/dist/core/ingestion/route-extractors/nextjs.js +76 -0
- package/dist/core/ingestion/route-extractors/php.d.ts +7 -0
- package/dist/core/ingestion/route-extractors/php.js +22 -0
- package/dist/core/ingestion/route-extractors/response-shapes.d.ts +20 -0
- package/dist/core/ingestion/route-extractors/response-shapes.js +294 -0
- package/dist/core/ingestion/scope-extractor-bridge.d.ts +32 -0
- package/dist/core/ingestion/scope-extractor-bridge.js +44 -0
- package/dist/core/ingestion/scope-extractor.d.ts +86 -0
- package/dist/core/ingestion/scope-extractor.js +758 -0
- package/dist/core/ingestion/scope-resolution/contract/scope-resolver.d.ts +372 -0
- package/dist/core/ingestion/scope-resolution/contract/scope-resolver.js +212 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/edges.d.ts +43 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/edges.js +79 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/ids.d.ts +57 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/ids.js +112 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/imports-to-edges.d.ts +17 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/imports-to-edges.js +46 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/method-dispatch.d.ts +19 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/method-dispatch.js +30 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/node-lookup.d.ts +37 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/node-lookup.js +113 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/references-to-edges.d.ts +38 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/references-to-edges.js +73 -0
- package/dist/core/ingestion/scope-resolution/passes/compound-receiver.d.ts +42 -0
- package/dist/core/ingestion/scope-resolution/passes/compound-receiver.js +198 -0
- package/dist/core/ingestion/scope-resolution/passes/free-call-fallback.d.ts +27 -0
- package/dist/core/ingestion/scope-resolution/passes/free-call-fallback.js +131 -0
- package/dist/core/ingestion/scope-resolution/passes/imported-return-types.d.ts +48 -0
- package/dist/core/ingestion/scope-resolution/passes/imported-return-types.js +130 -0
- package/dist/core/ingestion/scope-resolution/passes/mro.d.ts +42 -0
- package/dist/core/ingestion/scope-resolution/passes/mro.js +99 -0
- package/dist/core/ingestion/scope-resolution/passes/overload-narrowing.d.ts +26 -0
- package/dist/core/ingestion/scope-resolution/passes/overload-narrowing.js +61 -0
- package/dist/core/ingestion/scope-resolution/passes/receiver-bound-calls.d.ts +46 -0
- package/dist/core/ingestion/scope-resolution/passes/receiver-bound-calls.js +327 -0
- package/dist/core/ingestion/scope-resolution/pipeline/phase.d.ts +47 -0
- package/dist/core/ingestion/scope-resolution/pipeline/phase.js +130 -0
- package/dist/core/ingestion/scope-resolution/pipeline/reconcile-ownership.d.ts +68 -0
- package/dist/core/ingestion/scope-resolution/pipeline/reconcile-ownership.js +125 -0
- package/dist/core/ingestion/scope-resolution/pipeline/registry.d.ts +17 -0
- package/dist/core/ingestion/scope-resolution/pipeline/registry.js +21 -0
- package/dist/core/ingestion/scope-resolution/pipeline/run.d.ts +66 -0
- package/dist/core/ingestion/scope-resolution/pipeline/run.js +157 -0
- package/dist/core/ingestion/scope-resolution/scope/namespace-targets.d.ts +36 -0
- package/dist/core/ingestion/scope-resolution/scope/namespace-targets.js +52 -0
- package/dist/core/ingestion/scope-resolution/scope/walkers.d.ts +127 -0
- package/dist/core/ingestion/scope-resolution/scope/walkers.js +349 -0
- package/dist/core/ingestion/scope-resolution/workspace-index.d.ts +52 -0
- package/dist/core/ingestion/scope-resolution/workspace-index.js +61 -0
- package/dist/core/ingestion/shadow-harness.d.ts +113 -0
- package/dist/core/ingestion/shadow-harness.js +148 -0
- package/dist/core/ingestion/structure-processor.d.ts +2 -0
- package/dist/core/ingestion/structure-processor.js +36 -0
- package/dist/core/ingestion/tree-sitter-queries.d.ts +16 -0
- package/dist/core/ingestion/tree-sitter-queries.js +1338 -0
- package/dist/core/ingestion/type-env.d.ts +86 -0
- package/dist/core/ingestion/type-env.js +1128 -0
- package/dist/core/ingestion/type-extractors/c-cpp.d.ts +7 -0
- package/dist/core/ingestion/type-extractors/c-cpp.js +532 -0
- package/dist/core/ingestion/type-extractors/csharp.d.ts +2 -0
- package/dist/core/ingestion/type-extractors/csharp.js +583 -0
- package/dist/core/ingestion/type-extractors/dart.d.ts +15 -0
- package/dist/core/ingestion/type-extractors/dart.js +369 -0
- package/dist/core/ingestion/type-extractors/go.d.ts +2 -0
- package/dist/core/ingestion/type-extractors/go.js +513 -0
- package/dist/core/ingestion/type-extractors/jvm.d.ts +3 -0
- package/dist/core/ingestion/type-extractors/jvm.js +856 -0
- package/dist/core/ingestion/type-extractors/php.d.ts +2 -0
- package/dist/core/ingestion/type-extractors/php.js +534 -0
- package/dist/core/ingestion/type-extractors/python.d.ts +2 -0
- package/dist/core/ingestion/type-extractors/python.js +474 -0
- package/dist/core/ingestion/type-extractors/ruby.d.ts +2 -0
- package/dist/core/ingestion/type-extractors/ruby.js +377 -0
- package/dist/core/ingestion/type-extractors/rust.d.ts +2 -0
- package/dist/core/ingestion/type-extractors/rust.js +515 -0
- package/dist/core/ingestion/type-extractors/shared.d.ts +131 -0
- package/dist/core/ingestion/type-extractors/shared.js +796 -0
- package/dist/core/ingestion/type-extractors/swift.d.ts +2 -0
- package/dist/core/ingestion/type-extractors/swift.js +484 -0
- package/dist/core/ingestion/type-extractors/types.d.ts +172 -0
- package/dist/core/ingestion/type-extractors/types.js +1 -0
- package/dist/core/ingestion/type-extractors/typescript.d.ts +2 -0
- package/dist/core/ingestion/type-extractors/typescript.js +661 -0
- package/dist/core/ingestion/utils/ast-helpers.d.ts +89 -0
- package/dist/core/ingestion/utils/ast-helpers.js +535 -0
- package/dist/core/ingestion/utils/call-analysis.d.ts +75 -0
- package/dist/core/ingestion/utils/call-analysis.js +574 -0
- package/dist/core/ingestion/utils/env.d.ts +10 -0
- package/dist/core/ingestion/utils/env.js +10 -0
- package/dist/core/ingestion/utils/event-loop.d.ts +5 -0
- package/dist/core/ingestion/utils/event-loop.js +5 -0
- package/dist/core/ingestion/utils/graph-sort.d.ts +58 -0
- package/dist/core/ingestion/utils/graph-sort.js +100 -0
- package/dist/core/ingestion/utils/max-file-size.d.ts +20 -0
- package/dist/core/ingestion/utils/max-file-size.js +52 -0
- package/dist/core/ingestion/utils/method-props.d.ts +32 -0
- package/dist/core/ingestion/utils/method-props.js +147 -0
- package/dist/core/ingestion/utils/ruby-self-call.d.ts +52 -0
- package/dist/core/ingestion/utils/ruby-self-call.js +59 -0
- package/dist/core/ingestion/utils/verbose.d.ts +1 -0
- package/dist/core/ingestion/utils/verbose.js +7 -0
- package/dist/core/ingestion/variable-extractors/configs/c-cpp.d.ts +3 -0
- package/dist/core/ingestion/variable-extractors/configs/c-cpp.js +81 -0
- package/dist/core/ingestion/variable-extractors/configs/csharp.d.ts +9 -0
- package/dist/core/ingestion/variable-extractors/configs/csharp.js +63 -0
- package/dist/core/ingestion/variable-extractors/configs/dart.d.ts +2 -0
- package/dist/core/ingestion/variable-extractors/configs/dart.js +94 -0
- package/dist/core/ingestion/variable-extractors/configs/go.d.ts +2 -0
- package/dist/core/ingestion/variable-extractors/configs/go.js +83 -0
- package/dist/core/ingestion/variable-extractors/configs/jvm.d.ts +18 -0
- package/dist/core/ingestion/variable-extractors/configs/jvm.js +115 -0
- package/dist/core/ingestion/variable-extractors/configs/php.d.ts +14 -0
- package/dist/core/ingestion/variable-extractors/configs/php.js +58 -0
- package/dist/core/ingestion/variable-extractors/configs/python.d.ts +2 -0
- package/dist/core/ingestion/variable-extractors/configs/python.js +101 -0
- package/dist/core/ingestion/variable-extractors/configs/ruby.d.ts +11 -0
- package/dist/core/ingestion/variable-extractors/configs/ruby.js +52 -0
- package/dist/core/ingestion/variable-extractors/configs/rust.d.ts +2 -0
- package/dist/core/ingestion/variable-extractors/configs/rust.js +76 -0
- package/dist/core/ingestion/variable-extractors/configs/swift.d.ts +2 -0
- package/dist/core/ingestion/variable-extractors/configs/swift.js +88 -0
- package/dist/core/ingestion/variable-extractors/configs/typescript-javascript.d.ts +3 -0
- package/dist/core/ingestion/variable-extractors/configs/typescript-javascript.js +83 -0
- package/dist/core/ingestion/variable-extractors/generic.d.ts +5 -0
- package/dist/core/ingestion/variable-extractors/generic.js +80 -0
- package/dist/core/ingestion/variable-types.d.ts +82 -0
- package/dist/core/ingestion/variable-types.js +2 -0
- package/dist/core/ingestion/vue-sfc-extractor.d.ts +44 -0
- package/dist/core/ingestion/vue-sfc-extractor.js +94 -0
- package/dist/core/ingestion/workers/parse-worker.d.ts +198 -0
- package/dist/core/ingestion/workers/parse-worker.js +1928 -0
- package/dist/core/ingestion/workers/worker-pool.d.ts +16 -0
- package/dist/core/ingestion/workers/worker-pool.js +126 -0
- package/dist/core/lbug/csv-generator.d.ts +33 -0
- package/dist/core/lbug/csv-generator.js +459 -0
- package/dist/core/lbug/lbug-adapter.d.ts +173 -0
- package/dist/core/lbug/lbug-adapter.js +1188 -0
- package/dist/core/lbug/pool-adapter.d.ts +93 -0
- package/dist/core/lbug/pool-adapter.js +543 -0
- package/dist/core/lbug/schema.d.ts +62 -0
- package/dist/core/lbug/schema.js +484 -0
- package/dist/core/run-analyze.d.ts +72 -0
- package/dist/core/run-analyze.js +315 -0
- package/dist/core/search/bm25-index.d.ts +41 -0
- package/dist/core/search/bm25-index.js +209 -0
- package/dist/core/search/hybrid-search.d.ts +49 -0
- package/dist/core/search/hybrid-search.js +118 -0
- package/dist/core/search/phase-timer.d.ts +72 -0
- package/dist/core/search/phase-timer.js +106 -0
- package/dist/core/tree-sitter/parser-loader.d.ts +8 -0
- package/dist/core/tree-sitter/parser-loader.js +84 -0
- package/dist/core/wiki/cursor-client.d.ts +31 -0
- package/dist/core/wiki/cursor-client.js +122 -0
- package/dist/core/wiki/generator.d.ts +129 -0
- package/dist/core/wiki/generator.js +898 -0
- package/dist/core/wiki/graph-queries.d.ts +84 -0
- package/dist/core/wiki/graph-queries.js +244 -0
- package/dist/core/wiki/html-viewer.d.ts +10 -0
- package/dist/core/wiki/html-viewer.js +303 -0
- package/dist/core/wiki/llm-client.d.ts +63 -0
- package/dist/core/wiki/llm-client.js +234 -0
- package/dist/core/wiki/prompts.d.ts +53 -0
- package/dist/core/wiki/prompts.js +181 -0
- package/dist/lib/utils.d.ts +1 -0
- package/dist/lib/utils.js +3 -0
- package/dist/mcp/compatible-stdio-transport.d.ts +25 -0
- package/dist/mcp/compatible-stdio-transport.js +200 -0
- package/dist/mcp/core/embedder.d.ts +27 -0
- package/dist/mcp/core/embedder.js +122 -0
- package/dist/mcp/core/lbug-adapter.d.ts +5 -0
- package/dist/mcp/core/lbug-adapter.js +5 -0
- package/dist/mcp/local/graphstore-handler.d.ts +214 -0
- package/dist/mcp/local/graphstore-handler.js +272 -0
- package/dist/mcp/local/local-backend.d.ts +347 -0
- package/dist/mcp/local/local-backend.js +3218 -0
- package/dist/mcp/resources.d.ts +62 -0
- package/dist/mcp/resources.js +696 -0
- package/dist/mcp/server.d.ts +23 -0
- package/dist/mcp/server.js +533 -0
- package/dist/mcp/staleness.d.ts +5 -0
- package/dist/mcp/staleness.js +4 -0
- package/dist/mcp/tools.d.ts +27 -0
- package/dist/mcp/tools.js +823 -0
- package/dist/server/analyze-job.d.ts +55 -0
- package/dist/server/analyze-job.js +150 -0
- package/dist/server/analyze-worker.d.ts +13 -0
- package/dist/server/analyze-worker.js +59 -0
- package/dist/server/api.d.ts +47 -0
- package/dist/server/api.js +1727 -0
- package/dist/server/git-clone.d.ts +26 -0
- package/dist/server/git-clone.js +184 -0
- package/dist/server/mcp-http.d.ts +13 -0
- package/dist/server/mcp-http.js +100 -0
- package/dist/storage/git.d.ts +80 -0
- package/dist/storage/git.js +190 -0
- package/dist/storage/repo-manager.d.ts +458 -0
- package/dist/storage/repo-manager.js +766 -0
- package/dist/types/pipeline.d.ts +18 -0
- package/dist/types/pipeline.js +1 -0
- package/hooks/claude/codragraph-hook.cjs +268 -0
- package/hooks/claude/pre-tool-use.sh +79 -0
- package/hooks/claude/session-start.sh +42 -0
- package/package.json +127 -0
- package/scripts/bench-scope-resolution.ts +134 -0
- package/scripts/build-tree-sitter-proto.cjs +82 -0
- package/scripts/build.js +90 -0
- package/scripts/ci-list-migrated-languages.ts +24 -0
- package/scripts/patch-tree-sitter-swift.cjs +78 -0
- package/skills/codragraph-cli.md +82 -0
- package/skills/codragraph-debugging.md +89 -0
- package/skills/codragraph-exploring.md +78 -0
- package/skills/codragraph-guide.md +64 -0
- package/skills/codragraph-impact-analysis.md +97 -0
- package/skills/codragraph-pr-review.md +163 -0
- package/skills/codragraph-refactoring.md +121 -0
- package/vendor/leiden/index.cjs +355 -0
- package/vendor/leiden/utils.cjs +392 -0
- package/vendor/tree-sitter-proto/binding.gyp +30 -0
- package/vendor/tree-sitter-proto/bindings/node/binding.cc +20 -0
- package/vendor/tree-sitter-proto/bindings/node/index.d.ts +28 -0
- package/vendor/tree-sitter-proto/bindings/node/index.js +7 -0
- package/vendor/tree-sitter-proto/package.json +12 -0
- package/vendor/tree-sitter-proto/src/node-types.json +1145 -0
- package/vendor/tree-sitter-proto/src/parser.c +10149 -0
- package/vendor/tree-sitter-proto/src/tree_sitter/alloc.h +54 -0
- package/vendor/tree-sitter-proto/src/tree_sitter/array.h +291 -0
- package/vendor/tree-sitter-proto/src/tree_sitter/parser.h +266 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* C# `ScopeResolver` registered in `SCOPE_RESOLVERS` and consumed by
|
|
3
|
+
* the generic `runScopeResolution` orchestrator (RFC #909 Ring 3).
|
|
4
|
+
*
|
|
5
|
+
* Second migration after Python — see `pythonScopeResolver` for the
|
|
6
|
+
* canonical shape.
|
|
7
|
+
*/
|
|
8
|
+
import { SupportedLanguages } from '../../../../_shared/index.js';
|
|
9
|
+
import { buildMro, defaultLinearize } from '../../scope-resolution/passes/mro.js';
|
|
10
|
+
import { populateClassOwnedMembers } from '../../scope-resolution/scope/walkers.js';
|
|
11
|
+
import { csharpProvider } from '../csharp.js';
|
|
12
|
+
import { csharpArityCompatibility, csharpMergeBindings, resolveCsharpImportTarget, } from './index.js';
|
|
13
|
+
import { populateCsharpNamespaceSiblings } from './namespace-siblings.js';
|
|
14
|
+
import { unwrapCsharpCollectionAccessor } from './accessor-unwrap.js';
|
|
15
|
+
const csharpScopeResolver = {
|
|
16
|
+
language: SupportedLanguages.CSharp,
|
|
17
|
+
languageProvider: csharpProvider,
|
|
18
|
+
importEdgeReason: 'csharp-scope: using',
|
|
19
|
+
resolveImportTarget: (targetRaw, fromFile, allFilePaths) => {
|
|
20
|
+
const ws = { fromFile, allFilePaths };
|
|
21
|
+
// `WorkspaceIndex` is an opaque `unknown` placeholder in the
|
|
22
|
+
// shared contract, so `ws` passes structurally without a cast.
|
|
23
|
+
return resolveCsharpImportTarget({ kind: 'namespace', localName: '_', importedName: '_', targetRaw }, ws);
|
|
24
|
+
},
|
|
25
|
+
// C# shadowing: local > using > using static. The per-scope id is
|
|
26
|
+
// unused by the C# implementation (shadowing is computed purely
|
|
27
|
+
// from the binding tier), so we don't need to synthesize a Scope.
|
|
28
|
+
mergeBindings: (existing, incoming) => [...csharpMergeBindings([...existing, ...incoming])],
|
|
29
|
+
// Adapter: csharpArityCompatibility uses (def, callsite); the
|
|
30
|
+
// contract is (callsite, def).
|
|
31
|
+
arityCompatibility: (callsite, def) => csharpArityCompatibility(def, callsite),
|
|
32
|
+
buildMro: (graph, parsedFiles, nodeLookup) => buildMro(graph, parsedFiles, nodeLookup, defaultLinearize),
|
|
33
|
+
populateOwners: (parsed) => populateClassOwnedMembers(parsed),
|
|
34
|
+
// C# uses `base` for super-class dispatch, not `super`. Match as a
|
|
35
|
+
// plain identifier (no `()` call like Python's `super(...)`) — `base`
|
|
36
|
+
// is a keyword-like receiver, not a callable.
|
|
37
|
+
isSuperReceiver: (text) => text.trim() === 'base',
|
|
38
|
+
// Same-namespace cross-file visibility — C# makes every type
|
|
39
|
+
// declared in `namespace X` visible to other files declaring the
|
|
40
|
+
// same namespace, without any `using` directive. See
|
|
41
|
+
// `namespace-siblings.ts` for the implementation.
|
|
42
|
+
populateNamespaceSiblings: populateCsharpNamespaceSiblings,
|
|
43
|
+
// C# is statically typed — type information is reliable. Field-
|
|
44
|
+
// fallback heuristic stays off (the type-binding layer already
|
|
45
|
+
// produces precise owner types); return-type propagation on is fine
|
|
46
|
+
// since signatures are authoritative.
|
|
47
|
+
fieldFallbackOnMethodLookup: false,
|
|
48
|
+
propagatesReturnTypesAcrossImports: true,
|
|
49
|
+
// `data.Values` / `data.Keys` on Dictionary-like receivers unwrap
|
|
50
|
+
// to the value / key element type. Other languages use method-call
|
|
51
|
+
// syntax for the same access and leave this hook undefined.
|
|
52
|
+
unwrapCollectionAccessor: unwrapCsharpCollectionAccessor,
|
|
53
|
+
// C# matches legacy DAG by collapsing member-call CALLS edges to
|
|
54
|
+
// `(caller, target)` — multiple `g.Greet(...)` sites from Main
|
|
55
|
+
// yield ONE edge, not one per site.
|
|
56
|
+
collapseMemberCallsByCallerTarget: true,
|
|
57
|
+
// C# hoists method return-type bindings to the enclosing Module
|
|
58
|
+
// scope so `propagateImportedReturnTypes` can mirror them across
|
|
59
|
+
// files. The compound-receiver walker needs to walk up from the
|
|
60
|
+
// class scope to find them; see the contract field for rationale.
|
|
61
|
+
hoistTypeBindingsToModule: true,
|
|
62
|
+
};
|
|
63
|
+
export { csharpScopeResolver };
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trivial / no-op-ish hooks for the C# provider. Kept together because
|
|
3
|
+
* each is a few lines and they share a common theme: they make the
|
|
4
|
+
* provider's choice explicit rather than relying on "absence == default"
|
|
5
|
+
* so reviewers don't have to re-derive the analysis.
|
|
6
|
+
*/
|
|
7
|
+
import type { CaptureMatch, ParsedImport, Scope, ScopeId, ScopeTree, TypeRef } from '../../../../_shared/index.js';
|
|
8
|
+
/** C# has block scope, but the central extractor's "innermost enclosing
|
|
9
|
+
* scope" default already handles it correctly: class-body declarations
|
|
10
|
+
* attach to the innermost Class scope, method-body declarations attach
|
|
11
|
+
* to the innermost Function scope, and namespace-body declarations
|
|
12
|
+
* attach to the innermost Namespace scope (which the scope query emits
|
|
13
|
+
* for both `namespace X { }` and `namespace X;` forms).
|
|
14
|
+
*
|
|
15
|
+
* Exception: **method return-type bindings** (`@type-binding.return`)
|
|
16
|
+
* must hoist all the way to the Module scope. The default auto-hoist
|
|
17
|
+
* in the central extractor only promotes one level (Function → its
|
|
18
|
+
* parent). For C# methods the parent is always a Class, so without
|
|
19
|
+
* this override the return binding gets stuck at the Class scope,
|
|
20
|
+
* where it's invisible to:
|
|
21
|
+
* - chain-follow's parent-chain walk in `followChainPostFinalize`
|
|
22
|
+
* (tests: `var u = GetUser(); u.Save()` single-file);
|
|
23
|
+
* - cross-file `propagateImportedReturnTypes`, which reads only
|
|
24
|
+
* `sourceModule.typeBindings`.
|
|
25
|
+
* Walking to Module restores both paths. */
|
|
26
|
+
export declare function csharpBindingScopeFor(decl: CaptureMatch, innermost: Scope, tree: ScopeTree): ScopeId | null;
|
|
27
|
+
/** `using` inside `namespace X { }` binds to that namespace's scope (its
|
|
28
|
+
* types are visible only within that namespace's members). File-level
|
|
29
|
+
* `using` delegates to the module default. Class-body `using` is not
|
|
30
|
+
* legal C# — defensively handle it by attaching to the class if it
|
|
31
|
+
* ever slips through.
|
|
32
|
+
*
|
|
33
|
+
* `global using X;` (C# 10+) at the compilation_unit level is treated
|
|
34
|
+
* as a file-scoped using for Unit 2's purposes; cross-file propagation
|
|
35
|
+
* will be addressed if Unit 7's parity gate flags it. */
|
|
36
|
+
export declare function csharpImportOwningScope(_imp: ParsedImport, innermost: Scope, _tree: ScopeTree): ScopeId | null;
|
|
37
|
+
/** Look up `this` or `base` in the function scope's type bindings.
|
|
38
|
+
*
|
|
39
|
+
* `this` and `base` are synthesized as type bindings on instance
|
|
40
|
+
* methods during capture emission (`receiver-binding.ts`) — `this`
|
|
41
|
+
* for every method inside a class/struct/record/interface body, and
|
|
42
|
+
* `base` additionally for methods of a class-like type with an
|
|
43
|
+
* explicit `base_list`. This hook therefore returns a non-null
|
|
44
|
+
* `TypeRef` for instance-method bodies.
|
|
45
|
+
*
|
|
46
|
+
* Returns `null` for:
|
|
47
|
+
* - static methods (no `this` synthesized)
|
|
48
|
+
* - free functions / module-level code (no enclosing class)
|
|
49
|
+
* - non-Function scopes
|
|
50
|
+
*
|
|
51
|
+
* Matches `pythonReceiverBinding`'s shape so the two provider
|
|
52
|
+
* wirings stay symmetric. */
|
|
53
|
+
export declare function csharpReceiverBinding(functionScope: Scope): TypeRef | null;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trivial / no-op-ish hooks for the C# provider. Kept together because
|
|
3
|
+
* each is a few lines and they share a common theme: they make the
|
|
4
|
+
* provider's choice explicit rather than relying on "absence == default"
|
|
5
|
+
* so reviewers don't have to re-derive the analysis.
|
|
6
|
+
*/
|
|
7
|
+
// ─── bindingScopeFor ──────────────────────────────────────────────────────
|
|
8
|
+
/** C# has block scope, but the central extractor's "innermost enclosing
|
|
9
|
+
* scope" default already handles it correctly: class-body declarations
|
|
10
|
+
* attach to the innermost Class scope, method-body declarations attach
|
|
11
|
+
* to the innermost Function scope, and namespace-body declarations
|
|
12
|
+
* attach to the innermost Namespace scope (which the scope query emits
|
|
13
|
+
* for both `namespace X { }` and `namespace X;` forms).
|
|
14
|
+
*
|
|
15
|
+
* Exception: **method return-type bindings** (`@type-binding.return`)
|
|
16
|
+
* must hoist all the way to the Module scope. The default auto-hoist
|
|
17
|
+
* in the central extractor only promotes one level (Function → its
|
|
18
|
+
* parent). For C# methods the parent is always a Class, so without
|
|
19
|
+
* this override the return binding gets stuck at the Class scope,
|
|
20
|
+
* where it's invisible to:
|
|
21
|
+
* - chain-follow's parent-chain walk in `followChainPostFinalize`
|
|
22
|
+
* (tests: `var u = GetUser(); u.Save()` single-file);
|
|
23
|
+
* - cross-file `propagateImportedReturnTypes`, which reads only
|
|
24
|
+
* `sourceModule.typeBindings`.
|
|
25
|
+
* Walking to Module restores both paths. */
|
|
26
|
+
export function csharpBindingScopeFor(decl, innermost, tree) {
|
|
27
|
+
if (decl['@type-binding.return'] !== undefined) {
|
|
28
|
+
let cur = innermost;
|
|
29
|
+
while (cur !== undefined && cur.kind !== 'Module') {
|
|
30
|
+
const parentId = cur.parent ?? null;
|
|
31
|
+
if (parentId === null)
|
|
32
|
+
break;
|
|
33
|
+
cur = tree.getScope(parentId);
|
|
34
|
+
}
|
|
35
|
+
if (cur !== undefined && cur.kind === 'Module')
|
|
36
|
+
return cur.id;
|
|
37
|
+
}
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
// ─── importOwningScope ────────────────────────────────────────────────────
|
|
41
|
+
/** `using` inside `namespace X { }` binds to that namespace's scope (its
|
|
42
|
+
* types are visible only within that namespace's members). File-level
|
|
43
|
+
* `using` delegates to the module default. Class-body `using` is not
|
|
44
|
+
* legal C# — defensively handle it by attaching to the class if it
|
|
45
|
+
* ever slips through.
|
|
46
|
+
*
|
|
47
|
+
* `global using X;` (C# 10+) at the compilation_unit level is treated
|
|
48
|
+
* as a file-scoped using for Unit 2's purposes; cross-file propagation
|
|
49
|
+
* will be addressed if Unit 7's parity gate flags it. */
|
|
50
|
+
export function csharpImportOwningScope(_imp, innermost, _tree) {
|
|
51
|
+
if (innermost.kind === 'Namespace' || innermost.kind === 'Class' || innermost.kind === 'Function')
|
|
52
|
+
return innermost.id;
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
// ─── receiverBinding ──────────────────────────────────────────────────────
|
|
56
|
+
/** Look up `this` or `base` in the function scope's type bindings.
|
|
57
|
+
*
|
|
58
|
+
* `this` and `base` are synthesized as type bindings on instance
|
|
59
|
+
* methods during capture emission (`receiver-binding.ts`) — `this`
|
|
60
|
+
* for every method inside a class/struct/record/interface body, and
|
|
61
|
+
* `base` additionally for methods of a class-like type with an
|
|
62
|
+
* explicit `base_list`. This hook therefore returns a non-null
|
|
63
|
+
* `TypeRef` for instance-method bodies.
|
|
64
|
+
*
|
|
65
|
+
* Returns `null` for:
|
|
66
|
+
* - static methods (no `this` synthesized)
|
|
67
|
+
* - free functions / module-level code (no enclosing class)
|
|
68
|
+
* - non-Function scopes
|
|
69
|
+
*
|
|
70
|
+
* Matches `pythonReceiverBinding`'s shape so the two provider
|
|
71
|
+
* wirings stay symmetric. */
|
|
72
|
+
export function csharpReceiverBinding(functionScope) {
|
|
73
|
+
if (functionScope.kind !== 'Function')
|
|
74
|
+
return null;
|
|
75
|
+
return functionScope.typeBindings.get('this') ?? functionScope.typeBindings.get('base') ?? null;
|
|
76
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* C# language provider.
|
|
3
|
+
*
|
|
4
|
+
* C# uses named imports (using directives), modifier-based export detection,
|
|
5
|
+
* and an implements-split MRO strategy for multiple interface implementation.
|
|
6
|
+
* Interface names follow the I-prefix convention (e.g., IDisposable).
|
|
7
|
+
*/
|
|
8
|
+
export declare const csharpProvider: import("../language-provider.js").LanguageProvider;
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* C# language provider.
|
|
3
|
+
*
|
|
4
|
+
* C# uses named imports (using directives), modifier-based export detection,
|
|
5
|
+
* and an implements-split MRO strategy for multiple interface implementation.
|
|
6
|
+
* Interface names follow the I-prefix convention (e.g., IDisposable).
|
|
7
|
+
*/
|
|
8
|
+
import { SupportedLanguages } from '../../../_shared/index.js';
|
|
9
|
+
import { createClassExtractor } from '../class-extractors/generic.js';
|
|
10
|
+
import { csharpClassConfig } from '../class-extractors/configs/csharp.js';
|
|
11
|
+
import { defineLanguage } from '../language-provider.js';
|
|
12
|
+
import { typeConfig as csharpConfig } from '../type-extractors/csharp.js';
|
|
13
|
+
import { csharpExportChecker } from '../export-detection.js';
|
|
14
|
+
import { createImportResolver } from '../import-resolvers/resolver-factory.js';
|
|
15
|
+
import { csharpImportConfig } from '../import-resolvers/configs/csharp.js';
|
|
16
|
+
import { extractCSharpNamedBindings } from '../named-bindings/csharp.js';
|
|
17
|
+
import { CSHARP_QUERIES } from '../tree-sitter-queries.js';
|
|
18
|
+
import { createCallExtractor } from '../call-extractors/generic.js';
|
|
19
|
+
import { csharpCallConfig } from '../call-extractors/configs/csharp.js';
|
|
20
|
+
import { createFieldExtractor } from '../field-extractors/generic.js';
|
|
21
|
+
import { csharpConfig as csharpFieldConfig } from '../field-extractors/configs/csharp.js';
|
|
22
|
+
import { createMethodExtractor } from '../method-extractors/generic.js';
|
|
23
|
+
import { csharpMethodConfig } from '../method-extractors/configs/csharp.js';
|
|
24
|
+
import { createVariableExtractor } from '../variable-extractors/generic.js';
|
|
25
|
+
import { csharpVariableConfig } from '../variable-extractors/configs/csharp.js';
|
|
26
|
+
import { createHeritageExtractor } from '../heritage-extractors/generic.js';
|
|
27
|
+
import { emitCsharpScopeCaptures, interpretCsharpImport, interpretCsharpTypeBinding, csharpBindingScopeFor, csharpImportOwningScope, csharpMergeBindings, csharpReceiverBinding, csharpArityCompatibility, resolveCsharpImportTarget, } from './csharp/index.js';
|
|
28
|
+
const BUILT_INS = new Set([
|
|
29
|
+
'Console',
|
|
30
|
+
'WriteLine',
|
|
31
|
+
'ReadLine',
|
|
32
|
+
'Write',
|
|
33
|
+
'Task',
|
|
34
|
+
'Run',
|
|
35
|
+
'Wait',
|
|
36
|
+
'WhenAll',
|
|
37
|
+
'WhenAny',
|
|
38
|
+
'FromResult',
|
|
39
|
+
'Delay',
|
|
40
|
+
'ContinueWith',
|
|
41
|
+
'ConfigureAwait',
|
|
42
|
+
'GetAwaiter',
|
|
43
|
+
'GetResult',
|
|
44
|
+
'ToString',
|
|
45
|
+
'GetType',
|
|
46
|
+
'Equals',
|
|
47
|
+
'GetHashCode',
|
|
48
|
+
'ReferenceEquals',
|
|
49
|
+
'Add',
|
|
50
|
+
'Remove',
|
|
51
|
+
'Contains',
|
|
52
|
+
'Clear',
|
|
53
|
+
'Count',
|
|
54
|
+
'Any',
|
|
55
|
+
'All',
|
|
56
|
+
'Where',
|
|
57
|
+
'Select',
|
|
58
|
+
'SelectMany',
|
|
59
|
+
'OrderBy',
|
|
60
|
+
'OrderByDescending',
|
|
61
|
+
'GroupBy',
|
|
62
|
+
'First',
|
|
63
|
+
'FirstOrDefault',
|
|
64
|
+
'Single',
|
|
65
|
+
'SingleOrDefault',
|
|
66
|
+
'Last',
|
|
67
|
+
'LastOrDefault',
|
|
68
|
+
'ToList',
|
|
69
|
+
'ToArray',
|
|
70
|
+
'ToDictionary',
|
|
71
|
+
'AsEnumerable',
|
|
72
|
+
'AsQueryable',
|
|
73
|
+
'Aggregate',
|
|
74
|
+
'Sum',
|
|
75
|
+
'Average',
|
|
76
|
+
'Min',
|
|
77
|
+
'Max',
|
|
78
|
+
'Distinct',
|
|
79
|
+
'Skip',
|
|
80
|
+
'Take',
|
|
81
|
+
'String',
|
|
82
|
+
'Format',
|
|
83
|
+
'IsNullOrEmpty',
|
|
84
|
+
'IsNullOrWhiteSpace',
|
|
85
|
+
'Concat',
|
|
86
|
+
'Join',
|
|
87
|
+
'Trim',
|
|
88
|
+
'TrimStart',
|
|
89
|
+
'TrimEnd',
|
|
90
|
+
'Split',
|
|
91
|
+
'Replace',
|
|
92
|
+
'StartsWith',
|
|
93
|
+
'EndsWith',
|
|
94
|
+
'Convert',
|
|
95
|
+
'ToInt32',
|
|
96
|
+
'ToDouble',
|
|
97
|
+
'ToBoolean',
|
|
98
|
+
'ToByte',
|
|
99
|
+
'Math',
|
|
100
|
+
'Abs',
|
|
101
|
+
'Ceiling',
|
|
102
|
+
'Floor',
|
|
103
|
+
'Round',
|
|
104
|
+
'Pow',
|
|
105
|
+
'Sqrt',
|
|
106
|
+
'Dispose',
|
|
107
|
+
'Close',
|
|
108
|
+
'TryParse',
|
|
109
|
+
'Parse',
|
|
110
|
+
'AddRange',
|
|
111
|
+
'RemoveAt',
|
|
112
|
+
'RemoveAll',
|
|
113
|
+
'FindAll',
|
|
114
|
+
'Exists',
|
|
115
|
+
'TrueForAll',
|
|
116
|
+
'ContainsKey',
|
|
117
|
+
'TryGetValue',
|
|
118
|
+
'AddOrUpdate',
|
|
119
|
+
'Throw',
|
|
120
|
+
'ThrowIfNull',
|
|
121
|
+
]);
|
|
122
|
+
export const csharpProvider = defineLanguage({
|
|
123
|
+
id: SupportedLanguages.CSharp,
|
|
124
|
+
extensions: ['.cs'],
|
|
125
|
+
treeSitterQueries: CSHARP_QUERIES,
|
|
126
|
+
typeConfig: csharpConfig,
|
|
127
|
+
exportChecker: csharpExportChecker,
|
|
128
|
+
importResolver: createImportResolver(csharpImportConfig),
|
|
129
|
+
namedBindingExtractor: extractCSharpNamedBindings,
|
|
130
|
+
interfaceNamePattern: /^I[A-Z]/,
|
|
131
|
+
mroStrategy: 'implements-split',
|
|
132
|
+
callExtractor: createCallExtractor(csharpCallConfig),
|
|
133
|
+
fieldExtractor: createFieldExtractor(csharpFieldConfig),
|
|
134
|
+
methodExtractor: createMethodExtractor(csharpMethodConfig),
|
|
135
|
+
variableExtractor: createVariableExtractor(csharpVariableConfig),
|
|
136
|
+
classExtractor: createClassExtractor(csharpClassConfig),
|
|
137
|
+
heritageExtractor: createHeritageExtractor(SupportedLanguages.CSharp),
|
|
138
|
+
builtInNames: BUILT_INS,
|
|
139
|
+
// ── RFC #909 Ring 3: scope-based resolution hooks (RFC §5) ──────────
|
|
140
|
+
// C# is the second migration after Python. See ./csharp/index.ts for
|
|
141
|
+
// the full per-hook rationale and the canonical capture vocabulary
|
|
142
|
+
// in ./csharp/query.ts (CSHARP_SCOPE_QUERY constant).
|
|
143
|
+
emitScopeCaptures: emitCsharpScopeCaptures,
|
|
144
|
+
interpretImport: interpretCsharpImport,
|
|
145
|
+
interpretTypeBinding: interpretCsharpTypeBinding,
|
|
146
|
+
bindingScopeFor: csharpBindingScopeFor,
|
|
147
|
+
importOwningScope: csharpImportOwningScope,
|
|
148
|
+
mergeBindings: (_scope, bindings) => csharpMergeBindings(bindings),
|
|
149
|
+
receiverBinding: csharpReceiverBinding,
|
|
150
|
+
arityCompatibility: csharpArityCompatibility,
|
|
151
|
+
resolveImportTarget: resolveCsharpImportTarget,
|
|
152
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dart Language Provider
|
|
3
|
+
*
|
|
4
|
+
* Dart traits:
|
|
5
|
+
* - importSemantics: 'wildcard-leaf' (Dart imports bring everything public into scope)
|
|
6
|
+
* - exportChecker: public if no leading underscore
|
|
7
|
+
* - Dart SDK imports (dart:*) and external packages are skipped
|
|
8
|
+
* - enclosingFunctionFinder: Dart's tree-sitter grammar places function_body
|
|
9
|
+
* as a sibling of function_signature/method_signature (not as a child).
|
|
10
|
+
* The hook resolves the enclosing function by inspecting the previous sibling.
|
|
11
|
+
*/
|
|
12
|
+
export declare const dartProvider: import("../language-provider.js").LanguageProvider;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dart Language Provider
|
|
3
|
+
*
|
|
4
|
+
* Dart traits:
|
|
5
|
+
* - importSemantics: 'wildcard-leaf' (Dart imports bring everything public into scope)
|
|
6
|
+
* - exportChecker: public if no leading underscore
|
|
7
|
+
* - Dart SDK imports (dart:*) and external packages are skipped
|
|
8
|
+
* - enclosingFunctionFinder: Dart's tree-sitter grammar places function_body
|
|
9
|
+
* as a sibling of function_signature/method_signature (not as a child).
|
|
10
|
+
* The hook resolves the enclosing function by inspecting the previous sibling.
|
|
11
|
+
*/
|
|
12
|
+
import { FUNCTION_NODE_TYPES } from '../utils/ast-helpers.js';
|
|
13
|
+
import { SupportedLanguages } from '../../../_shared/index.js';
|
|
14
|
+
import { createClassExtractor } from '../class-extractors/generic.js';
|
|
15
|
+
import { dartClassConfig } from '../class-extractors/configs/dart.js';
|
|
16
|
+
import { defineLanguage } from '../language-provider.js';
|
|
17
|
+
import { typeConfig as dartConfig } from '../type-extractors/dart.js';
|
|
18
|
+
import { dartExportChecker } from '../export-detection.js';
|
|
19
|
+
import { createImportResolver } from '../import-resolvers/resolver-factory.js';
|
|
20
|
+
import { dartImportConfig } from '../import-resolvers/configs/dart.js';
|
|
21
|
+
import { DART_QUERIES } from '../tree-sitter-queries.js';
|
|
22
|
+
import { createFieldExtractor } from '../field-extractors/generic.js';
|
|
23
|
+
import { dartConfig as dartFieldConfig } from '../field-extractors/configs/dart.js';
|
|
24
|
+
import { createMethodExtractor } from '../method-extractors/generic.js';
|
|
25
|
+
import { dartMethodConfig } from '../method-extractors/configs/dart.js';
|
|
26
|
+
import { createVariableExtractor } from '../variable-extractors/generic.js';
|
|
27
|
+
import { dartVariableConfig } from '../variable-extractors/configs/dart.js';
|
|
28
|
+
import { createCallExtractor } from '../call-extractors/generic.js';
|
|
29
|
+
import { dartCallConfig } from '../call-extractors/configs/dart.js';
|
|
30
|
+
import { createHeritageExtractor } from '../heritage-extractors/generic.js';
|
|
31
|
+
/**
|
|
32
|
+
* Resolve the enclosing function from a `function_body` node by looking at its
|
|
33
|
+
* previous sibling. In Dart's tree-sitter grammar, function_signature and
|
|
34
|
+
* function_body are siblings under program or class_body, unlike most languages
|
|
35
|
+
* where the function declaration wraps both.
|
|
36
|
+
*
|
|
37
|
+
* Extracts the function name inline — Dart uses function_signature and
|
|
38
|
+
* method_signature (which wraps function_signature) as its FUNCTION_NODE_TYPES.
|
|
39
|
+
*/
|
|
40
|
+
const dartEnclosingFunctionFinder = (node) => {
|
|
41
|
+
if (node.type !== 'function_body')
|
|
42
|
+
return null;
|
|
43
|
+
const prev = node.previousSibling;
|
|
44
|
+
if (!prev || !FUNCTION_NODE_TYPES.has(prev.type))
|
|
45
|
+
return null;
|
|
46
|
+
// method_signature wraps function_signature — unwrap to reach the name
|
|
47
|
+
let target = prev;
|
|
48
|
+
let label = 'Function';
|
|
49
|
+
if (prev.type === 'method_signature') {
|
|
50
|
+
label = 'Method';
|
|
51
|
+
for (let i = 0; i < prev.childCount; i++) {
|
|
52
|
+
const c = prev.child(i);
|
|
53
|
+
if (c?.type === 'function_signature') {
|
|
54
|
+
target = c;
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
const funcName = target.childForFieldName?.('name')?.text ?? null;
|
|
60
|
+
return funcName ? { funcName, label } : null;
|
|
61
|
+
};
|
|
62
|
+
const BUILT_INS = new Set([
|
|
63
|
+
'setState',
|
|
64
|
+
'mounted',
|
|
65
|
+
'debugPrint',
|
|
66
|
+
'runApp',
|
|
67
|
+
'showDialog',
|
|
68
|
+
'showModalBottomSheet',
|
|
69
|
+
'Navigator',
|
|
70
|
+
'push',
|
|
71
|
+
'pushNamed',
|
|
72
|
+
'pushReplacement',
|
|
73
|
+
'pop',
|
|
74
|
+
'maybePop',
|
|
75
|
+
'ScaffoldMessenger',
|
|
76
|
+
'showSnackBar',
|
|
77
|
+
'deactivate',
|
|
78
|
+
'reassemble',
|
|
79
|
+
'debugDumpApp',
|
|
80
|
+
'debugDumpRenderTree',
|
|
81
|
+
'then',
|
|
82
|
+
'catchError',
|
|
83
|
+
'whenComplete',
|
|
84
|
+
'listen',
|
|
85
|
+
]);
|
|
86
|
+
export const dartProvider = defineLanguage({
|
|
87
|
+
id: SupportedLanguages.Dart,
|
|
88
|
+
extensions: ['.dart'],
|
|
89
|
+
treeSitterQueries: DART_QUERIES,
|
|
90
|
+
typeConfig: dartConfig,
|
|
91
|
+
exportChecker: dartExportChecker,
|
|
92
|
+
importResolver: createImportResolver(dartImportConfig),
|
|
93
|
+
importSemantics: 'wildcard-leaf',
|
|
94
|
+
callExtractor: createCallExtractor(dartCallConfig),
|
|
95
|
+
fieldExtractor: createFieldExtractor(dartFieldConfig),
|
|
96
|
+
methodExtractor: createMethodExtractor(dartMethodConfig),
|
|
97
|
+
variableExtractor: createVariableExtractor(dartVariableConfig),
|
|
98
|
+
classExtractor: createClassExtractor(dartClassConfig),
|
|
99
|
+
heritageExtractor: createHeritageExtractor(SupportedLanguages.Dart),
|
|
100
|
+
enclosingFunctionFinder: dartEnclosingFunctionFinder,
|
|
101
|
+
builtInNames: BUILT_INS,
|
|
102
|
+
});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Go Language Provider
|
|
3
|
+
*
|
|
4
|
+
* Assembles all Go-specific ingestion capabilities into a single
|
|
5
|
+
* LanguageProvider, following the Strategy pattern used by the pipeline.
|
|
6
|
+
*
|
|
7
|
+
* Key Go traits:
|
|
8
|
+
* - importSemantics: 'wildcard-leaf' (Go imports entire packages)
|
|
9
|
+
* - callRouter: present (Go method calls may need routing)
|
|
10
|
+
*/
|
|
11
|
+
export declare const goProvider: import("../language-provider.js").LanguageProvider;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Go Language Provider
|
|
3
|
+
*
|
|
4
|
+
* Assembles all Go-specific ingestion capabilities into a single
|
|
5
|
+
* LanguageProvider, following the Strategy pattern used by the pipeline.
|
|
6
|
+
*
|
|
7
|
+
* Key Go traits:
|
|
8
|
+
* - importSemantics: 'wildcard-leaf' (Go imports entire packages)
|
|
9
|
+
* - callRouter: present (Go method calls may need routing)
|
|
10
|
+
*/
|
|
11
|
+
import { SupportedLanguages } from '../../../_shared/index.js';
|
|
12
|
+
import { createClassExtractor } from '../class-extractors/generic.js';
|
|
13
|
+
import { goClassConfig } from '../class-extractors/configs/go.js';
|
|
14
|
+
import { defineLanguage } from '../language-provider.js';
|
|
15
|
+
import { typeConfig as goConfig } from '../type-extractors/go.js';
|
|
16
|
+
import { goExportChecker } from '../export-detection.js';
|
|
17
|
+
import { createImportResolver } from '../import-resolvers/resolver-factory.js';
|
|
18
|
+
import { goImportConfig } from '../import-resolvers/configs/go.js';
|
|
19
|
+
import { GO_QUERIES } from '../tree-sitter-queries.js';
|
|
20
|
+
import { createFieldExtractor } from '../field-extractors/generic.js';
|
|
21
|
+
import { goConfig as goFieldConfig } from '../field-extractors/configs/go.js';
|
|
22
|
+
import { createMethodExtractor } from '../method-extractors/generic.js';
|
|
23
|
+
import { goMethodConfig } from '../method-extractors/configs/go.js';
|
|
24
|
+
import { createVariableExtractor } from '../variable-extractors/generic.js';
|
|
25
|
+
import { goVariableConfig } from '../variable-extractors/configs/go.js';
|
|
26
|
+
import { createCallExtractor } from '../call-extractors/generic.js';
|
|
27
|
+
import { goCallConfig } from '../call-extractors/configs/go.js';
|
|
28
|
+
import { createHeritageExtractor } from '../heritage-extractors/generic.js';
|
|
29
|
+
import { goHeritageConfig } from '../heritage-extractors/configs/go.js';
|
|
30
|
+
export const goProvider = defineLanguage({
|
|
31
|
+
id: SupportedLanguages.Go,
|
|
32
|
+
extensions: ['.go'],
|
|
33
|
+
treeSitterQueries: GO_QUERIES,
|
|
34
|
+
typeConfig: goConfig,
|
|
35
|
+
exportChecker: goExportChecker,
|
|
36
|
+
importResolver: createImportResolver(goImportConfig),
|
|
37
|
+
importSemantics: 'wildcard-leaf',
|
|
38
|
+
callExtractor: createCallExtractor(goCallConfig),
|
|
39
|
+
fieldExtractor: createFieldExtractor(goFieldConfig),
|
|
40
|
+
methodExtractor: createMethodExtractor(goMethodConfig),
|
|
41
|
+
variableExtractor: createVariableExtractor(goVariableConfig),
|
|
42
|
+
classExtractor: createClassExtractor(goClassConfig),
|
|
43
|
+
heritageExtractor: createHeritageExtractor(goHeritageConfig),
|
|
44
|
+
});
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Language Provider Registry — compile-time exhaustive provider table.
|
|
3
|
+
*
|
|
4
|
+
* To add a new language:
|
|
5
|
+
* 1. Add enum member to SupportedLanguages
|
|
6
|
+
* 2. Create `languages/<lang>.ts` exporting a LanguageProvider
|
|
7
|
+
* 3. Add one line to the `providers` table below
|
|
8
|
+
* 4. Run `tsc --noEmit` to verify
|
|
9
|
+
*/
|
|
10
|
+
import { SupportedLanguages } from '../../../_shared/index.js';
|
|
11
|
+
import type { LanguageProvider } from '../language-provider.js';
|
|
12
|
+
export declare const providers: {
|
|
13
|
+
javascript: LanguageProvider;
|
|
14
|
+
typescript: LanguageProvider;
|
|
15
|
+
python: LanguageProvider;
|
|
16
|
+
java: LanguageProvider;
|
|
17
|
+
kotlin: LanguageProvider;
|
|
18
|
+
go: LanguageProvider;
|
|
19
|
+
rust: LanguageProvider;
|
|
20
|
+
csharp: LanguageProvider;
|
|
21
|
+
c: LanguageProvider;
|
|
22
|
+
cpp: LanguageProvider;
|
|
23
|
+
php: LanguageProvider;
|
|
24
|
+
ruby: LanguageProvider;
|
|
25
|
+
swift: LanguageProvider;
|
|
26
|
+
dart: LanguageProvider;
|
|
27
|
+
vue: LanguageProvider;
|
|
28
|
+
cobol: LanguageProvider;
|
|
29
|
+
};
|
|
30
|
+
/** Get provider by language enum (always succeeds for SupportedLanguages). */
|
|
31
|
+
export declare function getProvider(language: SupportedLanguages): LanguageProvider;
|
|
32
|
+
/** Look up a language provider from a file path by extension.
|
|
33
|
+
* Returns null if the file extension is not recognized. */
|
|
34
|
+
export declare function getProviderForFile(filePath: string): LanguageProvider | null;
|
|
35
|
+
/** Pre-computed list of providers that have implicit import wiring (e.g., Swift).
|
|
36
|
+
* Built once at module load — avoids iterating all 13 providers per call. */
|
|
37
|
+
export declare const providersWithImplicitWiring: (LanguageProvider & {
|
|
38
|
+
implicitImportWirer: NonNullable<LanguageProvider["implicitImportWirer"]>;
|
|
39
|
+
})[];
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Language Provider Registry — compile-time exhaustive provider table.
|
|
3
|
+
*
|
|
4
|
+
* To add a new language:
|
|
5
|
+
* 1. Add enum member to SupportedLanguages
|
|
6
|
+
* 2. Create `languages/<lang>.ts` exporting a LanguageProvider
|
|
7
|
+
* 3. Add one line to the `providers` table below
|
|
8
|
+
* 4. Run `tsc --noEmit` to verify
|
|
9
|
+
*/
|
|
10
|
+
import { SupportedLanguages } from '../../../_shared/index.js';
|
|
11
|
+
import { typescriptProvider, javascriptProvider } from './typescript.js';
|
|
12
|
+
import { pythonProvider } from './python.js';
|
|
13
|
+
import { javaProvider } from './java.js';
|
|
14
|
+
import { kotlinProvider } from './kotlin.js';
|
|
15
|
+
import { goProvider } from './go.js';
|
|
16
|
+
import { rustProvider } from './rust.js';
|
|
17
|
+
import { csharpProvider } from './csharp.js';
|
|
18
|
+
import { cProvider, cppProvider } from './c-cpp.js';
|
|
19
|
+
import { phpProvider } from './php.js';
|
|
20
|
+
import { rubyProvider } from './ruby.js';
|
|
21
|
+
import { swiftProvider } from './swift.js';
|
|
22
|
+
import { dartProvider } from './dart.js';
|
|
23
|
+
import { vueProvider } from './vue.js';
|
|
24
|
+
import { cobolProvider } from './cobol.js';
|
|
25
|
+
export const providers = {
|
|
26
|
+
[SupportedLanguages.JavaScript]: javascriptProvider,
|
|
27
|
+
[SupportedLanguages.TypeScript]: typescriptProvider,
|
|
28
|
+
[SupportedLanguages.Python]: pythonProvider,
|
|
29
|
+
[SupportedLanguages.Java]: javaProvider,
|
|
30
|
+
[SupportedLanguages.Kotlin]: kotlinProvider,
|
|
31
|
+
[SupportedLanguages.Go]: goProvider,
|
|
32
|
+
[SupportedLanguages.Rust]: rustProvider,
|
|
33
|
+
[SupportedLanguages.CSharp]: csharpProvider,
|
|
34
|
+
[SupportedLanguages.C]: cProvider,
|
|
35
|
+
[SupportedLanguages.CPlusPlus]: cppProvider,
|
|
36
|
+
[SupportedLanguages.PHP]: phpProvider,
|
|
37
|
+
[SupportedLanguages.Ruby]: rubyProvider,
|
|
38
|
+
[SupportedLanguages.Swift]: swiftProvider,
|
|
39
|
+
[SupportedLanguages.Dart]: dartProvider,
|
|
40
|
+
[SupportedLanguages.Vue]: vueProvider,
|
|
41
|
+
[SupportedLanguages.Cobol]: cobolProvider,
|
|
42
|
+
};
|
|
43
|
+
/** Get provider by language enum (always succeeds for SupportedLanguages). */
|
|
44
|
+
export function getProvider(language) {
|
|
45
|
+
return providers[language];
|
|
46
|
+
}
|
|
47
|
+
/** Pre-built extension → provider lookup (built once at module load). */
|
|
48
|
+
const extensionMap = new Map();
|
|
49
|
+
for (const provider of Object.values(providers)) {
|
|
50
|
+
for (const ext of provider.extensions) {
|
|
51
|
+
extensionMap.set(ext, provider);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/** Look up a language provider from a file path by extension.
|
|
55
|
+
* Returns null if the file extension is not recognized. */
|
|
56
|
+
export function getProviderForFile(filePath) {
|
|
57
|
+
const lastDot = filePath.lastIndexOf('.');
|
|
58
|
+
const ext = lastDot >= 0 ? filePath.slice(lastDot).toLowerCase() : '';
|
|
59
|
+
const basename = filePath.slice(filePath.lastIndexOf('/') + 1);
|
|
60
|
+
return extensionMap.get(ext) ?? extensionMap.get(basename) ?? null;
|
|
61
|
+
}
|
|
62
|
+
/** Pre-computed list of providers that have implicit import wiring (e.g., Swift).
|
|
63
|
+
* Built once at module load — avoids iterating all 13 providers per call. */
|
|
64
|
+
export const providersWithImplicitWiring = Object.values(providers).filter((p) => p.implicitImportWirer != null);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Java language provider.
|
|
3
|
+
*
|
|
4
|
+
* Java uses named imports, JVM wildcard/member import resolution,
|
|
5
|
+
* and a 'public' modifier-based export checker. Heritage uses
|
|
6
|
+
* EXTENDS by default with implements-split MRO for multiple
|
|
7
|
+
* interface implementation.
|
|
8
|
+
*/
|
|
9
|
+
export declare const javaProvider: import("../language-provider.js").LanguageProvider;
|