kiri-mcp-server 0.17.0 → 0.18.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/README.md +13 -6
- package/dist/package.json +4 -2
- package/dist/src/indexer/codeintel/dart/adapter.d.ts +36 -0
- package/dist/src/indexer/codeintel/dart/adapter.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/dart/adapter.js +60 -0
- package/dist/src/indexer/codeintel/dart/adapter.js.map +1 -0
- package/dist/src/indexer/codeintel/dart/index.d.ts +7 -0
- package/dist/src/indexer/codeintel/dart/index.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/dart/index.js +7 -0
- package/dist/src/indexer/codeintel/dart/index.js.map +1 -0
- package/dist/src/indexer/codeintel/index.d.ts +30 -0
- package/dist/src/indexer/codeintel/index.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/index.js +32 -0
- package/dist/src/indexer/codeintel/index.js.map +1 -0
- package/dist/src/indexer/codeintel/java/analyzer.d.ts +22 -0
- package/dist/src/indexer/codeintel/java/analyzer.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/java/analyzer.js +281 -0
- package/dist/src/indexer/codeintel/java/analyzer.js.map +1 -0
- package/dist/src/indexer/codeintel/java/index.d.ts +7 -0
- package/dist/src/indexer/codeintel/java/index.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/java/index.js +7 -0
- package/dist/src/indexer/codeintel/java/index.js.map +1 -0
- package/dist/src/indexer/codeintel/php/analyzer.d.ts +23 -0
- package/dist/src/indexer/codeintel/php/analyzer.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/php/analyzer.js +342 -0
- package/dist/src/indexer/codeintel/php/analyzer.js.map +1 -0
- package/dist/src/indexer/codeintel/php/index.d.ts +7 -0
- package/dist/src/indexer/codeintel/php/index.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/php/index.js +7 -0
- package/dist/src/indexer/codeintel/php/index.js.map +1 -0
- package/dist/src/indexer/codeintel/registry.d.ts +76 -0
- package/dist/src/indexer/codeintel/registry.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/registry.js +127 -0
- package/dist/src/indexer/codeintel/registry.js.map +1 -0
- package/dist/src/indexer/codeintel/rust/analyzer.d.ts +14 -0
- package/dist/src/indexer/codeintel/rust/analyzer.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/rust/analyzer.js +388 -0
- package/dist/src/indexer/codeintel/rust/analyzer.js.map +1 -0
- package/dist/src/indexer/codeintel/rust/index.d.ts +5 -0
- package/dist/src/indexer/codeintel/rust/index.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/rust/index.js +5 -0
- package/dist/src/indexer/codeintel/rust/index.js.map +1 -0
- package/dist/src/indexer/codeintel/swift/analyzer.d.ts +22 -0
- package/dist/src/indexer/codeintel/swift/analyzer.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/swift/analyzer.js +271 -0
- package/dist/src/indexer/codeintel/swift/analyzer.js.map +1 -0
- package/dist/src/indexer/codeintel/swift/index.d.ts +7 -0
- package/dist/src/indexer/codeintel/swift/index.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/swift/index.js +7 -0
- package/dist/src/indexer/codeintel/swift/index.js.map +1 -0
- package/dist/src/indexer/codeintel/types.d.ts +114 -0
- package/dist/src/indexer/codeintel/types.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/types.js +13 -0
- package/dist/src/indexer/codeintel/types.js.map +1 -0
- package/dist/src/indexer/codeintel/typescript/analyzer.d.ts +22 -0
- package/dist/src/indexer/codeintel/typescript/analyzer.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/typescript/analyzer.js +210 -0
- package/dist/src/indexer/codeintel/typescript/analyzer.js.map +1 -0
- package/dist/src/indexer/codeintel/typescript/index.d.ts +7 -0
- package/dist/src/indexer/codeintel/typescript/index.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/typescript/index.js +7 -0
- package/dist/src/indexer/codeintel/typescript/index.js.map +1 -0
- package/dist/src/indexer/codeintel/utils.d.ts +91 -0
- package/dist/src/indexer/codeintel/utils.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/utils.js +145 -0
- package/dist/src/indexer/codeintel/utils.js.map +1 -0
- package/dist/src/indexer/codeintel.d.ts +33 -26
- package/dist/src/indexer/codeintel.d.ts.map +1 -1
- package/dist/src/indexer/codeintel.js +56 -1078
- package/dist/src/indexer/codeintel.js.map +1 -1
- package/package.json +10 -2
- package/dist/src/client/model-cli.d.ts +0 -12
- package/dist/src/client/model-cli.d.ts.map +0 -1
- package/dist/src/client/model-cli.js +0 -247
- package/dist/src/client/model-cli.js.map +0 -1
- package/dist/src/shared/utils/global-dirs.d.ts +0 -64
- package/dist/src/shared/utils/global-dirs.d.ts.map +0 -1
- package/dist/src/shared/utils/global-dirs.js +0 -134
- package/dist/src/shared/utils/global-dirs.js.map +0 -1
- package/dist/src/vss/config.d.ts +0 -66
- package/dist/src/vss/config.d.ts.map +0 -1
- package/dist/src/vss/config.js +0 -233
- package/dist/src/vss/config.js.map +0 -1
- package/dist/src/vss/index.d.ts +0 -9
- package/dist/src/vss/index.d.ts.map +0 -1
- package/dist/src/vss/index.js +0 -9
- package/dist/src/vss/index.js.map +0 -1
- package/dist/src/vss/model-downloader.d.ts +0 -101
- package/dist/src/vss/model-downloader.d.ts.map +0 -1
- package/dist/src/vss/model-downloader.js +0 -320
- package/dist/src/vss/model-downloader.js.map +0 -1
- package/dist/src/vss/provider.d.ts +0 -132
- package/dist/src/vss/provider.d.ts.map +0 -1
- package/dist/src/vss/provider.js +0 -254
- package/dist/src/vss/provider.js.map +0 -1
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> Intelligent code context extraction for LLMs via Model Context Protocol
|
|
4
4
|
|
|
5
|
-
[](package.json)
|
|
6
6
|
[](LICENSE)
|
|
7
7
|
[](https://www.typescriptlang.org/)
|
|
8
8
|
[](https://modelcontextprotocol.io/)
|
|
@@ -20,19 +20,25 @@
|
|
|
20
20
|
- **📝 Phrase-Aware**: Recognizes compound terms (kebab-case, snake_case) for precise matching
|
|
21
21
|
- **🔒 Concurrency-Safe** _(v0.9.7+)_: Per-database queues, canonicalized DuckDB paths, and bootstrap-safe locking prevent FTS rebuild conflicts and keep locks consistent across symlinks—even on first run
|
|
22
22
|
|
|
23
|
-
## 🆕 What's New in v0.
|
|
23
|
+
## 🆕 What's New in v0.18.0
|
|
24
24
|
|
|
25
25
|
### ✨ New Features
|
|
26
26
|
|
|
27
|
-
-
|
|
28
|
-
|
|
27
|
+
- **Rust code intelligence**: tree-sitter-rust based analyzer extracts symbols/snippets (struct/enum/trait/impl/fn/mod/const/static/type/macro) and resolves imports, module files, and extern crates for dependency graph integration
|
|
28
|
+
- **shirushi document ID management**: Document ID uniqueness validation and management via shirushi linting
|
|
29
|
+
|
|
30
|
+
### 🔧 Improvements
|
|
31
|
+
|
|
32
|
+
- **Clean Architecture refactoring**: Reorganized language analyzers using Clean Architecture for improved extensibility and maintainability
|
|
29
33
|
|
|
30
34
|
### 🐛 Bug Fixes
|
|
31
35
|
|
|
32
|
-
- **
|
|
36
|
+
- **Rust imports resolution**: Fixed resolution of Rust imports ending with items
|
|
37
|
+
- **Build cleanup**: Clean dist directory before build to prevent stale files from persisting
|
|
33
38
|
|
|
34
39
|
### Previous Releases
|
|
35
40
|
|
|
41
|
+
- **v0.17.0**: `code` boost_profile, graph metrics retry logic
|
|
36
42
|
- **v0.16.1**: Graceful degradation for graph layer tables
|
|
37
43
|
- **v0.16.0**: DuckDB client migration to `@duckdb/node-api`
|
|
38
44
|
- **v0.15.0**: `snippets_get` view parameter, co-change scoring, stop words & IDF weighting
|
|
@@ -809,6 +815,7 @@ KIRI provides AST-based symbol extraction for the following languages:
|
|
|
809
815
|
| **PHP** | `.php` | `class`, `interface`, `trait`, `function`, `method`, `property`, `constant`, `namespace` | tree-sitter-php (pure & HTML-mixed) |
|
|
810
816
|
| **Java** | `.java` | `class`, `interface`, `enum`, `annotation`, `method`, `constructor`, `field` | tree-sitter-java |
|
|
811
817
|
| **Dart** | `.dart` | `class`, `mixin`, `enum`, `extension`, `function`, `method`, `getter`, `setter` | Dart Analysis Server |
|
|
818
|
+
| **Rust** | `.rs` | `struct`, `enum`, `trait`, `impl`, `fn`, `mod`, `const`, `static`, `macro`, `type` | tree-sitter-rust |
|
|
812
819
|
|
|
813
820
|
**Dart Integration Features:**
|
|
814
821
|
|
|
@@ -818,7 +825,7 @@ KIRI provides AST-based symbol extraction for the following languages:
|
|
|
818
825
|
- Windows path normalization for case-insensitive filesystems
|
|
819
826
|
- Graceful degradation when Dart SDK is unavailable
|
|
820
827
|
|
|
821
|
-
Other languages are detected and indexed but use full-file snippets instead of symbol-level extraction. Support for additional languages (
|
|
828
|
+
Other languages are detected and indexed but use full-file snippets instead of symbol-level extraction. Support for additional languages (Go, Python, etc.) is planned.
|
|
822
829
|
|
|
823
830
|
## 🏗️ How It Works
|
|
824
831
|
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kiri-mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.0",
|
|
4
4
|
"description": "KIRI context extraction platform",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "pnpm@9.0.0",
|
|
@@ -51,7 +51,8 @@
|
|
|
51
51
|
},
|
|
52
52
|
"scripts": {
|
|
53
53
|
"bootstrap": "pnpm install",
|
|
54
|
-
"
|
|
54
|
+
"clean": "rm -rf dist",
|
|
55
|
+
"build": "pnpm run clean && tsc --project tsconfig.build.json && pnpm run build:copy-assets",
|
|
55
56
|
"build:copy-assets": "tsx scripts/build/copy-assets.ts",
|
|
56
57
|
"dev": "tsx src/server/main.ts --port 8765",
|
|
57
58
|
"lint": "eslint \"{src,tests,scripts}/**/*.{ts,tsx}\" && prettier --check \"**/*.{ts,tsx,json,md,yml}\"",
|
|
@@ -85,6 +86,7 @@
|
|
|
85
86
|
"tree-sitter": "^0.22.0",
|
|
86
87
|
"tree-sitter-java": "^0.23.2",
|
|
87
88
|
"tree-sitter-php": "^0.22.8",
|
|
89
|
+
"tree-sitter-rust": "^0.23.0",
|
|
88
90
|
"tree-sitter-swift": "0.7.1",
|
|
89
91
|
"typescript": "^5.6.3",
|
|
90
92
|
"yaml": "^2.8.1",
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dart Language Analyzer Adapter
|
|
3
|
+
*
|
|
4
|
+
* 既存の Dart Analysis Server 実装をラップして LanguageAnalyzer インターフェースを提供。
|
|
5
|
+
* Dart はLSPベースの Analysis Server を使用するため、他の tree-sitter ベースの
|
|
6
|
+
* アナライザーとは異なるアーキテクチャを持つ。
|
|
7
|
+
*/
|
|
8
|
+
import type { LanguageAnalyzer, AnalysisContext, AnalysisResult } from "../types.js";
|
|
9
|
+
/**
|
|
10
|
+
* Dart Language Analyzer
|
|
11
|
+
*
|
|
12
|
+
* LanguageAnalyzer インターフェースを実装し、
|
|
13
|
+
* Dart Analysis Server を使用したシンボル抽出と依存関係解析を提供。
|
|
14
|
+
*
|
|
15
|
+
* 特徴:
|
|
16
|
+
* - LSPベースの Analysis Server を使用
|
|
17
|
+
* - プロセスプーリングによるリソース効率化
|
|
18
|
+
* - 参照カウントとアイドルTTLによるライフサイクル管理
|
|
19
|
+
* - workspaceRoot が必須 (Analysis Server は絶対パスを要求)
|
|
20
|
+
*/
|
|
21
|
+
export declare class DartAnalyzer implements LanguageAnalyzer {
|
|
22
|
+
readonly language = "Dart";
|
|
23
|
+
analyze(context: AnalysisContext): Promise<AnalysisResult>;
|
|
24
|
+
/**
|
|
25
|
+
* 全ての Dart Analysis Server プロセスをクリーンアップ
|
|
26
|
+
*
|
|
27
|
+
* このメソッドは LanguageRegistry.cleanup() から呼び出され、
|
|
28
|
+
* プール内の全クライアントを適切に終了する
|
|
29
|
+
*/
|
|
30
|
+
dispose(): Promise<void>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Dart アナライザーのファクトリ関数
|
|
34
|
+
*/
|
|
35
|
+
export declare function createDartAnalyzer(): DartAnalyzer;
|
|
36
|
+
//# sourceMappingURL=adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../../src/indexer/codeintel/dart/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAMrF;;;;;;;;;;;GAWG;AACH,qBAAa,YAAa,YAAW,gBAAgB;IACnD,QAAQ,CAAC,QAAQ,UAAU;IAErB,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAwBhE;;;;;OAKG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,CAEjD"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dart Language Analyzer Adapter
|
|
3
|
+
*
|
|
4
|
+
* 既存の Dart Analysis Server 実装をラップして LanguageAnalyzer インターフェースを提供。
|
|
5
|
+
* Dart はLSPベースの Analysis Server を使用するため、他の tree-sitter ベースの
|
|
6
|
+
* アナライザーとは異なるアーキテクチャを持つ。
|
|
7
|
+
*/
|
|
8
|
+
import { analyzeDartSource, cleanup } from "../../dart/analyze.js";
|
|
9
|
+
import { emptyResult } from "../types.js";
|
|
10
|
+
// 既存の Dart 解析実装をインポート
|
|
11
|
+
// Note: analyzeDartSource と cleanup は src/indexer/dart/ にある既存実装を使用
|
|
12
|
+
/**
|
|
13
|
+
* Dart Language Analyzer
|
|
14
|
+
*
|
|
15
|
+
* LanguageAnalyzer インターフェースを実装し、
|
|
16
|
+
* Dart Analysis Server を使用したシンボル抽出と依存関係解析を提供。
|
|
17
|
+
*
|
|
18
|
+
* 特徴:
|
|
19
|
+
* - LSPベースの Analysis Server を使用
|
|
20
|
+
* - プロセスプーリングによるリソース効率化
|
|
21
|
+
* - 参照カウントとアイドルTTLによるライフサイクル管理
|
|
22
|
+
* - workspaceRoot が必須 (Analysis Server は絶対パスを要求)
|
|
23
|
+
*/
|
|
24
|
+
export class DartAnalyzer {
|
|
25
|
+
language = "Dart";
|
|
26
|
+
async analyze(context) {
|
|
27
|
+
const { pathInRepo, content, workspaceRoot } = context;
|
|
28
|
+
// Dart Analysis Server は workspaceRoot を要求する
|
|
29
|
+
if (!workspaceRoot) {
|
|
30
|
+
console.warn(`[DartAnalyzer] workspaceRoot required for Dart analysis, skipping ${pathInRepo}`);
|
|
31
|
+
return emptyResult();
|
|
32
|
+
}
|
|
33
|
+
// 既存の Dart 解析実装を呼び出し
|
|
34
|
+
const result = await analyzeDartSource(pathInRepo, content, workspaceRoot);
|
|
35
|
+
// exactOptionalPropertyTypes対応: errorはundefinedの場合は省略
|
|
36
|
+
return {
|
|
37
|
+
symbols: result.symbols,
|
|
38
|
+
snippets: result.snippets,
|
|
39
|
+
dependencies: result.dependencies,
|
|
40
|
+
status: result.status,
|
|
41
|
+
...(result.error !== undefined && { error: result.error }),
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* 全ての Dart Analysis Server プロセスをクリーンアップ
|
|
46
|
+
*
|
|
47
|
+
* このメソッドは LanguageRegistry.cleanup() から呼び出され、
|
|
48
|
+
* プール内の全クライアントを適切に終了する
|
|
49
|
+
*/
|
|
50
|
+
async dispose() {
|
|
51
|
+
await cleanup();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Dart アナライザーのファクトリ関数
|
|
56
|
+
*/
|
|
57
|
+
export function createDartAnalyzer() {
|
|
58
|
+
return new DartAnalyzer();
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../../src/indexer/codeintel/dart/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,sBAAsB;AACtB,mEAAmE;AAEnE;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,YAAY;IACd,QAAQ,GAAG,MAAM,CAAC;IAE3B,KAAK,CAAC,OAAO,CAAC,OAAwB;QACpC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;QAEvD,6CAA6C;QAC7C,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CACV,qEAAqE,UAAU,EAAE,CAClF,CAAC;YACF,OAAO,WAAW,EAAE,CAAC;QACvB,CAAC;QAED,qBAAqB;QACrB,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QAE3E,sDAAsD;QACtD,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;SAC3D,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,OAAO,EAAE,CAAC;IAClB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,IAAI,YAAY,EAAE,CAAC;AAC5B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/indexer/codeintel/dart/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/indexer/codeintel/dart/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Language Analyzer System - Public API
|
|
3
|
+
*
|
|
4
|
+
* このモジュールは言語アナライザーシステムの公開APIを提供します。
|
|
5
|
+
*
|
|
6
|
+
* 使用例:
|
|
7
|
+
* ```typescript
|
|
8
|
+
* import { LanguageRegistry, type LanguageAnalyzer } from './codeintel/index.js';
|
|
9
|
+
*
|
|
10
|
+
* const registry = LanguageRegistry.getInstance();
|
|
11
|
+
* registry.register(new TypeScriptAnalyzer());
|
|
12
|
+
*
|
|
13
|
+
* const result = await registry.analyze('TypeScript', {
|
|
14
|
+
* pathInRepo: 'src/index.ts',
|
|
15
|
+
* content: '...',
|
|
16
|
+
* fileSet: new Set(['src/index.ts']),
|
|
17
|
+
* });
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export type { SymbolRecord, SnippetRecord, DependencyRecord, AnalysisContext, AnalysisResult, LanguageAnalyzer, } from "./types.js";
|
|
21
|
+
export { emptyResult } from "./types.js";
|
|
22
|
+
export { LanguageRegistry } from "./registry.js";
|
|
23
|
+
export { treeSitterPointToLine, sanitizeTreeSitterSignature, assignSymbolIds, symbolsToSnippets, createDependencyRecorder, buildLineStartsArray, offsetToLine, cleanDocComment, buildFallbackSnippet, } from "./utils.js";
|
|
24
|
+
export { TypeScriptAnalyzer, createTypeScriptAnalyzer } from "./typescript/index.js";
|
|
25
|
+
export { SwiftAnalyzer, createSwiftAnalyzer } from "./swift/index.js";
|
|
26
|
+
export { PHPAnalyzer, createPHPAnalyzer } from "./php/index.js";
|
|
27
|
+
export { JavaAnalyzer, createJavaAnalyzer } from "./java/index.js";
|
|
28
|
+
export { DartAnalyzer, createDartAnalyzer } from "./dart/index.js";
|
|
29
|
+
export { RustAnalyzer, createRustAnalyzer } from "./rust/index.js";
|
|
30
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/indexer/codeintel/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,YAAY,EACV,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGjD,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Language Analyzer System - Public API
|
|
3
|
+
*
|
|
4
|
+
* このモジュールは言語アナライザーシステムの公開APIを提供します。
|
|
5
|
+
*
|
|
6
|
+
* 使用例:
|
|
7
|
+
* ```typescript
|
|
8
|
+
* import { LanguageRegistry, type LanguageAnalyzer } from './codeintel/index.js';
|
|
9
|
+
*
|
|
10
|
+
* const registry = LanguageRegistry.getInstance();
|
|
11
|
+
* registry.register(new TypeScriptAnalyzer());
|
|
12
|
+
*
|
|
13
|
+
* const result = await registry.analyze('TypeScript', {
|
|
14
|
+
* pathInRepo: 'src/index.ts',
|
|
15
|
+
* content: '...',
|
|
16
|
+
* fileSet: new Set(['src/index.ts']),
|
|
17
|
+
* });
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export { emptyResult } from "./types.js";
|
|
21
|
+
// Registry
|
|
22
|
+
export { LanguageRegistry } from "./registry.js";
|
|
23
|
+
// Utilities
|
|
24
|
+
export { treeSitterPointToLine, sanitizeTreeSitterSignature, assignSymbolIds, symbolsToSnippets, createDependencyRecorder, buildLineStartsArray, offsetToLine, cleanDocComment, buildFallbackSnippet, } from "./utils.js";
|
|
25
|
+
// Language Analyzers
|
|
26
|
+
export { TypeScriptAnalyzer, createTypeScriptAnalyzer } from "./typescript/index.js";
|
|
27
|
+
export { SwiftAnalyzer, createSwiftAnalyzer } from "./swift/index.js";
|
|
28
|
+
export { PHPAnalyzer, createPHPAnalyzer } from "./php/index.js";
|
|
29
|
+
export { JavaAnalyzer, createJavaAnalyzer } from "./java/index.js";
|
|
30
|
+
export { DartAnalyzer, createDartAnalyzer } from "./dart/index.js";
|
|
31
|
+
export { RustAnalyzer, createRustAnalyzer } from "./rust/index.js";
|
|
32
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/indexer/codeintel/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAYH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,WAAW;AACX,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,YAAY;AACZ,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,qBAAqB;AACrB,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Java Language Analyzer
|
|
3
|
+
*
|
|
4
|
+
* tree-sitter-java を使用したシンボル抽出と依存関係解析。
|
|
5
|
+
* class, interface, enum, annotation, method, constructor, field をサポート。
|
|
6
|
+
*/
|
|
7
|
+
import type { LanguageAnalyzer, AnalysisContext, AnalysisResult } from "../types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Java Language Analyzer
|
|
10
|
+
*
|
|
11
|
+
* LanguageAnalyzer インターフェースを実装し、
|
|
12
|
+
* Java ファイルのシンボル抽出と依存関係解析を提供
|
|
13
|
+
*/
|
|
14
|
+
export declare class JavaAnalyzer implements LanguageAnalyzer {
|
|
15
|
+
readonly language = "Java";
|
|
16
|
+
analyze(context: AnalysisContext): Promise<AnalysisResult>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Java アナライザーのファクトリ関数
|
|
20
|
+
*/
|
|
21
|
+
export declare function createJavaAnalyzer(): JavaAnalyzer;
|
|
22
|
+
//# sourceMappingURL=analyzer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../../../../../src/indexer/codeintel/java/analyzer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAgB,MAAM,aAAa,CAAC;AAuRnG;;;;;GAKG;AACH,qBAAa,YAAa,YAAW,gBAAgB;IACnD,QAAQ,CAAC,QAAQ,UAAU;IAErB,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CAkCjE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,CAEjD"}
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Java Language Analyzer
|
|
3
|
+
*
|
|
4
|
+
* tree-sitter-java を使用したシンボル抽出と依存関係解析。
|
|
5
|
+
* class, interface, enum, annotation, method, constructor, field をサポート。
|
|
6
|
+
*/
|
|
7
|
+
import Parser from "tree-sitter";
|
|
8
|
+
import Java from "tree-sitter-java";
|
|
9
|
+
import { treeSitterPointToLine, sanitizeTreeSitterSignature, assignSymbolIds, symbolsToSnippets, createDependencyRecorder, cleanDocComment, } from "../utils.js";
|
|
10
|
+
/**
|
|
11
|
+
* Javadoc コメント (ブロックコメント形式) を抽出
|
|
12
|
+
*/
|
|
13
|
+
function getJavaDocComment(node, content) {
|
|
14
|
+
const parent = node.parent;
|
|
15
|
+
if (!parent)
|
|
16
|
+
return null;
|
|
17
|
+
// 親ノードのすべての子から、このノードの直前にあるコメントを探す
|
|
18
|
+
const precedingComments = [];
|
|
19
|
+
const siblings = parent.children;
|
|
20
|
+
const nodeIndex = siblings.indexOf(node);
|
|
21
|
+
// このノードより前の兄弟を逆順で調べる
|
|
22
|
+
for (let i = nodeIndex - 1; i >= 0; i--) {
|
|
23
|
+
const sibling = siblings[i];
|
|
24
|
+
if (!sibling)
|
|
25
|
+
continue;
|
|
26
|
+
// block_commentをチェック
|
|
27
|
+
if (sibling.type === "block_comment") {
|
|
28
|
+
const commentText = content.substring(sibling.startIndex, sibling.endIndex);
|
|
29
|
+
// Javadoc コメント形式のみ抽出
|
|
30
|
+
if (commentText.startsWith("/**") && commentText.endsWith("*/")) {
|
|
31
|
+
precedingComments.unshift(cleanDocComment(commentText));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
else if (!sibling.text.trim().match(/^\s*$/)) {
|
|
35
|
+
// コメント以外の実質的なノードに到達したら終了
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
if (precedingComments.length === 0) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
return precedingComments.join("\n");
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* 子ノードから識別子名を抽出
|
|
46
|
+
*/
|
|
47
|
+
function extractName(node, content) {
|
|
48
|
+
const identifierNode = node.namedChildren.find((child) => child.type === "identifier");
|
|
49
|
+
return identifierNode
|
|
50
|
+
? content.substring(identifierNode.startIndex, identifierNode.endIndex)
|
|
51
|
+
: null;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* シンボルレコードを作成
|
|
55
|
+
*/
|
|
56
|
+
function createJavaSymbolRecords(tree, content) {
|
|
57
|
+
const results = [];
|
|
58
|
+
/**
|
|
59
|
+
* ノードからシグネチャを取得
|
|
60
|
+
* Java はシグネチャの改行を先に正規化してから切り詰め
|
|
61
|
+
*/
|
|
62
|
+
function getSignature(node) {
|
|
63
|
+
const nodeText = content.substring(node.startIndex, node.endIndex);
|
|
64
|
+
return sanitizeTreeSitterSignature(nodeText, { normalizeFirst: true });
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* ツリーを再帰的にトラバースしてシンボルを抽出
|
|
68
|
+
*/
|
|
69
|
+
function visit(node) {
|
|
70
|
+
// class_declaration: クラス宣言
|
|
71
|
+
if (node.type === "class_declaration") {
|
|
72
|
+
const name = extractName(node, content);
|
|
73
|
+
if (name) {
|
|
74
|
+
results.push({
|
|
75
|
+
name,
|
|
76
|
+
kind: "class",
|
|
77
|
+
rangeStartLine: treeSitterPointToLine(node.startPosition),
|
|
78
|
+
rangeEndLine: treeSitterPointToLine(node.endPosition),
|
|
79
|
+
signature: getSignature(node),
|
|
80
|
+
doc: getJavaDocComment(node, content),
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
// interface_declaration: インターフェース宣言
|
|
85
|
+
if (node.type === "interface_declaration") {
|
|
86
|
+
const name = extractName(node, content);
|
|
87
|
+
if (name) {
|
|
88
|
+
results.push({
|
|
89
|
+
name,
|
|
90
|
+
kind: "interface",
|
|
91
|
+
rangeStartLine: treeSitterPointToLine(node.startPosition),
|
|
92
|
+
rangeEndLine: treeSitterPointToLine(node.endPosition),
|
|
93
|
+
signature: getSignature(node),
|
|
94
|
+
doc: getJavaDocComment(node, content),
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
// enum_declaration: 列挙型宣言
|
|
99
|
+
if (node.type === "enum_declaration") {
|
|
100
|
+
const name = extractName(node, content);
|
|
101
|
+
if (name) {
|
|
102
|
+
results.push({
|
|
103
|
+
name,
|
|
104
|
+
kind: "enum",
|
|
105
|
+
rangeStartLine: treeSitterPointToLine(node.startPosition),
|
|
106
|
+
rangeEndLine: treeSitterPointToLine(node.endPosition),
|
|
107
|
+
signature: getSignature(node),
|
|
108
|
+
doc: getJavaDocComment(node, content),
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
// annotation_type_declaration: アノテーション型宣言
|
|
113
|
+
if (node.type === "annotation_type_declaration") {
|
|
114
|
+
const name = extractName(node, content);
|
|
115
|
+
if (name) {
|
|
116
|
+
results.push({
|
|
117
|
+
name,
|
|
118
|
+
kind: "annotation",
|
|
119
|
+
rangeStartLine: treeSitterPointToLine(node.startPosition),
|
|
120
|
+
rangeEndLine: treeSitterPointToLine(node.endPosition),
|
|
121
|
+
signature: getSignature(node),
|
|
122
|
+
doc: getJavaDocComment(node, content),
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
// field_declaration: フィールド宣言
|
|
127
|
+
if (node.type === "field_declaration") {
|
|
128
|
+
// variable_declaratorから変数名を抽出
|
|
129
|
+
const declarators = node.namedChildren.filter((child) => child.type === "variable_declarator");
|
|
130
|
+
for (const declarator of declarators) {
|
|
131
|
+
const name = extractName(declarator, content);
|
|
132
|
+
if (name) {
|
|
133
|
+
results.push({
|
|
134
|
+
name,
|
|
135
|
+
kind: "field",
|
|
136
|
+
rangeStartLine: treeSitterPointToLine(node.startPosition),
|
|
137
|
+
rangeEndLine: treeSitterPointToLine(node.endPosition),
|
|
138
|
+
signature: getSignature(node),
|
|
139
|
+
doc: getJavaDocComment(node, content),
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
// constructor_declaration: コンストラクタ宣言
|
|
145
|
+
if (node.type === "constructor_declaration") {
|
|
146
|
+
const name = extractName(node, content);
|
|
147
|
+
if (name) {
|
|
148
|
+
results.push({
|
|
149
|
+
name,
|
|
150
|
+
kind: "constructor",
|
|
151
|
+
rangeStartLine: treeSitterPointToLine(node.startPosition),
|
|
152
|
+
rangeEndLine: treeSitterPointToLine(node.endPosition),
|
|
153
|
+
signature: getSignature(node),
|
|
154
|
+
doc: getJavaDocComment(node, content),
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
// method_declaration: メソッド宣言
|
|
159
|
+
if (node.type === "method_declaration") {
|
|
160
|
+
const name = extractName(node, content);
|
|
161
|
+
if (name) {
|
|
162
|
+
results.push({
|
|
163
|
+
name,
|
|
164
|
+
kind: "method",
|
|
165
|
+
rangeStartLine: treeSitterPointToLine(node.startPosition),
|
|
166
|
+
rangeEndLine: treeSitterPointToLine(node.endPosition),
|
|
167
|
+
signature: getSignature(node),
|
|
168
|
+
doc: getJavaDocComment(node, content),
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
// annotation_type_element_declaration: アノテーション内のメソッド宣言
|
|
173
|
+
if (node.type === "annotation_type_element_declaration") {
|
|
174
|
+
const name = extractName(node, content);
|
|
175
|
+
if (name) {
|
|
176
|
+
results.push({
|
|
177
|
+
name,
|
|
178
|
+
kind: "method",
|
|
179
|
+
rangeStartLine: treeSitterPointToLine(node.startPosition),
|
|
180
|
+
rangeEndLine: treeSitterPointToLine(node.endPosition),
|
|
181
|
+
signature: getSignature(node),
|
|
182
|
+
doc: getJavaDocComment(node, content),
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
// 子ノードを再帰的に訪問
|
|
187
|
+
for (const child of node.namedChildren) {
|
|
188
|
+
visit(child);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
visit(tree.rootNode);
|
|
192
|
+
return assignSymbolIds(results);
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Java の import 文を解析して依存関係を収集
|
|
196
|
+
*/
|
|
197
|
+
function collectJavaDependencies(_sourcePath, tree, content, fileSet) {
|
|
198
|
+
const { record, getDependencies } = createDependencyRecorder();
|
|
199
|
+
function visit(node) {
|
|
200
|
+
// import_declaration: import文
|
|
201
|
+
if (node.type === "import_declaration") {
|
|
202
|
+
// scoped_identifier または identifier を探す
|
|
203
|
+
const identifierNode = node.namedChildren.find((child) => child.type === "scoped_identifier" || child.type === "identifier");
|
|
204
|
+
if (identifierNode) {
|
|
205
|
+
let importName = content.substring(identifierNode.startIndex, identifierNode.endIndex);
|
|
206
|
+
// ワイルドカードインポートのチェック (import java.util.*)
|
|
207
|
+
// asteriskノードを探す
|
|
208
|
+
const hasAsterisk = node.namedChildren.some((child) => child.type === "asterisk");
|
|
209
|
+
if (hasAsterisk) {
|
|
210
|
+
importName += ".*";
|
|
211
|
+
}
|
|
212
|
+
// ローカルファイル判定: com.example.MyClass -> com/example/MyClass.java
|
|
213
|
+
// ワイルドカードの場合はパッケージとして扱う
|
|
214
|
+
let kind = "package";
|
|
215
|
+
if (!hasAsterisk) {
|
|
216
|
+
const filePath = importName.replace(/\./g, "/") + ".java";
|
|
217
|
+
// Maven/Gradle標準構造のプレフィックスを除去して完全一致でチェック
|
|
218
|
+
// これにより、同名ファイルが異なるパッケージに存在する場合も正確に解決できる
|
|
219
|
+
const matchingFile = Array.from(fileSet).find((f) => {
|
|
220
|
+
// 標準的なソースディレクトリプレフィックスを除去
|
|
221
|
+
const normalizedPath = f
|
|
222
|
+
.replace(/^src\/main\/java\//, "")
|
|
223
|
+
.replace(/^src\/test\/java\//, "")
|
|
224
|
+
.replace(/^src\//, "");
|
|
225
|
+
return normalizedPath === filePath;
|
|
226
|
+
});
|
|
227
|
+
kind = matchingFile ? "path" : "package";
|
|
228
|
+
}
|
|
229
|
+
record(kind, importName);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
// 子ノードを再帰的に訪問
|
|
233
|
+
for (const child of node.namedChildren) {
|
|
234
|
+
visit(child);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
visit(tree.rootNode);
|
|
238
|
+
return getDependencies();
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Java Language Analyzer
|
|
242
|
+
*
|
|
243
|
+
* LanguageAnalyzer インターフェースを実装し、
|
|
244
|
+
* Java ファイルのシンボル抽出と依存関係解析を提供
|
|
245
|
+
*/
|
|
246
|
+
export class JavaAnalyzer {
|
|
247
|
+
language = "Java";
|
|
248
|
+
async analyze(context) {
|
|
249
|
+
const { pathInRepo, content, fileSet } = context;
|
|
250
|
+
try {
|
|
251
|
+
// 各ファイルごとに新しいパーサーインスタンスを作成(並行処理の安全性のため)
|
|
252
|
+
const parser = new Parser();
|
|
253
|
+
// Validate language object before setting it
|
|
254
|
+
if (!Java || typeof Java !== "object") {
|
|
255
|
+
throw new Error("Tree-sitter language for Java is invalid or undefined");
|
|
256
|
+
}
|
|
257
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
258
|
+
parser.setLanguage(Java);
|
|
259
|
+
const tree = parser.parse(content);
|
|
260
|
+
// シンボル抽出
|
|
261
|
+
const symbols = createJavaSymbolRecords(tree, content);
|
|
262
|
+
// シンボルからスニペットを生成
|
|
263
|
+
const snippets = symbolsToSnippets(symbols);
|
|
264
|
+
// 依存関係を収集
|
|
265
|
+
const dependencies = collectJavaDependencies(pathInRepo, tree, content, fileSet);
|
|
266
|
+
return { symbols, snippets, dependencies };
|
|
267
|
+
}
|
|
268
|
+
catch (error) {
|
|
269
|
+
// パース失敗時は空の結果を返して他のファイルの処理を継続
|
|
270
|
+
console.error(`Failed to parse Java file ${pathInRepo}:`, error);
|
|
271
|
+
return { symbols: [], snippets: [], dependencies: [] };
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Java アナライザーのファクトリ関数
|
|
277
|
+
*/
|
|
278
|
+
export function createJavaAnalyzer() {
|
|
279
|
+
return new JavaAnalyzer();
|
|
280
|
+
}
|
|
281
|
+
//# sourceMappingURL=analyzer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../../../../../src/indexer/codeintel/java/analyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/indexer/codeintel/java/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/indexer/codeintel/java/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC"}
|