@vohongtho.infotech/code-intel 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +198 -0
- package/dist/call-graph/call-builder.d.ts +6 -0
- package/dist/call-graph/call-builder.d.ts.map +1 -0
- package/dist/call-graph/call-builder.js +69 -0
- package/dist/call-graph/call-builder.js.map +1 -0
- package/dist/call-graph/call-classifier.d.ts +12 -0
- package/dist/call-graph/call-classifier.d.ts.map +1 -0
- package/dist/call-graph/call-classifier.js +11 -0
- package/dist/call-graph/call-classifier.js.map +1 -0
- package/dist/call-graph/index.d.ts +4 -0
- package/dist/call-graph/index.d.ts.map +1 -0
- package/dist/call-graph/index.js +3 -0
- package/dist/call-graph/index.js.map +1 -0
- package/dist/cli/main.d.ts +3 -0
- package/dist/cli/main.d.ts.map +1 -0
- package/dist/cli/main.js +249 -0
- package/dist/cli/main.js.map +1 -0
- package/dist/clustering/community-detector.d.ts +9 -0
- package/dist/clustering/community-detector.d.ts.map +1 -0
- package/dist/clustering/community-detector.js +67 -0
- package/dist/clustering/community-detector.js.map +1 -0
- package/dist/clustering/index.d.ts +3 -0
- package/dist/clustering/index.d.ts.map +1 -0
- package/dist/clustering/index.js +2 -0
- package/dist/clustering/index.js.map +1 -0
- package/dist/flow-detection/entry-point-finder.d.ts +14 -0
- package/dist/flow-detection/entry-point-finder.d.ts.map +1 -0
- package/dist/flow-detection/entry-point-finder.js +86 -0
- package/dist/flow-detection/entry-point-finder.js.map +1 -0
- package/dist/flow-detection/index.d.ts +3 -0
- package/dist/flow-detection/index.d.ts.map +1 -0
- package/dist/flow-detection/index.js +2 -0
- package/dist/flow-detection/index.js.map +1 -0
- package/dist/graph/id-generator.d.ts +4 -0
- package/dist/graph/id-generator.d.ts.map +1 -0
- package/dist/graph/id-generator.js +7 -0
- package/dist/graph/id-generator.js.map +1 -0
- package/dist/graph/index.d.ts +4 -0
- package/dist/graph/index.d.ts.map +1 -0
- package/dist/graph/index.js +3 -0
- package/dist/graph/index.js.map +1 -0
- package/dist/graph/knowledge-graph.d.ts +21 -0
- package/dist/graph/knowledge-graph.d.ts.map +1 -0
- package/dist/graph/knowledge-graph.js +126 -0
- package/dist/graph/knowledge-graph.js.map +1 -0
- package/dist/http/app.d.ts +5 -0
- package/dist/http/app.d.ts.map +1 -0
- package/dist/http/app.js +359 -0
- package/dist/http/app.js.map +1 -0
- package/dist/http/index.d.ts +2 -0
- package/dist/http/index.d.ts.map +1 -0
- package/dist/http/index.js +2 -0
- package/dist/http/index.js.map +1 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/inheritance/heritage-builder.d.ts +9 -0
- package/dist/inheritance/heritage-builder.d.ts.map +1 -0
- package/dist/inheritance/heritage-builder.js +40 -0
- package/dist/inheritance/heritage-builder.js.map +1 -0
- package/dist/inheritance/index.d.ts +6 -0
- package/dist/inheritance/index.d.ts.map +1 -0
- package/dist/inheritance/index.js +4 -0
- package/dist/inheritance/index.js.map +1 -0
- package/dist/inheritance/mro-walker.d.ts +3 -0
- package/dist/inheritance/mro-walker.d.ts.map +1 -0
- package/dist/inheritance/mro-walker.js +80 -0
- package/dist/inheritance/mro-walker.js.map +1 -0
- package/dist/inheritance/override-detector.d.ts +4 -0
- package/dist/inheritance/override-detector.d.ts.map +1 -0
- package/dist/inheritance/override-detector.js +39 -0
- package/dist/inheritance/override-detector.js.map +1 -0
- package/dist/languages/index.d.ts +3 -0
- package/dist/languages/index.d.ts.map +1 -0
- package/dist/languages/index.js +2 -0
- package/dist/languages/index.js.map +1 -0
- package/dist/languages/modules/c.d.ts +3 -0
- package/dist/languages/modules/c.d.ts.map +1 -0
- package/dist/languages/modules/c.js +23 -0
- package/dist/languages/modules/c.js.map +1 -0
- package/dist/languages/modules/cpp.d.ts +3 -0
- package/dist/languages/modules/cpp.d.ts.map +1 -0
- package/dist/languages/modules/cpp.js +23 -0
- package/dist/languages/modules/cpp.js.map +1 -0
- package/dist/languages/modules/csharp.d.ts +3 -0
- package/dist/languages/modules/csharp.d.ts.map +1 -0
- package/dist/languages/modules/csharp.js +21 -0
- package/dist/languages/modules/csharp.js.map +1 -0
- package/dist/languages/modules/dart.d.ts +3 -0
- package/dist/languages/modules/dart.d.ts.map +1 -0
- package/dist/languages/modules/dart.js +30 -0
- package/dist/languages/modules/dart.js.map +1 -0
- package/dist/languages/modules/go.d.ts +3 -0
- package/dist/languages/modules/go.d.ts.map +1 -0
- package/dist/languages/modules/go.js +25 -0
- package/dist/languages/modules/go.js.map +1 -0
- package/dist/languages/modules/java.d.ts +3 -0
- package/dist/languages/modules/java.d.ts.map +1 -0
- package/dist/languages/modules/java.js +23 -0
- package/dist/languages/modules/java.js.map +1 -0
- package/dist/languages/modules/kotlin.d.ts +3 -0
- package/dist/languages/modules/kotlin.d.ts.map +1 -0
- package/dist/languages/modules/kotlin.js +22 -0
- package/dist/languages/modules/kotlin.js.map +1 -0
- package/dist/languages/modules/php.d.ts +3 -0
- package/dist/languages/modules/php.d.ts.map +1 -0
- package/dist/languages/modules/php.js +21 -0
- package/dist/languages/modules/php.js.map +1 -0
- package/dist/languages/modules/python.d.ts +3 -0
- package/dist/languages/modules/python.d.ts.map +1 -0
- package/dist/languages/modules/python.js +36 -0
- package/dist/languages/modules/python.js.map +1 -0
- package/dist/languages/modules/ruby.d.ts +3 -0
- package/dist/languages/modules/ruby.d.ts.map +1 -0
- package/dist/languages/modules/ruby.js +20 -0
- package/dist/languages/modules/ruby.js.map +1 -0
- package/dist/languages/modules/rust.d.ts +3 -0
- package/dist/languages/modules/rust.d.ts.map +1 -0
- package/dist/languages/modules/rust.js +23 -0
- package/dist/languages/modules/rust.js.map +1 -0
- package/dist/languages/modules/swift.d.ts +3 -0
- package/dist/languages/modules/swift.d.ts.map +1 -0
- package/dist/languages/modules/swift.js +21 -0
- package/dist/languages/modules/swift.js.map +1 -0
- package/dist/languages/modules/typescript.d.ts +4 -0
- package/dist/languages/modules/typescript.d.ts.map +1 -0
- package/dist/languages/modules/typescript.js +47 -0
- package/dist/languages/modules/typescript.js.map +1 -0
- package/dist/languages/registry.d.ts +5 -0
- package/dist/languages/registry.d.ts.map +1 -0
- package/dist/languages/registry.js +37 -0
- package/dist/languages/registry.js.map +1 -0
- package/dist/languages/types.d.ts +18 -0
- package/dist/languages/types.d.ts.map +1 -0
- package/dist/languages/types.js +2 -0
- package/dist/languages/types.js.map +1 -0
- package/dist/mcp-server/index.d.ts +2 -0
- package/dist/mcp-server/index.d.ts.map +1 -0
- package/dist/mcp-server/index.js +2 -0
- package/dist/mcp-server/index.js.map +1 -0
- package/dist/mcp-server/server.d.ts +5 -0
- package/dist/mcp-server/server.d.ts.map +1 -0
- package/dist/mcp-server/server.js +224 -0
- package/dist/mcp-server/server.js.map +1 -0
- package/dist/multi-repo/cross-repo-search.d.ts +3 -0
- package/dist/multi-repo/cross-repo-search.d.ts.map +1 -0
- package/dist/multi-repo/cross-repo-search.js +5 -0
- package/dist/multi-repo/cross-repo-search.js.map +1 -0
- package/dist/multi-repo/group-config.d.ts +10 -0
- package/dist/multi-repo/group-config.d.ts.map +1 -0
- package/dist/multi-repo/group-config.js +54 -0
- package/dist/multi-repo/group-config.js.map +1 -0
- package/dist/multi-repo/group-manager.d.ts +6 -0
- package/dist/multi-repo/group-manager.d.ts.map +1 -0
- package/dist/multi-repo/group-manager.js +42 -0
- package/dist/multi-repo/group-manager.js.map +1 -0
- package/dist/multi-repo/index.d.ts +5 -0
- package/dist/multi-repo/index.d.ts.map +1 -0
- package/dist/multi-repo/index.js +4 -0
- package/dist/multi-repo/index.js.map +1 -0
- package/dist/parsing/ast-cache.d.ts +13 -0
- package/dist/parsing/ast-cache.d.ts.map +1 -0
- package/dist/parsing/ast-cache.js +45 -0
- package/dist/parsing/ast-cache.js.map +1 -0
- package/dist/parsing/index.d.ts +5 -0
- package/dist/parsing/index.d.ts.map +1 -0
- package/dist/parsing/index.js +4 -0
- package/dist/parsing/index.js.map +1 -0
- package/dist/parsing/parser-manager.d.ts +7 -0
- package/dist/parsing/parser-manager.d.ts.map +1 -0
- package/dist/parsing/parser-manager.js +48 -0
- package/dist/parsing/parser-manager.js.map +1 -0
- package/dist/parsing/queries/c.d.ts +2 -0
- package/dist/parsing/queries/c.d.ts.map +1 -0
- package/dist/parsing/queries/c.js +32 -0
- package/dist/parsing/queries/c.js.map +1 -0
- package/dist/parsing/queries/cpp.d.ts +2 -0
- package/dist/parsing/queries/cpp.d.ts.map +1 -0
- package/dist/parsing/queries/cpp.js +45 -0
- package/dist/parsing/queries/cpp.js.map +1 -0
- package/dist/parsing/queries/csharp.d.ts +2 -0
- package/dist/parsing/queries/csharp.d.ts.map +1 -0
- package/dist/parsing/queries/csharp.js +55 -0
- package/dist/parsing/queries/csharp.js.map +1 -0
- package/dist/parsing/queries/go.d.ts +2 -0
- package/dist/parsing/queries/go.d.ts.map +1 -0
- package/dist/parsing/queries/go.js +46 -0
- package/dist/parsing/queries/go.js.map +1 -0
- package/dist/parsing/queries/index.d.ts +13 -0
- package/dist/parsing/queries/index.d.ts.map +1 -0
- package/dist/parsing/queries/index.js +13 -0
- package/dist/parsing/queries/index.js.map +1 -0
- package/dist/parsing/queries/java.d.ts +2 -0
- package/dist/parsing/queries/java.d.ts.map +1 -0
- package/dist/parsing/queries/java.js +46 -0
- package/dist/parsing/queries/java.js.map +1 -0
- package/dist/parsing/queries/kotlin.d.ts +2 -0
- package/dist/parsing/queries/kotlin.d.ts.map +1 -0
- package/dist/parsing/queries/kotlin.js +41 -0
- package/dist/parsing/queries/kotlin.js.map +1 -0
- package/dist/parsing/queries/php.d.ts +2 -0
- package/dist/parsing/queries/php.d.ts.map +1 -0
- package/dist/parsing/queries/php.js +60 -0
- package/dist/parsing/queries/php.js.map +1 -0
- package/dist/parsing/queries/python.d.ts +2 -0
- package/dist/parsing/queries/python.d.ts.map +1 -0
- package/dist/parsing/queries/python.js +47 -0
- package/dist/parsing/queries/python.js.map +1 -0
- package/dist/parsing/queries/ruby.d.ts +2 -0
- package/dist/parsing/queries/ruby.d.ts.map +1 -0
- package/dist/parsing/queries/ruby.js +36 -0
- package/dist/parsing/queries/ruby.js.map +1 -0
- package/dist/parsing/queries/rust.d.ts +2 -0
- package/dist/parsing/queries/rust.d.ts.map +1 -0
- package/dist/parsing/queries/rust.js +47 -0
- package/dist/parsing/queries/rust.js.map +1 -0
- package/dist/parsing/queries/swift.d.ts +2 -0
- package/dist/parsing/queries/swift.d.ts.map +1 -0
- package/dist/parsing/queries/swift.js +39 -0
- package/dist/parsing/queries/swift.js.map +1 -0
- package/dist/parsing/queries/typescript.d.ts +2 -0
- package/dist/parsing/queries/typescript.d.ts.map +1 -0
- package/dist/parsing/queries/typescript.js +84 -0
- package/dist/parsing/queries/typescript.js.map +1 -0
- package/dist/parsing/query-runner.d.ts +8 -0
- package/dist/parsing/query-runner.d.ts.map +1 -0
- package/dist/parsing/query-runner.js +16 -0
- package/dist/parsing/query-runner.js.map +1 -0
- package/dist/pipeline/dag-validator.d.ts +8 -0
- package/dist/pipeline/dag-validator.d.ts.map +1 -0
- package/dist/pipeline/dag-validator.js +88 -0
- package/dist/pipeline/dag-validator.js.map +1 -0
- package/dist/pipeline/index.d.ts +6 -0
- package/dist/pipeline/index.d.ts.map +1 -0
- package/dist/pipeline/index.js +4 -0
- package/dist/pipeline/index.js.map +1 -0
- package/dist/pipeline/orchestrator.d.ts +8 -0
- package/dist/pipeline/orchestrator.d.ts.map +1 -0
- package/dist/pipeline/orchestrator.js +47 -0
- package/dist/pipeline/orchestrator.js.map +1 -0
- package/dist/pipeline/phases/cluster-phase.d.ts +3 -0
- package/dist/pipeline/phases/cluster-phase.d.ts.map +1 -0
- package/dist/pipeline/phases/cluster-phase.js +52 -0
- package/dist/pipeline/phases/cluster-phase.js.map +1 -0
- package/dist/pipeline/phases/flow-phase.d.ts +3 -0
- package/dist/pipeline/phases/flow-phase.d.ts.map +1 -0
- package/dist/pipeline/phases/flow-phase.js +92 -0
- package/dist/pipeline/phases/flow-phase.js.map +1 -0
- package/dist/pipeline/phases/index.d.ts +6 -0
- package/dist/pipeline/phases/index.d.ts.map +1 -0
- package/dist/pipeline/phases/index.js +6 -0
- package/dist/pipeline/phases/index.js.map +1 -0
- package/dist/pipeline/phases/parse-phase.d.ts +3 -0
- package/dist/pipeline/phases/parse-phase.d.ts.map +1 -0
- package/dist/pipeline/phases/parse-phase.js +288 -0
- package/dist/pipeline/phases/parse-phase.js.map +1 -0
- package/dist/pipeline/phases/resolve-phase.d.ts +3 -0
- package/dist/pipeline/phases/resolve-phase.d.ts.map +1 -0
- package/dist/pipeline/phases/resolve-phase.js +388 -0
- package/dist/pipeline/phases/resolve-phase.js.map +1 -0
- package/dist/pipeline/phases/scan-phase.d.ts +4 -0
- package/dist/pipeline/phases/scan-phase.d.ts.map +1 -0
- package/dist/pipeline/phases/scan-phase.js +97 -0
- package/dist/pipeline/phases/scan-phase.js.map +1 -0
- package/dist/pipeline/types.d.ts +19 -0
- package/dist/pipeline/types.d.ts.map +1 -0
- package/dist/pipeline/types.js +2 -0
- package/dist/pipeline/types.js.map +1 -0
- package/dist/resolver/binding-tracker.d.ts +15 -0
- package/dist/resolver/binding-tracker.d.ts.map +1 -0
- package/dist/resolver/binding-tracker.js +22 -0
- package/dist/resolver/binding-tracker.js.map +1 -0
- package/dist/resolver/import-resolver.d.ts +16 -0
- package/dist/resolver/import-resolver.d.ts.map +1 -0
- package/dist/resolver/import-resolver.js +43 -0
- package/dist/resolver/import-resolver.js.map +1 -0
- package/dist/resolver/index.d.ts +5 -0
- package/dist/resolver/index.d.ts.map +1 -0
- package/dist/resolver/index.js +3 -0
- package/dist/resolver/index.js.map +1 -0
- package/dist/resolver/strategies/namespace-alias.d.ts +3 -0
- package/dist/resolver/strategies/namespace-alias.d.ts.map +1 -0
- package/dist/resolver/strategies/namespace-alias.js +15 -0
- package/dist/resolver/strategies/namespace-alias.js.map +1 -0
- package/dist/resolver/strategies/package-lookup.d.ts +3 -0
- package/dist/resolver/strategies/package-lookup.d.ts.map +1 -0
- package/dist/resolver/strategies/package-lookup.js +10 -0
- package/dist/resolver/strategies/package-lookup.js.map +1 -0
- package/dist/resolver/strategies/relative-path.d.ts +3 -0
- package/dist/resolver/strategies/relative-path.d.ts.map +1 -0
- package/dist/resolver/strategies/relative-path.js +12 -0
- package/dist/resolver/strategies/relative-path.js.map +1 -0
- package/dist/resolver/strategies/types.d.ts +11 -0
- package/dist/resolver/strategies/types.d.ts.map +1 -0
- package/dist/resolver/strategies/types.js +2 -0
- package/dist/resolver/strategies/types.js.map +1 -0
- package/dist/resolver/strategies/wildcard-expand.d.ts +3 -0
- package/dist/resolver/strategies/wildcard-expand.d.ts.map +1 -0
- package/dist/resolver/strategies/wildcard-expand.js +8 -0
- package/dist/resolver/strategies/wildcard-expand.js.map +1 -0
- package/dist/scope-analysis/index.d.ts +3 -0
- package/dist/scope-analysis/index.d.ts.map +1 -0
- package/dist/scope-analysis/index.js +2 -0
- package/dist/scope-analysis/index.js.map +1 -0
- package/dist/scope-analysis/scope-builder.d.ts +16 -0
- package/dist/scope-analysis/scope-builder.d.ts.map +1 -0
- package/dist/scope-analysis/scope-builder.js +19 -0
- package/dist/scope-analysis/scope-builder.js.map +1 -0
- package/dist/search/embedder.d.ts +14 -0
- package/dist/search/embedder.d.ts.map +1 -0
- package/dist/search/embedder.js +45 -0
- package/dist/search/embedder.js.map +1 -0
- package/dist/search/index.d.ts +7 -0
- package/dist/search/index.d.ts.map +1 -0
- package/dist/search/index.js +4 -0
- package/dist/search/index.js.map +1 -0
- package/dist/search/text-search.d.ts +12 -0
- package/dist/search/text-search.d.ts.map +1 -0
- package/dist/search/text-search.js +72 -0
- package/dist/search/text-search.js.map +1 -0
- package/dist/search/vector-index.d.ts +18 -0
- package/dist/search/vector-index.d.ts.map +1 -0
- package/dist/search/vector-index.js +70 -0
- package/dist/search/vector-index.js.map +1 -0
- package/dist/shared/detection.d.ts +4 -0
- package/dist/shared/detection.d.ts.map +1 -0
- package/dist/shared/detection.js +38 -0
- package/dist/shared/detection.js.map +1 -0
- package/dist/shared/graph-types.d.ts +22 -0
- package/dist/shared/graph-types.d.ts.map +1 -0
- package/dist/shared/graph-types.js +2 -0
- package/dist/shared/graph-types.js.map +1 -0
- package/dist/shared/index.d.ts +5 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/index.js +3 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/shared/languages.d.ts +17 -0
- package/dist/shared/languages.d.ts.map +1 -0
- package/dist/shared/languages.js +18 -0
- package/dist/shared/languages.js.map +1 -0
- package/dist/shared/pipeline-types.d.ts +21 -0
- package/dist/shared/pipeline-types.d.ts.map +1 -0
- package/dist/shared/pipeline-types.js +2 -0
- package/dist/shared/pipeline-types.js.map +1 -0
- package/dist/storage/csv-writer.d.ts +9 -0
- package/dist/storage/csv-writer.d.ts.map +1 -0
- package/dist/storage/csv-writer.js +77 -0
- package/dist/storage/csv-writer.js.map +1 -0
- package/dist/storage/db-manager.d.ts +12 -0
- package/dist/storage/db-manager.d.ts.map +1 -0
- package/dist/storage/db-manager.js +50 -0
- package/dist/storage/db-manager.js.map +1 -0
- package/dist/storage/graph-loader.d.ts +7 -0
- package/dist/storage/graph-loader.d.ts.map +1 -0
- package/dist/storage/graph-loader.js +71 -0
- package/dist/storage/graph-loader.js.map +1 -0
- package/dist/storage/index.d.ts +10 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +7 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/metadata.d.ts +15 -0
- package/dist/storage/metadata.d.ts.map +1 -0
- package/dist/storage/metadata.js +23 -0
- package/dist/storage/metadata.js.map +1 -0
- package/dist/storage/repo-registry.d.ts +15 -0
- package/dist/storage/repo-registry.d.ts.map +1 -0
- package/dist/storage/repo-registry.js +34 -0
- package/dist/storage/repo-registry.js.map +1 -0
- package/dist/storage/schema.d.ts +6 -0
- package/dist/storage/schema.d.ts.map +1 -0
- package/dist/storage/schema.js +54 -0
- package/dist/storage/schema.js.map +1 -0
- package/package.json +63 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-phase.d.ts","sourceRoot":"","sources":["../../../src/pipeline/phases/parse-phase.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAgC,MAAM,aAAa,CAAC;AAIvE,eAAO,MAAM,UAAU,EAAE,KAyFxB,CAAC"}
|
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { detectLanguage, Language } from '../../shared/index.js';
|
|
4
|
+
import { generateNodeId, generateEdgeId } from '../../graph/id-generator.js';
|
|
5
|
+
export const parsePhase = {
|
|
6
|
+
name: 'parse',
|
|
7
|
+
dependencies: ['structure'],
|
|
8
|
+
async execute(context) {
|
|
9
|
+
const start = Date.now();
|
|
10
|
+
let symbolCount = 0;
|
|
11
|
+
for (const filePath of context.filePaths) {
|
|
12
|
+
const lang = detectLanguage(filePath);
|
|
13
|
+
if (!lang)
|
|
14
|
+
continue;
|
|
15
|
+
const relativePath = path.relative(context.workspaceRoot, filePath);
|
|
16
|
+
const fileNodeId = generateNodeId('file', relativePath, relativePath);
|
|
17
|
+
let source;
|
|
18
|
+
try {
|
|
19
|
+
source = fs.readFileSync(filePath, 'utf-8');
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
// Store content on file node for search
|
|
25
|
+
const fileNode = context.graph.getNode(fileNodeId);
|
|
26
|
+
if (fileNode) {
|
|
27
|
+
fileNode.content = source.slice(0, 2000);
|
|
28
|
+
}
|
|
29
|
+
const nodes = [];
|
|
30
|
+
const edges = [];
|
|
31
|
+
const seen = new Set();
|
|
32
|
+
const lines = source.split('\n');
|
|
33
|
+
for (let i = 0; i < lines.length; i++) {
|
|
34
|
+
const line = lines[i];
|
|
35
|
+
const trimmed = line.trim();
|
|
36
|
+
// Skip comments
|
|
37
|
+
if (trimmed.startsWith('//') || trimmed.startsWith('#') || trimmed.startsWith('*') || trimmed.startsWith('/*'))
|
|
38
|
+
continue;
|
|
39
|
+
const extracted = extractSymbol(trimmed, lang, i + 1, relativePath);
|
|
40
|
+
if (!extracted)
|
|
41
|
+
continue;
|
|
42
|
+
if (seen.has(extracted.name + ':' + extracted.kind))
|
|
43
|
+
continue;
|
|
44
|
+
seen.add(extracted.name + ':' + extracted.kind);
|
|
45
|
+
const nodeId = generateNodeId(extracted.kind, relativePath, extracted.name);
|
|
46
|
+
nodes.push({
|
|
47
|
+
id: nodeId,
|
|
48
|
+
kind: extracted.kind,
|
|
49
|
+
name: extracted.name,
|
|
50
|
+
filePath: relativePath,
|
|
51
|
+
startLine: i + 1,
|
|
52
|
+
exported: extracted.exported,
|
|
53
|
+
content: extractBlock(lines, i, 20),
|
|
54
|
+
});
|
|
55
|
+
edges.push({
|
|
56
|
+
id: generateEdgeId(fileNodeId, nodeId, 'contains'),
|
|
57
|
+
source: fileNodeId,
|
|
58
|
+
target: nodeId,
|
|
59
|
+
kind: 'contains',
|
|
60
|
+
weight: 1.0,
|
|
61
|
+
});
|
|
62
|
+
// has_member edge for methods inside classes
|
|
63
|
+
if (extracted.ownerName) {
|
|
64
|
+
const ownerId = generateNodeId('class', relativePath, extracted.ownerName);
|
|
65
|
+
if (context.graph.getNode(ownerId) || nodes.some((n) => n.id === ownerId)) {
|
|
66
|
+
edges.push({
|
|
67
|
+
id: generateEdgeId(ownerId, nodeId, 'has_member'),
|
|
68
|
+
source: ownerId,
|
|
69
|
+
target: nodeId,
|
|
70
|
+
kind: 'has_member',
|
|
71
|
+
weight: 1.0,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
symbolCount++;
|
|
76
|
+
}
|
|
77
|
+
for (const n of nodes)
|
|
78
|
+
context.graph.addNode(n);
|
|
79
|
+
for (const e of edges)
|
|
80
|
+
context.graph.addEdge(e);
|
|
81
|
+
}
|
|
82
|
+
return {
|
|
83
|
+
status: 'completed',
|
|
84
|
+
duration: Date.now() - start,
|
|
85
|
+
message: `Extracted ${symbolCount} symbols`,
|
|
86
|
+
};
|
|
87
|
+
},
|
|
88
|
+
};
|
|
89
|
+
function extractSymbol(line, lang, _lineNum, _filePath) {
|
|
90
|
+
// --- TypeScript/JavaScript ---
|
|
91
|
+
if (lang === Language.TypeScript || lang === Language.JavaScript) {
|
|
92
|
+
const func = line.match(/^(?:export\s+)?(?:default\s+)?(?:async\s+)?function\s+(\w+)/);
|
|
93
|
+
if (func)
|
|
94
|
+
return { kind: 'function', name: func[1], exported: line.includes('export') };
|
|
95
|
+
const arrowFunc = line.match(/^(?:export\s+)?(?:const|let|var)\s+(\w+)\s*=\s*(?:async\s+)?\(/);
|
|
96
|
+
if (arrowFunc)
|
|
97
|
+
return { kind: 'function', name: arrowFunc[1], exported: line.includes('export') };
|
|
98
|
+
const arrowFunc2 = line.match(/^(?:export\s+)?(?:const|let|var)\s+(\w+)\s*=\s*(?:async\s+)?(?:\([^)]*\)|[a-zA-Z_]\w*)\s*=>/);
|
|
99
|
+
if (arrowFunc2)
|
|
100
|
+
return { kind: 'function', name: arrowFunc2[1], exported: line.includes('export') };
|
|
101
|
+
const cls = line.match(/^(?:export\s+)?(?:default\s+)?(?:abstract\s+)?class\s+(\w+)/);
|
|
102
|
+
if (cls)
|
|
103
|
+
return { kind: 'class', name: cls[1], exported: line.includes('export') };
|
|
104
|
+
const iface = line.match(/^(?:export\s+)?interface\s+(\w+)/);
|
|
105
|
+
if (iface)
|
|
106
|
+
return { kind: 'interface', name: iface[1], exported: line.includes('export') };
|
|
107
|
+
const enumM = line.match(/^(?:export\s+)?enum\s+(\w+)/);
|
|
108
|
+
if (enumM)
|
|
109
|
+
return { kind: 'enum', name: enumM[1], exported: line.includes('export') };
|
|
110
|
+
const typeAlias = line.match(/^(?:export\s+)?type\s+(\w+)\s*[=<]/);
|
|
111
|
+
if (typeAlias)
|
|
112
|
+
return { kind: 'type_alias', name: typeAlias[1], exported: line.includes('export') };
|
|
113
|
+
const constVar = line.match(/^(?:export\s+)?const\s+(\w+)\s*(?::\s*\w[^=]*)?\s*=/);
|
|
114
|
+
if (constVar && /^[A-Z_]+$/.test(constVar[1])) {
|
|
115
|
+
return { kind: 'constant', name: constVar[1], exported: line.includes('export') };
|
|
116
|
+
}
|
|
117
|
+
const method = line.match(/^(?:(?:public|private|protected|static|async|readonly)\s+)*(\w+)\s*\(/);
|
|
118
|
+
if (method && !['if', 'for', 'while', 'switch', 'catch', 'return', 'constructor'].includes(method[1])) {
|
|
119
|
+
if (method[1] === 'constructor') {
|
|
120
|
+
return { kind: 'constructor', name: 'constructor', exported: false };
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
// --- Python ---
|
|
125
|
+
if (lang === Language.Python) {
|
|
126
|
+
const func = line.match(/^(?:async\s+)?def\s+(\w+)/);
|
|
127
|
+
if (func)
|
|
128
|
+
return { kind: func[1].startsWith('__') ? 'method' : 'function', name: func[1], exported: !func[1].startsWith('_') };
|
|
129
|
+
const cls = line.match(/^class\s+(\w+)/);
|
|
130
|
+
if (cls)
|
|
131
|
+
return { kind: 'class', name: cls[1], exported: !cls[1].startsWith('_') };
|
|
132
|
+
}
|
|
133
|
+
// --- Java ---
|
|
134
|
+
if (lang === Language.Java) {
|
|
135
|
+
const cls = line.match(/(?:public|private|protected)?\s*(?:static\s+)?(?:abstract\s+)?(?:final\s+)?class\s+(\w+)/);
|
|
136
|
+
if (cls)
|
|
137
|
+
return { kind: 'class', name: cls[1], exported: line.includes('public') };
|
|
138
|
+
const iface = line.match(/(?:public\s+)?interface\s+(\w+)/);
|
|
139
|
+
if (iface)
|
|
140
|
+
return { kind: 'interface', name: iface[1], exported: line.includes('public') };
|
|
141
|
+
const enumM = line.match(/(?:public\s+)?enum\s+(\w+)/);
|
|
142
|
+
if (enumM)
|
|
143
|
+
return { kind: 'enum', name: enumM[1], exported: line.includes('public') };
|
|
144
|
+
const method = line.match(/(?:public|private|protected)\s+(?:static\s+)?(?:[\w<>\[\]]+)\s+(\w+)\s*\(/);
|
|
145
|
+
if (method)
|
|
146
|
+
return { kind: 'method', name: method[1], exported: line.includes('public') };
|
|
147
|
+
}
|
|
148
|
+
// --- Go ---
|
|
149
|
+
if (lang === Language.Go) {
|
|
150
|
+
const func = line.match(/^func\s+(\w+)\s*\(/);
|
|
151
|
+
if (func)
|
|
152
|
+
return { kind: 'function', name: func[1], exported: func[1][0] === func[1][0].toUpperCase() };
|
|
153
|
+
const method = line.match(/^func\s+\([^)]+\)\s+(\w+)\s*\(/);
|
|
154
|
+
if (method)
|
|
155
|
+
return { kind: 'method', name: method[1], exported: method[1][0] === method[1][0].toUpperCase() };
|
|
156
|
+
const structM = line.match(/^type\s+(\w+)\s+struct\b/);
|
|
157
|
+
if (structM)
|
|
158
|
+
return { kind: 'struct', name: structM[1], exported: structM[1][0] === structM[1][0].toUpperCase() };
|
|
159
|
+
const ifaceM = line.match(/^type\s+(\w+)\s+interface\b/);
|
|
160
|
+
if (ifaceM)
|
|
161
|
+
return { kind: 'interface', name: ifaceM[1], exported: ifaceM[1][0] === ifaceM[1][0].toUpperCase() };
|
|
162
|
+
}
|
|
163
|
+
// --- Rust ---
|
|
164
|
+
if (lang === Language.Rust) {
|
|
165
|
+
const func = line.match(/^(?:pub\s+)?(?:async\s+)?fn\s+(\w+)/);
|
|
166
|
+
if (func)
|
|
167
|
+
return { kind: 'function', name: func[1], exported: line.startsWith('pub') };
|
|
168
|
+
const structM = line.match(/^(?:pub\s+)?struct\s+(\w+)/);
|
|
169
|
+
if (structM)
|
|
170
|
+
return { kind: 'struct', name: structM[1], exported: line.startsWith('pub') };
|
|
171
|
+
const enumM = line.match(/^(?:pub\s+)?enum\s+(\w+)/);
|
|
172
|
+
if (enumM)
|
|
173
|
+
return { kind: 'enum', name: enumM[1], exported: line.startsWith('pub') };
|
|
174
|
+
const traitM = line.match(/^(?:pub\s+)?trait\s+(\w+)/);
|
|
175
|
+
if (traitM)
|
|
176
|
+
return { kind: 'trait', name: traitM[1], exported: line.startsWith('pub') };
|
|
177
|
+
const implM = line.match(/^impl(?:<[^>]*>)?\s+(\w+)/);
|
|
178
|
+
if (implM)
|
|
179
|
+
return { kind: 'class', name: implM[1], exported: false };
|
|
180
|
+
}
|
|
181
|
+
// --- C/C++ ---
|
|
182
|
+
if (lang === Language.C || lang === Language.Cpp) {
|
|
183
|
+
const cls = line.match(/^(?:class|struct)\s+(\w+)/);
|
|
184
|
+
if (cls)
|
|
185
|
+
return { kind: lang === Language.Cpp ? 'class' : 'struct', name: cls[1], exported: true };
|
|
186
|
+
const nsM = line.match(/^namespace\s+(\w+)/);
|
|
187
|
+
if (nsM)
|
|
188
|
+
return { kind: 'namespace', name: nsM[1], exported: true };
|
|
189
|
+
const func = line.match(/^(?:[\w:*&<>\[\]]+\s+)+(\w+)\s*\([^;]*$/);
|
|
190
|
+
if (func && !['if', 'for', 'while', 'switch', 'return'].includes(func[1])) {
|
|
191
|
+
return { kind: 'function', name: func[1], exported: true };
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
// --- C# ---
|
|
195
|
+
if (lang === Language.CSharp) {
|
|
196
|
+
const cls = line.match(/(?:public|internal|private)?\s*(?:static\s+)?(?:abstract\s+)?(?:partial\s+)?class\s+(\w+)/);
|
|
197
|
+
if (cls)
|
|
198
|
+
return { kind: 'class', name: cls[1], exported: line.includes('public') };
|
|
199
|
+
const iface = line.match(/(?:public\s+)?interface\s+(\w+)/);
|
|
200
|
+
if (iface)
|
|
201
|
+
return { kind: 'interface', name: iface[1], exported: line.includes('public') };
|
|
202
|
+
const structM = line.match(/(?:public\s+)?struct\s+(\w+)/);
|
|
203
|
+
if (structM)
|
|
204
|
+
return { kind: 'struct', name: structM[1], exported: line.includes('public') };
|
|
205
|
+
const method = line.match(/(?:public|private|protected|internal)\s+(?:static\s+)?(?:async\s+)?(?:[\w<>\[\]?]+)\s+(\w+)\s*\(/);
|
|
206
|
+
if (method)
|
|
207
|
+
return { kind: 'method', name: method[1], exported: line.includes('public') };
|
|
208
|
+
const nsM = line.match(/namespace\s+([\w.]+)/);
|
|
209
|
+
if (nsM)
|
|
210
|
+
return { kind: 'namespace', name: nsM[1], exported: true };
|
|
211
|
+
}
|
|
212
|
+
// --- PHP ---
|
|
213
|
+
if (lang === Language.PHP) {
|
|
214
|
+
const cls = line.match(/(?:abstract\s+)?class\s+(\w+)/);
|
|
215
|
+
if (cls)
|
|
216
|
+
return { kind: 'class', name: cls[1], exported: true };
|
|
217
|
+
const func = line.match(/(?:public|private|protected|static\s+)*function\s+(\w+)/);
|
|
218
|
+
if (func)
|
|
219
|
+
return { kind: 'function', name: func[1], exported: line.includes('public') || !line.includes('private') };
|
|
220
|
+
const iface = line.match(/interface\s+(\w+)/);
|
|
221
|
+
if (iface)
|
|
222
|
+
return { kind: 'interface', name: iface[1], exported: true };
|
|
223
|
+
const traitM = line.match(/trait\s+(\w+)/);
|
|
224
|
+
if (traitM)
|
|
225
|
+
return { kind: 'trait', name: traitM[1], exported: true };
|
|
226
|
+
}
|
|
227
|
+
// --- Kotlin ---
|
|
228
|
+
if (lang === Language.Kotlin) {
|
|
229
|
+
const cls = line.match(/(?:data\s+|sealed\s+|abstract\s+|open\s+)?class\s+(\w+)/);
|
|
230
|
+
if (cls)
|
|
231
|
+
return { kind: 'class', name: cls[1], exported: !line.includes('private') };
|
|
232
|
+
const iface = line.match(/interface\s+(\w+)/);
|
|
233
|
+
if (iface)
|
|
234
|
+
return { kind: 'interface', name: iface[1], exported: !line.includes('private') };
|
|
235
|
+
const func = line.match(/(?:suspend\s+)?fun\s+(\w+)/);
|
|
236
|
+
if (func)
|
|
237
|
+
return { kind: 'function', name: func[1], exported: !line.includes('private') };
|
|
238
|
+
const obj = line.match(/object\s+(\w+)/);
|
|
239
|
+
if (obj)
|
|
240
|
+
return { kind: 'class', name: obj[1], exported: !line.includes('private') };
|
|
241
|
+
}
|
|
242
|
+
// --- Ruby ---
|
|
243
|
+
if (lang === Language.Ruby) {
|
|
244
|
+
const cls = line.match(/^class\s+(\w+)/);
|
|
245
|
+
if (cls)
|
|
246
|
+
return { kind: 'class', name: cls[1], exported: true };
|
|
247
|
+
const modM = line.match(/^module\s+(\w+)/);
|
|
248
|
+
if (modM)
|
|
249
|
+
return { kind: 'module', name: modM[1], exported: true };
|
|
250
|
+
const method = line.match(/^(?:def\s+(?:self\.)?(\w+))/);
|
|
251
|
+
if (method)
|
|
252
|
+
return { kind: 'method', name: method[1], exported: true };
|
|
253
|
+
}
|
|
254
|
+
// --- Swift ---
|
|
255
|
+
if (lang === Language.Swift) {
|
|
256
|
+
const cls = line.match(/(?:public\s+|open\s+)?(?:final\s+)?class\s+(\w+)/);
|
|
257
|
+
if (cls)
|
|
258
|
+
return { kind: 'class', name: cls[1], exported: !line.includes('private') };
|
|
259
|
+
const structM = line.match(/(?:public\s+)?struct\s+(\w+)/);
|
|
260
|
+
if (structM)
|
|
261
|
+
return { kind: 'struct', name: structM[1], exported: !line.includes('private') };
|
|
262
|
+
const proto = line.match(/(?:public\s+)?protocol\s+(\w+)/);
|
|
263
|
+
if (proto)
|
|
264
|
+
return { kind: 'interface', name: proto[1], exported: !line.includes('private') };
|
|
265
|
+
const enumM = line.match(/(?:public\s+)?enum\s+(\w+)/);
|
|
266
|
+
if (enumM)
|
|
267
|
+
return { kind: 'enum', name: enumM[1], exported: !line.includes('private') };
|
|
268
|
+
const func = line.match(/(?:public\s+|private\s+|internal\s+)?(?:static\s+)?func\s+(\w+)/);
|
|
269
|
+
if (func)
|
|
270
|
+
return { kind: 'function', name: func[1], exported: !line.includes('private') };
|
|
271
|
+
}
|
|
272
|
+
// --- Dart ---
|
|
273
|
+
if (lang === Language.Dart) {
|
|
274
|
+
const cls = line.match(/(?:abstract\s+)?class\s+(\w+)/);
|
|
275
|
+
if (cls)
|
|
276
|
+
return { kind: 'class', name: cls[1], exported: !cls[1].startsWith('_') };
|
|
277
|
+
const func = line.match(/^(?:\w+\s+)?(\w+)\s*\(/);
|
|
278
|
+
if (func && !['if', 'for', 'while', 'switch', 'catch', 'return'].includes(func[1])) {
|
|
279
|
+
return { kind: 'function', name: func[1], exported: !func[1].startsWith('_') };
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
return null;
|
|
283
|
+
}
|
|
284
|
+
function extractBlock(lines, startIdx, maxLines) {
|
|
285
|
+
const end = Math.min(startIdx + maxLines, lines.length);
|
|
286
|
+
return lines.slice(startIdx, end).join('\n');
|
|
287
|
+
}
|
|
288
|
+
//# sourceMappingURL=parse-phase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-phase.js","sourceRoot":"","sources":["../../../src/pipeline/phases/parse-phase.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-phase.d.ts","sourceRoot":"","sources":["../../../src/pipeline/phases/resolve-phase.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAgC,MAAM,aAAa,CAAC;AAyBvE,eAAO,MAAM,YAAY,EAAE,KAuM1B,CAAC"}
|