@opensip-cli/graph-java 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 +202 -0
- package/NOTICE +8 -0
- package/README.md +31 -0
- package/dist/__tests__/cache-key.test.d.ts +5 -0
- package/dist/__tests__/cache-key.test.d.ts.map +1 -0
- package/dist/__tests__/cache-key.test.js +45 -0
- package/dist/__tests__/cache-key.test.js.map +1 -0
- package/dist/__tests__/coverage-edges.test.d.ts +19 -0
- package/dist/__tests__/coverage-edges.test.d.ts.map +1 -0
- package/dist/__tests__/coverage-edges.test.js +254 -0
- package/dist/__tests__/coverage-edges.test.js.map +1 -0
- package/dist/__tests__/depends-on-emission.test.d.ts +15 -0
- package/dist/__tests__/depends-on-emission.test.d.ts.map +1 -0
- package/dist/__tests__/depends-on-emission.test.js +229 -0
- package/dist/__tests__/depends-on-emission.test.js.map +1 -0
- package/dist/__tests__/discover.test.d.ts +5 -0
- package/dist/__tests__/discover.test.d.ts.map +1 -0
- package/dist/__tests__/discover.test.js +68 -0
- package/dist/__tests__/discover.test.js.map +1 -0
- package/dist/__tests__/parse.test.d.ts +5 -0
- package/dist/__tests__/parse.test.d.ts.map +1 -0
- package/dist/__tests__/parse.test.js +59 -0
- package/dist/__tests__/parse.test.js.map +1 -0
- package/dist/__tests__/resolve.test.d.ts +17 -0
- package/dist/__tests__/resolve.test.d.ts.map +1 -0
- package/dist/__tests__/resolve.test.js +201 -0
- package/dist/__tests__/resolve.test.js.map +1 -0
- package/dist/__tests__/walk.test.d.ts +11 -0
- package/dist/__tests__/walk.test.d.ts.map +1 -0
- package/dist/__tests__/walk.test.js +227 -0
- package/dist/__tests__/walk.test.js.map +1 -0
- package/dist/body-digest.d.ts +19 -0
- package/dist/body-digest.d.ts.map +1 -0
- package/dist/body-digest.js +140 -0
- package/dist/body-digest.js.map +1 -0
- package/dist/cache-key.d.ts +19 -0
- package/dist/cache-key.d.ts.map +1 -0
- package/dist/cache-key.js +20 -0
- package/dist/cache-key.js.map +1 -0
- package/dist/discover.d.ts +28 -0
- package/dist/discover.d.ts.map +1 -0
- package/dist/discover.js +50 -0
- package/dist/discover.js.map +1 -0
- package/dist/index.d.ts +43 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +46 -0
- package/dist/index.js.map +1 -0
- package/dist/parse.d.ts +17 -0
- package/dist/parse.d.ts.map +1 -0
- package/dist/parse.js +14 -0
- package/dist/parse.js.map +1 -0
- package/dist/resolve-dependencies.d.ts +38 -0
- package/dist/resolve-dependencies.d.ts.map +1 -0
- package/dist/resolve-dependencies.js +203 -0
- package/dist/resolve-dependencies.js.map +1 -0
- package/dist/resolve.d.ts +32 -0
- package/dist/resolve.d.ts.map +1 -0
- package/dist/resolve.js +145 -0
- package/dist/resolve.js.map +1 -0
- package/dist/rule-hints.d.ts +13 -0
- package/dist/rule-hints.d.ts.map +1 -0
- package/dist/rule-hints.js +50 -0
- package/dist/rule-hints.js.map +1 -0
- package/dist/walk-dependencies.d.ts +25 -0
- package/dist/walk-dependencies.d.ts.map +1 -0
- package/dist/walk-dependencies.js +68 -0
- package/dist/walk-dependencies.js.map +1 -0
- package/dist/walk-metadata.d.ts +26 -0
- package/dist/walk-metadata.d.ts.map +1 -0
- package/dist/walk-metadata.js +134 -0
- package/dist/walk-metadata.js.map +1 -0
- package/dist/walk.d.ts +59 -0
- package/dist/walk.d.ts.map +1 -0
- package/dist/walk.js +244 -0
- package/dist/walk.js.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.test.js","sourceRoot":"","sources":["../../src/__tests__/resolve.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Branch-coverage tests for graph-java/walk.ts.
|
|
3
|
+
*
|
|
4
|
+
* Drives the full Java adapter (discover + parse + walk) over fixtures
|
|
5
|
+
* exercising: class/interface/record/enum context, method/constructor
|
|
6
|
+
* declarations, lambda emission, modifier-based visibility,
|
|
7
|
+
* annotations including @Test, and body normalization (line, block,
|
|
8
|
+
* Javadoc comments, regular strings, text blocks, char literals).
|
|
9
|
+
*/
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=walk.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walk.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/walk.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Branch-coverage tests for graph-java/walk.ts.
|
|
3
|
+
*
|
|
4
|
+
* Drives the full Java adapter (discover + parse + walk) over fixtures
|
|
5
|
+
* exercising: class/interface/record/enum context, method/constructor
|
|
6
|
+
* declarations, lambda emission, modifier-based visibility,
|
|
7
|
+
* annotations including @Test, and body normalization (line, block,
|
|
8
|
+
* Javadoc comments, regular strings, text blocks, char literals).
|
|
9
|
+
*/
|
|
10
|
+
import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from 'node:fs';
|
|
11
|
+
import { tmpdir } from 'node:os';
|
|
12
|
+
import { join } from 'node:path';
|
|
13
|
+
import { afterEach, beforeEach, describe, expect, it } from 'vitest';
|
|
14
|
+
import { javaGraphAdapter } from '../index.js';
|
|
15
|
+
function run(dir) {
|
|
16
|
+
const discovery = javaGraphAdapter.discoverFiles({ cwd: dir });
|
|
17
|
+
const parsed = javaGraphAdapter.parseProject({
|
|
18
|
+
projectDirAbs: discovery.projectDirAbs,
|
|
19
|
+
files: discovery.files,
|
|
20
|
+
compilerOptions: discovery.compilerOptions,
|
|
21
|
+
resolutionMode: 'exact',
|
|
22
|
+
});
|
|
23
|
+
return javaGraphAdapter.walkProject({
|
|
24
|
+
project: parsed.project,
|
|
25
|
+
projectDirAbs: discovery.projectDirAbs,
|
|
26
|
+
files: discovery.files,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
describe('graph-java walk.ts', () => {
|
|
30
|
+
let dir;
|
|
31
|
+
beforeEach(() => {
|
|
32
|
+
dir = mkdtempSync(join(tmpdir(), 'graph-java-walk-'));
|
|
33
|
+
});
|
|
34
|
+
afterEach(() => {
|
|
35
|
+
rmSync(dir, { recursive: true, force: true });
|
|
36
|
+
});
|
|
37
|
+
it('emits method with enclosingClass set to the immediate class name', () => {
|
|
38
|
+
writeFileSync(join(dir, 'A.java'), 'package x;\nclass A { int doSomething() { return 1; } }\n', 'utf8');
|
|
39
|
+
const walk = run(dir);
|
|
40
|
+
const m = walk.occurrences.doSomething;
|
|
41
|
+
expect(m?.[0]?.kind).toBe('method');
|
|
42
|
+
expect(m?.[0]?.enclosingClass).toBe('A');
|
|
43
|
+
});
|
|
44
|
+
it('emits constructor with kind=constructor and enclosingClass set', () => {
|
|
45
|
+
writeFileSync(join(dir, 'Foo.java'), 'package x;\nclass Foo { Foo(int n) { } }\n', 'utf8');
|
|
46
|
+
const walk = run(dir);
|
|
47
|
+
const ctor = walk.occurrences.Foo;
|
|
48
|
+
// The constructor is named the same as the class; it lives under
|
|
49
|
+
// simpleName="Foo".
|
|
50
|
+
expect(ctor?.some((o) => o.kind === 'constructor')).toBe(true);
|
|
51
|
+
});
|
|
52
|
+
it('tracks enclosingClass through interface_declaration', () => {
|
|
53
|
+
writeFileSync(join(dir, 'I.java'), 'package x;\ninterface I { default int m() { return 7; } }\n', 'utf8');
|
|
54
|
+
const walk = run(dir);
|
|
55
|
+
expect(walk.occurrences.m?.[0]?.enclosingClass).toBe('I');
|
|
56
|
+
});
|
|
57
|
+
it('tracks enclosingClass through record_declaration', () => {
|
|
58
|
+
writeFileSync(join(dir, 'Rec.java'), 'package x;\nrecord Rec(int n) { public int doubled() { return n * 2; } }\n', 'utf8');
|
|
59
|
+
const walk = run(dir);
|
|
60
|
+
expect(walk.occurrences.doubled?.[0]?.enclosingClass).toBe('Rec');
|
|
61
|
+
});
|
|
62
|
+
it('tracks enclosingClass through enum_declaration', () => {
|
|
63
|
+
writeFileSync(join(dir, 'E.java'), 'package x;\nenum E { ONE, TWO; public int code() { return 1; } }\n', 'utf8');
|
|
64
|
+
const walk = run(dir);
|
|
65
|
+
expect(walk.occurrences.code?.[0]?.enclosingClass).toBe('E');
|
|
66
|
+
});
|
|
67
|
+
it('emits arrow occurrence for lambda_expression with creation edge', () => {
|
|
68
|
+
writeFileSync(join(dir, 'L.java'), `package x;\nimport java.util.function.IntUnaryOperator;\nclass L { static IntUnaryOperator make() { IntUnaryOperator inc = n -> n + 1; return inc; } }\n`, 'utf8');
|
|
69
|
+
const walk = run(dir);
|
|
70
|
+
const arrows = Object.keys(walk.occurrences).filter((n) => n.startsWith('<arrow:'));
|
|
71
|
+
expect(arrows.length).toBe(1);
|
|
72
|
+
const creations = walk.callSites.filter((c) => c.kind === 'creation');
|
|
73
|
+
expect(creations.length).toBeGreaterThan(0);
|
|
74
|
+
});
|
|
75
|
+
it('classifies public/protected as exported, private as module-local', () => {
|
|
76
|
+
writeFileSync(join(dir, 'V.java'), `package x;\nclass V {\n public void pub() {}\n protected void prot() {}\n private void priv() {}\n void pkg() {}\n}\n`, 'utf8');
|
|
77
|
+
const walk = run(dir);
|
|
78
|
+
expect(walk.occurrences.pub?.[0]?.visibility).toBe('exported');
|
|
79
|
+
expect(walk.occurrences.prot?.[0]?.visibility).toBe('exported');
|
|
80
|
+
expect(walk.occurrences.priv?.[0]?.visibility).toBe('module-local');
|
|
81
|
+
expect(walk.occurrences.pkg?.[0]?.visibility).toBe('module-local');
|
|
82
|
+
});
|
|
83
|
+
it('flags /test/ path files as inTestFile', () => {
|
|
84
|
+
mkdirSync(join(dir, 'src/test/java'), { recursive: true });
|
|
85
|
+
writeFileSync(join(dir, 'src/test/java/Sample.java'), 'package x;\nclass Sample { void method() {} }\n', 'utf8');
|
|
86
|
+
const walk = run(dir);
|
|
87
|
+
expect(walk.occurrences.method?.[0]?.inTestFile).toBe(true);
|
|
88
|
+
});
|
|
89
|
+
it('flags *Test.java filenames as inTestFile', () => {
|
|
90
|
+
writeFileSync(join(dir, 'ThingTest.java'), 'package x;\nclass ThingTest { void m() {} }\n', 'utf8');
|
|
91
|
+
const walk = run(dir);
|
|
92
|
+
expect(walk.occurrences.m?.[0]?.inTestFile).toBe(true);
|
|
93
|
+
});
|
|
94
|
+
it('flags @Test-annotated methods as inTestFile even outside test paths', () => {
|
|
95
|
+
writeFileSync(join(dir, 'Inline.java'), `package x;\nclass Inline {\n @Test\n public void annotatedTest() {}\n}\n`, 'utf8');
|
|
96
|
+
const walk = run(dir);
|
|
97
|
+
expect(walk.occurrences.annotatedTest?.[0]?.inTestFile).toBe(true);
|
|
98
|
+
});
|
|
99
|
+
it('preserves regular and text-block string literals when stripping comments', () => {
|
|
100
|
+
writeFileSync(join(dir, 'S.java'), `package x;\nclass S {\n String m() {\n String a = "a /* fake comment */ inside";\n String b = """\n another // not a comment\n """;\n return a + b;\n }\n}\n`, 'utf8');
|
|
101
|
+
const walk = run(dir);
|
|
102
|
+
expect(walk.occurrences.m).toBeDefined();
|
|
103
|
+
});
|
|
104
|
+
it('records method_invocation as a call-site', () => {
|
|
105
|
+
writeFileSync(join(dir, 'C.java'), `package x;\nclass C { void caller() { callee(); } void callee() {} }\n`, 'utf8');
|
|
106
|
+
const walk = run(dir);
|
|
107
|
+
const calls = walk.callSites.filter((c) => c.kind === 'call');
|
|
108
|
+
expect(calls.length).toBeGreaterThanOrEqual(1);
|
|
109
|
+
});
|
|
110
|
+
it('records object_creation_expression (new Foo()) as a call-site', () => {
|
|
111
|
+
writeFileSync(join(dir, 'N.java'), `package x;\nclass N { void main() { Foo f = new Foo(); } }\nclass Foo { Foo() {} }\n`, 'utf8');
|
|
112
|
+
const walk = run(dir);
|
|
113
|
+
const calls = walk.callSites.filter((c) => c.kind === 'call');
|
|
114
|
+
expect(calls.length).toBeGreaterThanOrEqual(1);
|
|
115
|
+
});
|
|
116
|
+
it('records explicit_constructor_invocation (super/this calls)', () => {
|
|
117
|
+
writeFileSync(join(dir, 'Sub.java'), `package x;\nclass Base { Base(int n) {} }\nclass Sub extends Base {\n Sub() { super(1); }\n Sub(int n) { this(); }\n}\n`, 'utf8');
|
|
118
|
+
const walk = run(dir);
|
|
119
|
+
const calls = walk.callSites.filter((c) => c.kind === 'call');
|
|
120
|
+
// Two explicit_constructor_invocation nodes (super(1) and this()).
|
|
121
|
+
expect(calls.length).toBeGreaterThanOrEqual(2);
|
|
122
|
+
});
|
|
123
|
+
it('preserves escape sequences inside regular string literals', () => {
|
|
124
|
+
// `"\\\"hi\\\""` — an escaped quote inside a regular string. The
|
|
125
|
+
// string-literal scanner must consume `\"` as a two-char escape so
|
|
126
|
+
// the closing quote stays paired correctly.
|
|
127
|
+
writeFileSync(join(dir, 'Esc.java'), 'package x;\nclass Esc { String m() { return ' + String.raw `"a\"b"` + '; } }\n', 'utf8');
|
|
128
|
+
const walk = run(dir);
|
|
129
|
+
expect(walk.occurrences.m).toBeDefined();
|
|
130
|
+
});
|
|
131
|
+
it('preserves escape sequences inside text blocks', () => {
|
|
132
|
+
// Text block containing an escaped `\n` and `\"`. The text-block
|
|
133
|
+
// scanner has its own escape branch (separate from the regular
|
|
134
|
+
// string scanner).
|
|
135
|
+
writeFileSync(join(dir, 'TextEsc.java'), 'package x;\nclass TextEsc { String m() { return """\n ' +
|
|
136
|
+
String.raw `a\nb\"c` +
|
|
137
|
+
'\n """; } }\n', 'utf8');
|
|
138
|
+
const walk = run(dir);
|
|
139
|
+
expect(walk.occurrences.m).toBeDefined();
|
|
140
|
+
});
|
|
141
|
+
it('preserves char literals (both simple and escaped)', () => {
|
|
142
|
+
// `'x'` exercises the unescape path; `'\\n'` exercises the escape
|
|
143
|
+
// branch in consumeCharLiteral.
|
|
144
|
+
writeFileSync(join(dir, 'Chars.java'), "package x;\nclass Chars { char a() { return 'x'; } char b() { return '\\n'; } }\n", 'utf8');
|
|
145
|
+
const walk = run(dir);
|
|
146
|
+
expect(walk.occurrences.a).toBeDefined();
|
|
147
|
+
expect(walk.occurrences.b).toBeDefined();
|
|
148
|
+
});
|
|
149
|
+
it('strips Javadoc block comments (/** ... */)', () => {
|
|
150
|
+
writeFileSync(join(dir, 'J.java'), 'package x;\nclass J {\n /** Javadoc */\n int m() { return 1; }\n}\n', 'utf8');
|
|
151
|
+
const walk = run(dir);
|
|
152
|
+
expect(walk.occurrences.m).toBeDefined();
|
|
153
|
+
});
|
|
154
|
+
it('walks a malformed type declaration without throwing', () => {
|
|
155
|
+
// Malformed input — tree-sitter still produces some tree shape; we
|
|
156
|
+
// care only that walkProject is total over the file set.
|
|
157
|
+
writeFileSync(join(dir, 'Anon.java'), 'package x;\nclass class Bad {}\n', 'utf8');
|
|
158
|
+
const walk = run(dir);
|
|
159
|
+
expect(walk).toBeDefined();
|
|
160
|
+
});
|
|
161
|
+
it('detects @ParameterizedTest as a test annotation', () => {
|
|
162
|
+
writeFileSync(join(dir, 'PT.java'), `package x;\nclass PT {\n @ParameterizedTest\n public void paramTest() {}\n}\n`, 'utf8');
|
|
163
|
+
const walk = run(dir);
|
|
164
|
+
expect(walk.occurrences.paramTest?.[0]?.inTestFile).toBe(true);
|
|
165
|
+
});
|
|
166
|
+
it('classifies $Pb.java files as definedInGenerated', () => {
|
|
167
|
+
// The discovery layer excludes `target/`, `build/`, `out/`, etc. so
|
|
168
|
+
// generated-by-folder paths never reach walkProject. The
|
|
169
|
+
// `$Pb.java` suffix is the protobuf-Java codegen marker and is the
|
|
170
|
+
// only generated-detection path that bypasses the dir exclusions.
|
|
171
|
+
writeFileSync(join(dir, 'Foo$Pb.java'), 'package x;\nclass Foo$Pb { void g() {} }\n', 'utf8');
|
|
172
|
+
const walk = run(dir);
|
|
173
|
+
expect(walk.occurrences.g?.[0]?.definedInGenerated).toBe(true);
|
|
174
|
+
});
|
|
175
|
+
it('extracts package name from `package` declaration', () => {
|
|
176
|
+
writeFileSync(join(dir, 'A.java'), 'package foo.bar.baz;\nclass A { void m() {} }\n', 'utf8');
|
|
177
|
+
const walk = run(dir);
|
|
178
|
+
expect(walk.occurrences.m?.[0]?.qualifiedName).toBe('foo.bar.baz.A.m');
|
|
179
|
+
});
|
|
180
|
+
it('falls back to path-based qualifier when no package declaration', () => {
|
|
181
|
+
writeFileSync(join(dir, 'NoPkg.java'), 'class NoPkg { void m() {} }\n', 'utf8');
|
|
182
|
+
const walk = run(dir);
|
|
183
|
+
// No `package` clause → qualifier derived from filename "NoPkg".
|
|
184
|
+
expect(walk.occurrences.m?.[0]?.qualifiedName).toBe('NoPkg.NoPkg.m');
|
|
185
|
+
});
|
|
186
|
+
it('extracts lambda single-parameter (identifier shape)', () => {
|
|
187
|
+
writeFileSync(join(dir, 'L1.java'), `package x;\nimport java.util.function.IntUnaryOperator;\nclass L1 { static IntUnaryOperator make() { return n -> n + 1; } }\n`, 'utf8');
|
|
188
|
+
const walk = run(dir);
|
|
189
|
+
const arrowName = Object.keys(walk.occurrences).find((n) => n.startsWith('<arrow:'));
|
|
190
|
+
expect(arrowName).toBeDefined();
|
|
191
|
+
const arrow = arrowName ? walk.occurrences[arrowName]?.[0] : undefined;
|
|
192
|
+
expect(arrow?.params.map((p) => p.name)).toEqual(['n']);
|
|
193
|
+
});
|
|
194
|
+
it('extracts lambda inferred parameters ((x, y) -> …)', () => {
|
|
195
|
+
writeFileSync(join(dir, 'L2.java'), `package x;\nimport java.util.function.BinaryOperator;\nclass L2 { static BinaryOperator<Integer> make() { return (a, b) -> a + b; } }\n`, 'utf8');
|
|
196
|
+
const walk = run(dir);
|
|
197
|
+
const arrowName = Object.keys(walk.occurrences).find((n) => n.startsWith('<arrow:'));
|
|
198
|
+
expect(arrowName).toBeDefined();
|
|
199
|
+
const arrow = arrowName ? walk.occurrences[arrowName]?.[0] : undefined;
|
|
200
|
+
expect(arrow?.params.map((p) => p.name)).toEqual(['a', 'b']);
|
|
201
|
+
});
|
|
202
|
+
it('extracts formal parameter names', () => {
|
|
203
|
+
writeFileSync(join(dir, 'V.java'), `package x;\nclass V { void f(String name, int n) {} }\n`, 'utf8');
|
|
204
|
+
const walk = run(dir);
|
|
205
|
+
const params = walk.occurrences.f?.[0]?.params;
|
|
206
|
+
expect(params?.map((p) => p.name)).toEqual(['name', 'n']);
|
|
207
|
+
expect(params?.every((p) => !p.rest)).toBe(true);
|
|
208
|
+
});
|
|
209
|
+
it('handles spread (varargs) parameter syntax without throwing', () => {
|
|
210
|
+
// tree-sitter-java may not surface `String... xs` as `spread_parameter`
|
|
211
|
+
// — extractParams handles both `formal_parameter` and `spread_parameter`,
|
|
212
|
+
// so this only verifies the walk completes.
|
|
213
|
+
writeFileSync(join(dir, 'V2.java'), `package x;\nclass V2 { void f(String... xs) {} }\n`, 'utf8');
|
|
214
|
+
const walk = run(dir);
|
|
215
|
+
expect(walk.occurrences.f).toBeDefined();
|
|
216
|
+
});
|
|
217
|
+
it('emits a synthetic <module-init> per file', () => {
|
|
218
|
+
writeFileSync(join(dir, 'A.java'), `package x;\nimport java.util.List;\nclass A { void m() {} }\n`, 'utf8');
|
|
219
|
+
const walk = run(dir);
|
|
220
|
+
const moduleInits = Object.keys(walk.occurrences).filter((n) => n.startsWith('<module-init:'));
|
|
221
|
+
expect(moduleInits.length).toBe(1);
|
|
222
|
+
const occ = walk.occurrences[moduleInits[0]]?.[0];
|
|
223
|
+
expect(occ?.kind).toBe('module-init');
|
|
224
|
+
expect(occ?.visibility).toBe('module-local');
|
|
225
|
+
});
|
|
226
|
+
});
|
|
227
|
+
//# sourceMappingURL=walk.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walk.test.js","sourceRoot":"","sources":["../../src/__tests__/walk.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Body normalization + SHA-256 digest for Java.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from `walk.ts` to keep that module focused on AST traversal
|
|
5
|
+
* and occurrence construction. The body-digest defines the catalog's
|
|
6
|
+
* `bodyHash` contract: walk produces it; resolve consumes it.
|
|
7
|
+
*
|
|
8
|
+
* Normalization (consistent across language adapters):
|
|
9
|
+
*
|
|
10
|
+
* 1. Strip `//` line and `/* … *\/` block comments (Javadoc included
|
|
11
|
+
* — same scanner). Preserve string + text block + char literals so
|
|
12
|
+
* quoted comment-like text survives.
|
|
13
|
+
* 2. Collapse runs of whitespace to a single space, trim.
|
|
14
|
+
* 3. SHA-256.
|
|
15
|
+
*/
|
|
16
|
+
import { type BodyDigest } from '@opensip-cli/graph';
|
|
17
|
+
export declare function digestJavaBody(text: string): BodyDigest;
|
|
18
|
+
export declare const digestSyntheticBody: typeof digestJavaBody;
|
|
19
|
+
//# sourceMappingURL=body-digest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"body-digest.d.ts","sourceRoot":"","sources":["../src/body-digest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAiC,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGpF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAEvD;AAED,eAAO,MAAM,mBAAmB,uBAAiB,CAAC"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Body normalization + SHA-256 digest for Java.
|
|
3
|
+
*
|
|
4
|
+
* Extracted from `walk.ts` to keep that module focused on AST traversal
|
|
5
|
+
* and occurrence construction. The body-digest defines the catalog's
|
|
6
|
+
* `bodyHash` contract: walk produces it; resolve consumes it.
|
|
7
|
+
*
|
|
8
|
+
* Normalization (consistent across language adapters):
|
|
9
|
+
*
|
|
10
|
+
* 1. Strip `//` line and `/* … *\/` block comments (Javadoc included
|
|
11
|
+
* — same scanner). Preserve string + text block + char literals so
|
|
12
|
+
* quoted comment-like text survives.
|
|
13
|
+
* 2. Collapse runs of whitespace to a single space, trim.
|
|
14
|
+
* 3. SHA-256.
|
|
15
|
+
*/
|
|
16
|
+
import { hashBody, normalizeWhitespace } from '@opensip-cli/graph';
|
|
17
|
+
import { skipBlockComment, skipToEndOfLine } from '@opensip-cli/graph-adapter-common';
|
|
18
|
+
export function digestJavaBody(text) {
|
|
19
|
+
return hashBody(normalizeWhitespace(stripJavaComments(text)));
|
|
20
|
+
}
|
|
21
|
+
export const digestSyntheticBody = digestJavaBody;
|
|
22
|
+
/**
|
|
23
|
+
* Strip Java `//` line comments and `/* … *\/` block comments (which
|
|
24
|
+
* include Javadoc `/** … *\/` — same scanner). Java block comments do
|
|
25
|
+
* NOT nest. Preserve string literals (regular `"…"` and text blocks
|
|
26
|
+
* `"""…"""`) and char literals.
|
|
27
|
+
*/
|
|
28
|
+
function stripJavaComments(text) {
|
|
29
|
+
let out = '';
|
|
30
|
+
let i = 0;
|
|
31
|
+
while (i < text.length) {
|
|
32
|
+
const next2 = text.slice(i, i + 2);
|
|
33
|
+
if (next2 === '//') {
|
|
34
|
+
i = skipToEndOfLine(text, i);
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
if (next2 === '/*') {
|
|
38
|
+
i = skipBlockComment(text, i + 2);
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
// Text block: `"""…"""`. Must check before regular `"` because the
|
|
42
|
+
// opening triple-quote starts with `"`.
|
|
43
|
+
if (text.slice(i, i + 3) === '"""') {
|
|
44
|
+
const block = consumeTextBlock(text, i);
|
|
45
|
+
out += block.text;
|
|
46
|
+
i = block.index;
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
const c = text[i];
|
|
50
|
+
if (c === '"') {
|
|
51
|
+
const block = consumeStringLiteral(text, i);
|
|
52
|
+
out += block.text;
|
|
53
|
+
i = block.index;
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
if (c === "'") {
|
|
57
|
+
const block = consumeCharLiteral(text, i);
|
|
58
|
+
out += block.text;
|
|
59
|
+
i = block.index;
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
out += c;
|
|
63
|
+
i++;
|
|
64
|
+
}
|
|
65
|
+
return out;
|
|
66
|
+
}
|
|
67
|
+
function consumeStringLiteral(text, start) {
|
|
68
|
+
let i = start + 1;
|
|
69
|
+
let buf = '"';
|
|
70
|
+
while (i < text.length) {
|
|
71
|
+
if (text[i] === '\\' && i + 1 < text.length) {
|
|
72
|
+
buf += text.slice(i, i + 2);
|
|
73
|
+
i += 2;
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
if (text[i] === '"') {
|
|
77
|
+
buf += '"';
|
|
78
|
+
i++;
|
|
79
|
+
break;
|
|
80
|
+
}
|
|
81
|
+
/* v8 ignore next */
|
|
82
|
+
if (text[i] === '\n')
|
|
83
|
+
break;
|
|
84
|
+
buf += text[i];
|
|
85
|
+
i++;
|
|
86
|
+
}
|
|
87
|
+
return { text: buf, index: i };
|
|
88
|
+
}
|
|
89
|
+
function consumeTextBlock(text, start) {
|
|
90
|
+
// Text blocks span newlines and end at the next un-escaped `"""`.
|
|
91
|
+
let i = start + 3;
|
|
92
|
+
let buf = '"""';
|
|
93
|
+
while (i < text.length) {
|
|
94
|
+
if (text[i] === '\\' && i + 1 < text.length) {
|
|
95
|
+
buf += text.slice(i, i + 2);
|
|
96
|
+
i += 2;
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
if (text.slice(i, i + 3) === '"""') {
|
|
100
|
+
buf += '"""';
|
|
101
|
+
i += 3;
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
buf += text[i];
|
|
105
|
+
i++;
|
|
106
|
+
}
|
|
107
|
+
return { text: buf, index: i };
|
|
108
|
+
}
|
|
109
|
+
function consumeCharLiteral(text, start) {
|
|
110
|
+
let i = start + 1;
|
|
111
|
+
let buf = "'";
|
|
112
|
+
let escape = false;
|
|
113
|
+
while (i < text.length) {
|
|
114
|
+
const c = text[i];
|
|
115
|
+
if (escape) {
|
|
116
|
+
buf += c;
|
|
117
|
+
escape = false;
|
|
118
|
+
i++;
|
|
119
|
+
continue;
|
|
120
|
+
}
|
|
121
|
+
if (c === '\\') {
|
|
122
|
+
buf += c;
|
|
123
|
+
escape = true;
|
|
124
|
+
i++;
|
|
125
|
+
continue;
|
|
126
|
+
}
|
|
127
|
+
if (c === "'") {
|
|
128
|
+
buf += c;
|
|
129
|
+
i++;
|
|
130
|
+
break;
|
|
131
|
+
}
|
|
132
|
+
/* v8 ignore next */
|
|
133
|
+
if (c === '\n')
|
|
134
|
+
break;
|
|
135
|
+
buf += c;
|
|
136
|
+
i++;
|
|
137
|
+
}
|
|
138
|
+
return { text: buf, index: i };
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=body-digest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"body-digest.js","sourceRoot":"","sources":["../src/body-digest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Java cacheKey implementation.
|
|
3
|
+
*
|
|
4
|
+
* Produces `java-${buildFileHash || 'no-config'}`.
|
|
5
|
+
*
|
|
6
|
+
* Java has no canonical resolved-dependency lock file like Cargo.lock
|
|
7
|
+
* or go.sum. Maven's `pom.xml` and Gradle's `build.gradle` /
|
|
8
|
+
* `build.gradle.kts` are the build-config sources of truth, so we
|
|
9
|
+
* fingerprint those. Gradle does emit `gradle.lockfile` when locking
|
|
10
|
+
* is enabled but it's opt-in; we treat it as preferred when present
|
|
11
|
+
* since it captures the resolved versions. The precedence is encoded in
|
|
12
|
+
* `discover.ts`'s config-candidate list; this module just fingerprints
|
|
13
|
+
* whichever anchor discover picked.
|
|
14
|
+
*
|
|
15
|
+
* Per contract invariant I-6: pure function of `(config content)`.
|
|
16
|
+
* Per I-8: emits `java-`, distinct from `rs-`, `py-`, `go-`.
|
|
17
|
+
*/
|
|
18
|
+
export declare const cacheKey: (input: import("@opensip-cli/graph").CacheKeyInput) => string;
|
|
19
|
+
//# sourceMappingURL=cache-key.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-key.d.ts","sourceRoot":"","sources":["../src/cache-key.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,eAAO,MAAM,QAAQ,+DAAyC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Java cacheKey implementation.
|
|
3
|
+
*
|
|
4
|
+
* Produces `java-${buildFileHash || 'no-config'}`.
|
|
5
|
+
*
|
|
6
|
+
* Java has no canonical resolved-dependency lock file like Cargo.lock
|
|
7
|
+
* or go.sum. Maven's `pom.xml` and Gradle's `build.gradle` /
|
|
8
|
+
* `build.gradle.kts` are the build-config sources of truth, so we
|
|
9
|
+
* fingerprint those. Gradle does emit `gradle.lockfile` when locking
|
|
10
|
+
* is enabled but it's opt-in; we treat it as preferred when present
|
|
11
|
+
* since it captures the resolved versions. The precedence is encoded in
|
|
12
|
+
* `discover.ts`'s config-candidate list; this module just fingerprints
|
|
13
|
+
* whichever anchor discover picked.
|
|
14
|
+
*
|
|
15
|
+
* Per contract invariant I-6: pure function of `(config content)`.
|
|
16
|
+
* Per I-8: emits `java-`, distinct from `rs-`, `py-`, `go-`.
|
|
17
|
+
*/
|
|
18
|
+
import { makeConfigCacheKey } from '@opensip-cli/graph-adapter-common';
|
|
19
|
+
export const cacheKey = makeConfigCacheKey({ prefix: 'java' });
|
|
20
|
+
//# sourceMappingURL=cache-key.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-key.js","sourceRoot":"","sources":["../src/cache-key.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,MAAM,CAAC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Java file discovery.
|
|
3
|
+
*
|
|
4
|
+
* Strategy mirrors graph-go:
|
|
5
|
+
* 1. Locate a build file. Precedence (resolved-deps first):
|
|
6
|
+
* gradle.lockfile > pom.xml > build.gradle.kts > build.gradle.
|
|
7
|
+
* We do NOT parse them — recursive `.java` glob with build
|
|
8
|
+
* output dirs excluded handles single modules and most multi-
|
|
9
|
+
* module layouts. Multi-module workspace-aware discovery
|
|
10
|
+
* (Gradle subprojects, Maven `<modules>`) is a follow-up.
|
|
11
|
+
* 2. If no build file present, configPath is undefined; cacheKey
|
|
12
|
+
* falls back to `no-config`.
|
|
13
|
+
*
|
|
14
|
+
* Excluded directories:
|
|
15
|
+
* - `target/` — Maven build output
|
|
16
|
+
* - `build/` — Gradle build output
|
|
17
|
+
* - `out/` — IntelliJ default output
|
|
18
|
+
* - `bin/` — Eclipse default output
|
|
19
|
+
* - `.gradle/` — Gradle cache
|
|
20
|
+
* - `node_modules/` — defensive
|
|
21
|
+
* - `.git/` — VCS metadata
|
|
22
|
+
*
|
|
23
|
+
* The collect-loop / realpath-dedup / config-precedence scaffolding lives
|
|
24
|
+
* in `@opensip-cli/graph-adapter-common`; this module supplies only the
|
|
25
|
+
* Java-specific inputs.
|
|
26
|
+
*/
|
|
27
|
+
export declare const discoverFiles: (input: import("@opensip-cli/graph").DiscoverInput) => import("@opensip-cli/graph").DiscoverOutput;
|
|
28
|
+
//# sourceMappingURL=discover.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAsBH,eAAO,MAAM,aAAa,oGAKxB,CAAC"}
|
package/dist/discover.js
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Java file discovery.
|
|
3
|
+
*
|
|
4
|
+
* Strategy mirrors graph-go:
|
|
5
|
+
* 1. Locate a build file. Precedence (resolved-deps first):
|
|
6
|
+
* gradle.lockfile > pom.xml > build.gradle.kts > build.gradle.
|
|
7
|
+
* We do NOT parse them — recursive `.java` glob with build
|
|
8
|
+
* output dirs excluded handles single modules and most multi-
|
|
9
|
+
* module layouts. Multi-module workspace-aware discovery
|
|
10
|
+
* (Gradle subprojects, Maven `<modules>`) is a follow-up.
|
|
11
|
+
* 2. If no build file present, configPath is undefined; cacheKey
|
|
12
|
+
* falls back to `no-config`.
|
|
13
|
+
*
|
|
14
|
+
* Excluded directories:
|
|
15
|
+
* - `target/` — Maven build output
|
|
16
|
+
* - `build/` — Gradle build output
|
|
17
|
+
* - `out/` — IntelliJ default output
|
|
18
|
+
* - `bin/` — Eclipse default output
|
|
19
|
+
* - `.gradle/` — Gradle cache
|
|
20
|
+
* - `node_modules/` — defensive
|
|
21
|
+
* - `.git/` — VCS metadata
|
|
22
|
+
*
|
|
23
|
+
* The collect-loop / realpath-dedup / config-precedence scaffolding lives
|
|
24
|
+
* in `@opensip-cli/graph-adapter-common`; this module supplies only the
|
|
25
|
+
* Java-specific inputs.
|
|
26
|
+
*/
|
|
27
|
+
import { createDiscover } from '@opensip-cli/graph-adapter-common';
|
|
28
|
+
const EXCLUDED_DIR_GLOBS = [
|
|
29
|
+
'**/target/**',
|
|
30
|
+
'**/build/**',
|
|
31
|
+
'**/out/**',
|
|
32
|
+
'**/bin/**',
|
|
33
|
+
'**/.gradle/**',
|
|
34
|
+
'**/node_modules/**',
|
|
35
|
+
'**/.git/**',
|
|
36
|
+
];
|
|
37
|
+
// Search order: lockfile (most resolved) → pom.xml → build.gradle.kts → build.gradle.
|
|
38
|
+
const CONFIG_CANDIDATES = [
|
|
39
|
+
'gradle.lockfile',
|
|
40
|
+
'pom.xml',
|
|
41
|
+
'build.gradle.kts',
|
|
42
|
+
'build.gradle',
|
|
43
|
+
];
|
|
44
|
+
export const discoverFiles = createDiscover({
|
|
45
|
+
extension: 'java',
|
|
46
|
+
excludedDirGlobs: EXCLUDED_DIR_GLOBS,
|
|
47
|
+
configCandidates: CONFIG_CANDIDATES,
|
|
48
|
+
languageId: 'java',
|
|
49
|
+
});
|
|
50
|
+
//# sourceMappingURL=discover.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discover.js","sourceRoot":"","sources":["../src/discover.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,MAAM,kBAAkB,GAAsB;IAC5C,cAAc;IACd,aAAa;IACb,WAAW;IACX,WAAW;IACX,eAAe;IACf,oBAAoB;IACpB,YAAY;CACb,CAAC;AAEF,sFAAsF;AACtF,MAAM,iBAAiB,GAAsB;IAC3C,iBAAiB;IACjB,SAAS;IACT,kBAAkB;IAClB,cAAc;CACf,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,cAAc,CAAC;IAC1C,SAAS,EAAE,MAAM;IACjB,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,iBAAiB;IACnC,UAAU,EAAE,MAAM;CACnB,CAAC,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @opensip-cli/graph — Java language adapter.
|
|
3
|
+
*
|
|
4
|
+
* Sibling of graph-rust, graph-python, and graph-go. Backed by
|
|
5
|
+
* tree-sitter-java.
|
|
6
|
+
*
|
|
7
|
+
* Per-rule fidelity: same name-based resolution profile as the other
|
|
8
|
+
* tree-sitter adapters. Mostly `'medium'` for single-match identifiers;
|
|
9
|
+
* `'low'` for ambiguous matches. Receiver-type narrowing is NOT done
|
|
10
|
+
* because Java's `obj.method()` (instance call) and `Class.method()`
|
|
11
|
+
* (static call) are AST-indistinguishable without a type checker.
|
|
12
|
+
*
|
|
13
|
+
* File layout mirrors graph-go/:
|
|
14
|
+
* discoverFiles → ./discover.ts (Maven/Gradle build files + glob)
|
|
15
|
+
* parseProject → ./parse.ts
|
|
16
|
+
* walkProject → ./walk.ts
|
|
17
|
+
* resolveCallSites → ./resolve.ts
|
|
18
|
+
* cacheKey → ./cache-key.ts (`java-…`)
|
|
19
|
+
* ruleHints → ./rule-hints.ts
|
|
20
|
+
*/
|
|
21
|
+
import { resolveCallSites as javaResolveCallSites } from './resolve.js';
|
|
22
|
+
import { walkProject as javaWalkProject } from './walk.js';
|
|
23
|
+
export declare const javaGraphAdapter: {
|
|
24
|
+
id: string;
|
|
25
|
+
fileExtensions: string[];
|
|
26
|
+
displayName: string;
|
|
27
|
+
discoverFiles: (input: import("@opensip-cli/graph").DiscoverInput) => import("@opensip-cli/graph").DiscoverOutput;
|
|
28
|
+
parseProject: (input: import("@opensip-cli/graph").ParseInput) => import("@opensip-cli/graph").ParseOutput<import("@opensip-cli/graph-adapter-common").TreeSitterParsedProject>;
|
|
29
|
+
walkProject: typeof javaWalkProject;
|
|
30
|
+
resolveCallSites: typeof javaResolveCallSites;
|
|
31
|
+
cacheKey: (input: import("@opensip-cli/graph").CacheKeyInput) => string;
|
|
32
|
+
ruleHints: import("@opensip-cli/graph").RuleHints;
|
|
33
|
+
};
|
|
34
|
+
/** Plugin discovery contract: exported as `adapter` for runtime registration. */
|
|
35
|
+
export { javaGraphAdapter as adapter };
|
|
36
|
+
export declare const metadata: {
|
|
37
|
+
readonly id: string;
|
|
38
|
+
readonly displayName: string;
|
|
39
|
+
readonly fileExtensions: string[];
|
|
40
|
+
};
|
|
41
|
+
export type { JavaParsedProject } from './parse.js';
|
|
42
|
+
export { javaRuleHints } from './rule-hints.js';
|
|
43
|
+
//# sourceMappingURL=index.d.ts.map
|