@liendev/parser 0.41.0 → 0.42.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.
@@ -0,0 +1,100 @@
1
+ import type Parser from 'tree-sitter';
2
+ import type { SymbolInfo } from '../types.js';
3
+ import type { LanguageDefinition } from './types.js';
4
+ import type { LanguageTraverser, DeclarationFunctionInfo } from '../traversers/types.js';
5
+ import type { LanguageExportExtractor, LanguageImportExtractor, LanguageSymbolExtractor } from '../extractors/types.js';
6
+ /**
7
+ * Java AST traverser
8
+ *
9
+ * Java has a class-based container structure — methods live inside class,
10
+ * interface, enum, and record declarations. Unlike Go's flat structure,
11
+ * Java requires container traversal to find methods.
12
+ *
13
+ * Lambda expressions can appear in variable declarations:
14
+ * Runnable r = () -> { ... };
15
+ */
16
+ export declare class JavaTraverser implements LanguageTraverser {
17
+ targetNodeTypes: string[];
18
+ containerTypes: string[];
19
+ declarationTypes: string[];
20
+ functionTypes: string[];
21
+ shouldExtractChildren(node: Parser.SyntaxNode): boolean;
22
+ isDeclarationWithFunction(node: Parser.SyntaxNode): boolean;
23
+ getContainerBody(node: Parser.SyntaxNode): Parser.SyntaxNode | null;
24
+ shouldTraverseChildren(node: Parser.SyntaxNode): boolean;
25
+ findParentContainerName(node: Parser.SyntaxNode): string | undefined;
26
+ findFunctionInDeclaration(node: Parser.SyntaxNode): DeclarationFunctionInfo;
27
+ }
28
+ /**
29
+ * Java export extractor
30
+ *
31
+ * Java uses the `public` modifier for visibility — public declarations are
32
+ * accessible outside the package (similar to Rust's `pub`).
33
+ *
34
+ * Exportable items:
35
+ * - public class User {}
36
+ * - public interface Repository {}
37
+ * - public enum Status {}
38
+ * - public record Point(int x, int y) {}
39
+ * - public void method() {} (inside a class)
40
+ * - Interface methods are implicitly public
41
+ *
42
+ * Package-private (default access) declarations are NOT exported.
43
+ */
44
+ export declare class JavaExportExtractor implements LanguageExportExtractor {
45
+ extractExports(rootNode: Parser.SyntaxNode): string[];
46
+ private extractFromNode;
47
+ private extractPublicMembers;
48
+ private extractMemberExport;
49
+ private extractFieldNames;
50
+ }
51
+ /**
52
+ * Java import extractor
53
+ *
54
+ * Handles all Java import patterns:
55
+ * - import com.example.MyClass; (single import)
56
+ * - import com.example.*; (wildcard import)
57
+ * - import static com.example.Utils.method; (static import)
58
+ * - import static com.example.Utils.*; (static wildcard import)
59
+ *
60
+ * Standard library imports (java.*, javax.*) are filtered out.
61
+ */
62
+ export declare class JavaImportExtractor implements LanguageImportExtractor {
63
+ readonly importNodeTypes: string[];
64
+ extractImportPath(node: Parser.SyntaxNode): string | null;
65
+ processImportSymbols(node: Parser.SyntaxNode): {
66
+ importPath: string;
67
+ symbols: string[];
68
+ } | null;
69
+ private getImportPath;
70
+ }
71
+ /**
72
+ * Java symbol extractor
73
+ *
74
+ * Handles:
75
+ * - method_declaration (public void method() {})
76
+ * - constructor_declaration (public MyClass() {})
77
+ * - class_declaration (class MyClass {})
78
+ * - interface_declaration (interface MyInterface {})
79
+ * - enum_declaration (enum MyEnum {})
80
+ * - record_declaration (record MyRecord(int x) {})
81
+ *
82
+ * Call sites: method_invocation (direct calls and object.method() calls)
83
+ */
84
+ export declare class JavaSymbolExtractor implements LanguageSymbolExtractor {
85
+ readonly symbolNodeTypes: string[];
86
+ extractSymbol(node: Parser.SyntaxNode, content: string, parentClass?: string): SymbolInfo | null;
87
+ extractCallSite(node: Parser.SyntaxNode): {
88
+ symbol: string;
89
+ line: number;
90
+ key: string;
91
+ } | null;
92
+ private extractMethodInfo;
93
+ private extractConstructorInfo;
94
+ private extractClassInfo;
95
+ private extractInterfaceInfo;
96
+ private extractEnumInfo;
97
+ private extractRecordInfo;
98
+ }
99
+ export declare const javaDefinition: LanguageDefinition;
100
+ //# sourceMappingURL=java.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"java.d.ts","sourceRoot":"","sources":["../../../src/ast/languages/java.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,KAAK,EACV,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,wBAAwB,CAAC;AAQhC;;;;;;;;;GASG;AACH,qBAAa,aAAc,YAAW,iBAAiB;IACrD,eAAe,WAAqD;IAEpE,cAAc,WAKZ;IAEF,gBAAgB,WAAkC;IAElD,aAAa,WAAyB;IAEtC,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO;IAIvD,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO;IAK3D,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,GAAG,IAAI;IAOnE,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO;IASxD,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,GAAG,SAAS;IAiBpE,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,GAAG,uBAAuB;CAS5E;AAMD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,mBAAoB,YAAW,uBAAuB;IACjE,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,EAAE;IAoBrD,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,mBAAmB;IAkB3B,OAAO,CAAC,iBAAiB;CAS1B;AAcD;;;;;;;;;;GAUG;AACH,qBAAa,mBAAoB,YAAW,uBAAuB;IACjE,QAAQ,CAAC,eAAe,WAA0B;IAElD,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,GAAG,IAAI;IAMzD,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,GAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI;IAiB/F,OAAO,CAAC,aAAa;CAatB;AAMD;;;;;;;;;;;;GAYG;AACH,qBAAa,mBAAoB,YAAW,uBAAuB;IACjE,QAAQ,CAAC,eAAe,WAOtB;IAEF,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAmBhG,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAqB9F,OAAO,CAAC,iBAAiB;IAqBzB,OAAO,CAAC,sBAAsB;IAoB9B,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,iBAAiB;CAY1B;AA+DD,eAAO,MAAM,cAAc,EAAE,kBAgI5B,CAAC"}
@@ -0,0 +1,547 @@
1
+ import Java from 'tree-sitter-java';
2
+ import { extractSignature, extractParameters } from '../extractors/symbol-helpers.js';
3
+ import { calculateComplexity } from '../complexity/index.js';
4
+ // =============================================================================
5
+ // TRAVERSER
6
+ // =============================================================================
7
+ /**
8
+ * Java AST traverser
9
+ *
10
+ * Java has a class-based container structure — methods live inside class,
11
+ * interface, enum, and record declarations. Unlike Go's flat structure,
12
+ * Java requires container traversal to find methods.
13
+ *
14
+ * Lambda expressions can appear in variable declarations:
15
+ * Runnable r = () -> { ... };
16
+ */
17
+ export class JavaTraverser {
18
+ targetNodeTypes = ['method_declaration', 'constructor_declaration'];
19
+ containerTypes = [
20
+ 'class_declaration',
21
+ 'interface_declaration',
22
+ 'enum_declaration',
23
+ 'record_declaration',
24
+ ];
25
+ declarationTypes = ['local_variable_declaration'];
26
+ functionTypes = ['lambda_expression'];
27
+ shouldExtractChildren(node) {
28
+ return this.containerTypes.includes(node.type);
29
+ }
30
+ isDeclarationWithFunction(node) {
31
+ if (node.type !== 'local_variable_declaration')
32
+ return false;
33
+ return findDescendant(node, 'lambda_expression') !== null;
34
+ }
35
+ getContainerBody(node) {
36
+ if (this.containerTypes.includes(node.type)) {
37
+ return node.childForFieldName('body');
38
+ }
39
+ return null;
40
+ }
41
+ shouldTraverseChildren(node) {
42
+ return (node.type === 'program' ||
43
+ node.type === 'class_body' ||
44
+ node.type === 'interface_body' ||
45
+ node.type === 'enum_body');
46
+ }
47
+ findParentContainerName(node) {
48
+ let current = node.parent;
49
+ while (current) {
50
+ if (current.type === 'class_declaration' ||
51
+ current.type === 'interface_declaration' ||
52
+ current.type === 'enum_declaration' ||
53
+ current.type === 'record_declaration') {
54
+ const nameNode = current.childForFieldName('name');
55
+ return nameNode?.text;
56
+ }
57
+ current = current.parent;
58
+ }
59
+ return undefined;
60
+ }
61
+ findFunctionInDeclaration(node) {
62
+ if (node.type !== 'local_variable_declaration') {
63
+ return { hasFunction: false, functionNode: null };
64
+ }
65
+ const lambda = findDescendant(node, 'lambda_expression');
66
+ return lambda
67
+ ? { hasFunction: true, functionNode: lambda }
68
+ : { hasFunction: false, functionNode: null };
69
+ }
70
+ }
71
+ // =============================================================================
72
+ // EXPORT EXTRACTOR
73
+ // =============================================================================
74
+ /**
75
+ * Java export extractor
76
+ *
77
+ * Java uses the `public` modifier for visibility — public declarations are
78
+ * accessible outside the package (similar to Rust's `pub`).
79
+ *
80
+ * Exportable items:
81
+ * - public class User {}
82
+ * - public interface Repository {}
83
+ * - public enum Status {}
84
+ * - public record Point(int x, int y) {}
85
+ * - public void method() {} (inside a class)
86
+ * - Interface methods are implicitly public
87
+ *
88
+ * Package-private (default access) declarations are NOT exported.
89
+ */
90
+ export class JavaExportExtractor {
91
+ extractExports(rootNode) {
92
+ const exports = [];
93
+ const seen = new Set();
94
+ const addExport = (name) => {
95
+ if (name && !seen.has(name)) {
96
+ seen.add(name);
97
+ exports.push(name);
98
+ }
99
+ };
100
+ for (let i = 0; i < rootNode.namedChildCount; i++) {
101
+ const child = rootNode.namedChild(i);
102
+ if (!child)
103
+ continue;
104
+ this.extractFromNode(child, addExport);
105
+ }
106
+ return exports;
107
+ }
108
+ extractFromNode(node, addExport) {
109
+ switch (node.type) {
110
+ case 'class_declaration':
111
+ case 'interface_declaration':
112
+ case 'enum_declaration':
113
+ case 'record_declaration': {
114
+ if (hasPublicModifier(node)) {
115
+ const nameNode = node.childForFieldName('name');
116
+ if (nameNode)
117
+ addExport(nameNode.text);
118
+ }
119
+ this.extractPublicMembers(node, addExport);
120
+ break;
121
+ }
122
+ }
123
+ }
124
+ extractPublicMembers(container, addExport) {
125
+ const body = container.childForFieldName('body');
126
+ if (!body)
127
+ return;
128
+ const isInterface = container.type === 'interface_declaration';
129
+ for (let i = 0; i < body.namedChildCount; i++) {
130
+ const child = body.namedChild(i);
131
+ if (!child)
132
+ continue;
133
+ this.extractMemberExport(child, isInterface, addExport);
134
+ }
135
+ }
136
+ extractMemberExport(member, isInterface, addExport) {
137
+ if (member.type === 'method_declaration' || member.type === 'constructor_declaration') {
138
+ if (isInterface || hasPublicModifier(member)) {
139
+ const nameNode = member.childForFieldName('name');
140
+ if (nameNode)
141
+ addExport(nameNode.text);
142
+ }
143
+ return;
144
+ }
145
+ if (member.type === 'field_declaration' && hasPublicModifier(member)) {
146
+ this.extractFieldNames(member, addExport);
147
+ }
148
+ }
149
+ extractFieldNames(fieldDecl, addExport) {
150
+ for (let i = 0; i < fieldDecl.namedChildCount; i++) {
151
+ const child = fieldDecl.namedChild(i);
152
+ if (child?.type === 'variable_declarator') {
153
+ const nameNode = child.childForFieldName('name');
154
+ if (nameNode)
155
+ addExport(nameNode.text);
156
+ }
157
+ }
158
+ }
159
+ }
160
+ // =============================================================================
161
+ // IMPORT EXTRACTOR
162
+ // =============================================================================
163
+ /**
164
+ * Check if a Java import path is a standard library package.
165
+ * Standard library packages start with java. or javax.
166
+ */
167
+ function isJavaStdLib(importPath) {
168
+ return importPath.startsWith('java.') || importPath.startsWith('javax.');
169
+ }
170
+ /**
171
+ * Java import extractor
172
+ *
173
+ * Handles all Java import patterns:
174
+ * - import com.example.MyClass; (single import)
175
+ * - import com.example.*; (wildcard import)
176
+ * - import static com.example.Utils.method; (static import)
177
+ * - import static com.example.Utils.*; (static wildcard import)
178
+ *
179
+ * Standard library imports (java.*, javax.*) are filtered out.
180
+ */
181
+ export class JavaImportExtractor {
182
+ importNodeTypes = ['import_declaration'];
183
+ extractImportPath(node) {
184
+ const path = this.getImportPath(node);
185
+ if (!path || isJavaStdLib(path))
186
+ return null;
187
+ return path;
188
+ }
189
+ processImportSymbols(node) {
190
+ const path = this.getImportPath(node);
191
+ if (!path || isJavaStdLib(path))
192
+ return null;
193
+ const parts = path.split('.');
194
+ const lastPart = parts[parts.length - 1];
195
+ // For wildcard imports, use the package name as the symbol
196
+ if (lastPart === '*') {
197
+ const packagePath = parts.slice(0, -1).join('.');
198
+ const packageName = parts[parts.length - 2];
199
+ return { importPath: packagePath, symbols: [packageName] };
200
+ }
201
+ return { importPath: path, symbols: [lastPart] };
202
+ }
203
+ getImportPath(node) {
204
+ // Find the scoped_identifier or identifier child (import path)
205
+ for (let i = 0; i < node.namedChildCount; i++) {
206
+ const child = node.namedChild(i);
207
+ if (!child)
208
+ continue;
209
+ if (child.type === 'scoped_identifier' || child.type === 'identifier') {
210
+ const hasWildcard = hasChildOfType(node, 'asterisk');
211
+ return hasWildcard ? `${child.text}.*` : child.text;
212
+ }
213
+ }
214
+ return null;
215
+ }
216
+ }
217
+ // =============================================================================
218
+ // SYMBOL EXTRACTOR
219
+ // =============================================================================
220
+ /**
221
+ * Java symbol extractor
222
+ *
223
+ * Handles:
224
+ * - method_declaration (public void method() {})
225
+ * - constructor_declaration (public MyClass() {})
226
+ * - class_declaration (class MyClass {})
227
+ * - interface_declaration (interface MyInterface {})
228
+ * - enum_declaration (enum MyEnum {})
229
+ * - record_declaration (record MyRecord(int x) {})
230
+ *
231
+ * Call sites: method_invocation (direct calls and object.method() calls)
232
+ */
233
+ export class JavaSymbolExtractor {
234
+ symbolNodeTypes = [
235
+ 'method_declaration',
236
+ 'constructor_declaration',
237
+ 'class_declaration',
238
+ 'interface_declaration',
239
+ 'enum_declaration',
240
+ 'record_declaration',
241
+ ];
242
+ extractSymbol(node, content, parentClass) {
243
+ switch (node.type) {
244
+ case 'method_declaration':
245
+ return this.extractMethodInfo(node, content, parentClass);
246
+ case 'constructor_declaration':
247
+ return this.extractConstructorInfo(node, content, parentClass);
248
+ case 'class_declaration':
249
+ return this.extractClassInfo(node);
250
+ case 'interface_declaration':
251
+ return this.extractInterfaceInfo(node);
252
+ case 'enum_declaration':
253
+ return this.extractEnumInfo(node);
254
+ case 'record_declaration':
255
+ return this.extractRecordInfo(node);
256
+ default:
257
+ return null;
258
+ }
259
+ }
260
+ extractCallSite(node) {
261
+ const line = node.startPosition.row + 1;
262
+ // method_invocation: foo() or obj.foo()
263
+ if (node.type === 'method_invocation') {
264
+ const nameNode = node.childForFieldName('name');
265
+ if (!nameNode)
266
+ return null;
267
+ return { symbol: nameNode.text, line, key: `${nameNode.text}:${line}` };
268
+ }
269
+ // method_reference: String::valueOf — no field names, last named child is the method identifier
270
+ if (node.type === 'method_reference') {
271
+ const lastChild = node.namedChild(node.namedChildCount - 1);
272
+ if (lastChild?.type === 'identifier') {
273
+ return { symbol: lastChild.text, line, key: `${lastChild.text}:${line}` };
274
+ }
275
+ }
276
+ return null;
277
+ }
278
+ extractMethodInfo(node, content, parentClass) {
279
+ const nameNode = node.childForFieldName('name');
280
+ if (!nameNode)
281
+ return null;
282
+ return {
283
+ name: nameNode.text,
284
+ type: parentClass ? 'method' : 'function',
285
+ startLine: node.startPosition.row + 1,
286
+ endLine: node.endPosition.row + 1,
287
+ parentClass,
288
+ signature: extractSignature(node, content),
289
+ parameters: extractParameters(node, content),
290
+ returnType: extractJavaReturnType(node),
291
+ complexity: calculateComplexity(node),
292
+ };
293
+ }
294
+ extractConstructorInfo(node, content, parentClass) {
295
+ const nameNode = node.childForFieldName('name');
296
+ if (!nameNode)
297
+ return null;
298
+ return {
299
+ name: nameNode.text,
300
+ type: 'method',
301
+ startLine: node.startPosition.row + 1,
302
+ endLine: node.endPosition.row + 1,
303
+ parentClass,
304
+ signature: extractSignature(node, content),
305
+ parameters: extractParameters(node, content),
306
+ complexity: calculateComplexity(node),
307
+ };
308
+ }
309
+ extractClassInfo(node) {
310
+ const nameNode = node.childForFieldName('name');
311
+ if (!nameNode)
312
+ return null;
313
+ return {
314
+ name: nameNode.text,
315
+ type: 'class',
316
+ startLine: node.startPosition.row + 1,
317
+ endLine: node.endPosition.row + 1,
318
+ signature: `class ${nameNode.text}`,
319
+ };
320
+ }
321
+ extractInterfaceInfo(node) {
322
+ const nameNode = node.childForFieldName('name');
323
+ if (!nameNode)
324
+ return null;
325
+ return {
326
+ name: nameNode.text,
327
+ type: 'interface',
328
+ startLine: node.startPosition.row + 1,
329
+ endLine: node.endPosition.row + 1,
330
+ signature: `interface ${nameNode.text}`,
331
+ };
332
+ }
333
+ extractEnumInfo(node) {
334
+ const nameNode = node.childForFieldName('name');
335
+ if (!nameNode)
336
+ return null;
337
+ return {
338
+ name: nameNode.text,
339
+ type: 'class',
340
+ startLine: node.startPosition.row + 1,
341
+ endLine: node.endPosition.row + 1,
342
+ signature: `enum ${nameNode.text}`,
343
+ };
344
+ }
345
+ extractRecordInfo(node) {
346
+ const nameNode = node.childForFieldName('name');
347
+ if (!nameNode)
348
+ return null;
349
+ return {
350
+ name: nameNode.text,
351
+ type: 'class',
352
+ startLine: node.startPosition.row + 1,
353
+ endLine: node.endPosition.row + 1,
354
+ signature: `record ${nameNode.text}`,
355
+ };
356
+ }
357
+ }
358
+ // =============================================================================
359
+ // HELPERS
360
+ // =============================================================================
361
+ /**
362
+ * Check if a node has a `public` modifier.
363
+ * Iterates the modifiers node's children for an exact `public` token
364
+ * to avoid false positives from substring matching.
365
+ */
366
+ function hasPublicModifier(node) {
367
+ for (let i = 0; i < node.childCount; i++) {
368
+ const child = node.child(i);
369
+ if (child?.type === 'modifiers') {
370
+ for (let j = 0; j < child.childCount; j++) {
371
+ if (child.child(j)?.type === 'public')
372
+ return true;
373
+ }
374
+ return false;
375
+ }
376
+ }
377
+ return false;
378
+ }
379
+ /**
380
+ * Extract return type from a Java method_declaration.
381
+ * Java uses a 'type' field instead of 'return_type'.
382
+ */
383
+ function extractJavaReturnType(node) {
384
+ if (node.type !== 'method_declaration')
385
+ return undefined;
386
+ const typeNode = node.childForFieldName('type');
387
+ if (!typeNode)
388
+ return undefined;
389
+ return typeNode.text;
390
+ }
391
+ /**
392
+ * Find the first descendant of a specific type (breadth-first among children).
393
+ */
394
+ function findDescendant(node, type) {
395
+ for (let i = 0; i < node.namedChildCount; i++) {
396
+ const child = node.namedChild(i);
397
+ if (!child)
398
+ continue;
399
+ if (child.type === type)
400
+ return child;
401
+ const found = findDescendant(child, type);
402
+ if (found)
403
+ return found;
404
+ }
405
+ return null;
406
+ }
407
+ /**
408
+ * Check if a node has a child of a specific type (including unnamed children).
409
+ */
410
+ function hasChildOfType(node, type) {
411
+ for (let i = 0; i < node.childCount; i++) {
412
+ if (node.child(i)?.type === type)
413
+ return true;
414
+ }
415
+ return false;
416
+ }
417
+ // =============================================================================
418
+ // LANGUAGE DEFINITION
419
+ // =============================================================================
420
+ export const javaDefinition = {
421
+ id: 'java',
422
+ extensions: ['java'],
423
+ grammar: Java,
424
+ traverser: new JavaTraverser(),
425
+ exportExtractor: new JavaExportExtractor(),
426
+ importExtractor: new JavaImportExtractor(),
427
+ symbolExtractor: new JavaSymbolExtractor(),
428
+ complexity: {
429
+ decisionPoints: [
430
+ 'if_statement',
431
+ 'while_statement',
432
+ 'for_statement',
433
+ 'enhanced_for_statement',
434
+ 'do_statement',
435
+ 'catch_clause',
436
+ 'ternary_expression',
437
+ 'binary_expression',
438
+ 'switch_block_statement_group',
439
+ 'switch_rule',
440
+ ],
441
+ nestingTypes: [
442
+ 'if_statement',
443
+ 'while_statement',
444
+ 'for_statement',
445
+ 'enhanced_for_statement',
446
+ 'do_statement',
447
+ 'switch_expression',
448
+ 'catch_clause',
449
+ 'lambda_expression',
450
+ ],
451
+ nonNestingTypes: ['switch_block_statement_group', 'switch_rule', 'ternary_expression'],
452
+ lambdaTypes: ['lambda_expression'],
453
+ operatorSymbols: new Set([
454
+ '+',
455
+ '-',
456
+ '*',
457
+ '/',
458
+ '%',
459
+ '==',
460
+ '!=',
461
+ '<',
462
+ '>',
463
+ '<=',
464
+ '>=',
465
+ '=',
466
+ '+=',
467
+ '-=',
468
+ '*=',
469
+ '/=',
470
+ '%=',
471
+ '&=',
472
+ '|=',
473
+ '^=',
474
+ '<<=',
475
+ '>>=',
476
+ '>>>=',
477
+ '&&',
478
+ '||',
479
+ '!',
480
+ '&',
481
+ '|',
482
+ '^',
483
+ '~',
484
+ '<<',
485
+ '>>',
486
+ '>>>',
487
+ '.',
488
+ '?',
489
+ ':',
490
+ '::',
491
+ '->',
492
+ '(',
493
+ ')',
494
+ '[',
495
+ ']',
496
+ '{',
497
+ '}',
498
+ ]),
499
+ operatorKeywords: new Set([
500
+ 'if',
501
+ 'else',
502
+ 'for',
503
+ 'while',
504
+ 'do',
505
+ 'switch',
506
+ 'case',
507
+ 'default',
508
+ 'return',
509
+ 'throw',
510
+ 'try',
511
+ 'catch',
512
+ 'finally',
513
+ 'new',
514
+ 'instanceof',
515
+ 'break',
516
+ 'continue',
517
+ 'class',
518
+ 'extends',
519
+ 'implements',
520
+ 'interface',
521
+ 'enum',
522
+ 'record',
523
+ 'import',
524
+ 'package',
525
+ 'public',
526
+ 'private',
527
+ 'protected',
528
+ 'static',
529
+ 'final',
530
+ 'abstract',
531
+ 'synchronized',
532
+ 'volatile',
533
+ 'transient',
534
+ 'native',
535
+ 'void',
536
+ 'super',
537
+ 'this',
538
+ 'assert',
539
+ 'yield',
540
+ 'var',
541
+ ]),
542
+ },
543
+ symbols: {
544
+ callExpressionTypes: ['method_invocation', 'method_reference'],
545
+ },
546
+ };
547
+ //# sourceMappingURL=java.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"java.js","sourceRoot":"","sources":["../../../src/ast/languages/java.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import type { LanguageDefinition } from './types.js';
4
4
  * SupportedLanguage type is derived from this array.
5
5
  * To add a new language: add its ID here, then add its definition to `definitions` below.
6
6
  */
7
- export declare const LANGUAGE_IDS: readonly ["typescript", "javascript", "php", "python", "rust", "go"];
7
+ export declare const LANGUAGE_IDS: readonly ["typescript", "javascript", "php", "python", "rust", "go", "java"];
8
8
  export type SupportedLanguage = (typeof LANGUAGE_IDS)[number];
9
9
  /**
10
10
  * Get the full language definition for a supported language.
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/ast/languages/registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAqBrD;;;;GAIG;AACH,eAAO,MAAM,YAAY,sEAAuE,CAAC;AACjG,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAmC9D;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,iBAAiB,GAAG,kBAAkB,CAM3E;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAGzE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,SAAS,kBAAkB,EAAE,CAE/D;AAQD,wBAAgB,sBAAsB,IAAI,MAAM,EAAE,CAKjD"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/ast/languages/registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAuBrD;;;;GAIG;AACH,eAAO,MAAM,YAAY,8EAQf,CAAC;AACX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAmC9D;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,iBAAiB,GAAG,kBAAkB,CAM3E;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAGzE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,SAAS,kBAAkB,EAAE,CAE/D;AAQD,wBAAgB,sBAAsB,IAAI,MAAM,EAAE,CAKjD"}
@@ -5,6 +5,7 @@ import { phpDefinition } from './php.js';
5
5
  import { pythonDefinition } from './python.js';
6
6
  import { rustDefinition } from './rust.js';
7
7
  import { goDefinition } from './go.js';
8
+ import { javaDefinition } from './java.js';
8
9
  /**
9
10
  * All registered language definitions.
10
11
  * To add a new language, create a definition file and add it here.
@@ -16,13 +17,22 @@ const definitions = [
16
17
  pythonDefinition,
17
18
  rustDefinition,
18
19
  goDefinition,
20
+ javaDefinition,
19
21
  ];
20
22
  /**
21
23
  * Canonical list of supported language IDs.
22
24
  * SupportedLanguage type is derived from this array.
23
25
  * To add a new language: add its ID here, then add its definition to `definitions` below.
24
26
  */
25
- export const LANGUAGE_IDS = ['typescript', 'javascript', 'php', 'python', 'rust', 'go'];
27
+ export const LANGUAGE_IDS = [
28
+ 'typescript',
29
+ 'javascript',
30
+ 'php',
31
+ 'python',
32
+ 'rust',
33
+ 'go',
34
+ 'java',
35
+ ];
26
36
  /**
27
37
  * Registry keyed by language id.
28
38
  */
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/ast/languages/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/ast/languages/registry.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@liendev/parser",
3
- "version": "0.41.0",
3
+ "version": "0.42.0",
4
4
  "description": "AST parsing, complexity analysis, and semantic chunking for Lien",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -24,6 +24,7 @@
24
24
  "p-limit": "5.0.0",
25
25
  "tree-sitter": "^0.25.0",
26
26
  "tree-sitter-go": "^0.23.4",
27
+ "tree-sitter-java": "^0.23.5",
27
28
  "tree-sitter-javascript": "0.23.1",
28
29
  "tree-sitter-php": "^0.24.2",
29
30
  "tree-sitter-python": "^0.25.0",