@descryy/adapter-kotlin 0.4.1 → 0.5.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/dist/adapter.d.ts.map +1 -1
- package/dist/adapter.js +68 -10
- package/dist/adapter.js.map +1 -1
- package/dist/client-base.d.ts +114 -0
- package/dist/client-base.d.ts.map +1 -0
- package/dist/client-base.js +102 -0
- package/dist/client-base.js.map +1 -0
- package/dist/client.d.ts +23 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +207 -13
- package/dist/client.js.map +1 -1
- package/dist/external.d.ts +149 -0
- package/dist/external.d.ts.map +1 -0
- package/dist/external.js +226 -0
- package/dist/external.js.map +1 -0
- package/dist/extract.d.ts +7 -0
- package/dist/extract.d.ts.map +1 -1
- package/dist/extract.js +321 -28
- package/dist/extract.js.map +1 -1
- package/dist/jpa-reads.d.ts +26 -0
- package/dist/jpa-reads.d.ts.map +1 -0
- package/dist/jpa-reads.js +35 -0
- package/dist/jpa-reads.js.map +1 -0
- package/dist/jpa.d.ts +147 -0
- package/dist/jpa.d.ts.map +1 -0
- package/dist/jpa.js +415 -0
- package/dist/jpa.js.map +1 -0
- package/dist/parse.d.ts +44 -0
- package/dist/parse.d.ts.map +1 -1
- package/dist/parse.js +106 -9
- package/dist/parse.js.map +1 -1
- package/dist/shape-reach.d.ts +92 -0
- package/dist/shape-reach.d.ts.map +1 -0
- package/dist/shape-reach.js +129 -0
- package/dist/shape-reach.js.map +1 -0
- package/package.json +4 -4
package/dist/extract.js
CHANGED
|
@@ -22,8 +22,23 @@
|
|
|
22
22
|
* runs Java→Kotlin; ktor is 2,324 `.kt` against 1 `.java`. A rule with zero witnesses is declared
|
|
23
23
|
* absent rather than written blind.
|
|
24
24
|
*/
|
|
25
|
-
import { endpointQsp, nodeId, normaliseEndpointPath, symbolQsp, } from "@descryy/ir";
|
|
25
|
+
import { endpointQsp, externalQsp, nodeId, normaliseEndpointPath, symbolQsp, } from "@descryy/ir";
|
|
26
|
+
import { SHAPE_LEVEL } from "./shape-reach.js";
|
|
27
|
+
import { fieldReadsIn as jpaFieldReadsIn } from "./jpa-reads.js";
|
|
28
|
+
import { attributeExternal, externalImportTable, } from "./external.js";
|
|
26
29
|
const LANGUAGE = "kotlin";
|
|
30
|
+
/** Which packaging world an external package name belongs to. Kotlin publishes
|
|
31
|
+
* to Maven repositories like Java does, and the identity is the package the
|
|
32
|
+
* source writes — never a coordinate, never a resolved classpath entry. */
|
|
33
|
+
const EXTERNAL_ECOSYSTEM = "maven";
|
|
34
|
+
/** An external node is attributed from the file's own `import` block — module
|
|
35
|
+
* resolution and nothing more. R1 exactly: never R0 (the import IS the
|
|
36
|
+
* resolution), never R4 (nothing observed it run).
|
|
37
|
+
* `DEC-NEXT-external-symbol-nodes-at-the-dependency-boundary`. */
|
|
38
|
+
const EXTERNAL_RESOLUTION = 1;
|
|
39
|
+
/** The confidence an R1 edge carries in this adapter, matching every other R1
|
|
40
|
+
* edge it emits. */
|
|
41
|
+
const EXTERNAL_CONFIDENCE = 0.7;
|
|
27
42
|
const typeKey = (identityPackage, path) => `${identityPackage}::${path.join(".")}`;
|
|
28
43
|
// identityPackage is `module[/sourceSet]/package`; the package is the segment
|
|
29
44
|
// after the last slash and is what an import path states.
|
|
@@ -67,6 +82,93 @@ export function extract(input) {
|
|
|
67
82
|
else if (!seen.includes(to))
|
|
68
83
|
seen.push(to);
|
|
69
84
|
};
|
|
85
|
+
/**
|
|
86
|
+
* Node ids already minted for a dependency symbol — one node per symbol and
|
|
87
|
+
* per node type, not per reference site.
|
|
88
|
+
*
|
|
89
|
+
* The three settled rules are asserted here rather than argued: the qsp
|
|
90
|
+
* carries an `ext:` marker (`externalQsp`), the node claims R1 and may never
|
|
91
|
+
* claim R0 or R4, and it owns no outgoing edge because nothing read its body.
|
|
92
|
+
* `thirdParty` and `binding` ride in `attrs`, outside the hash — a package
|
|
93
|
+
* that moved between the standard library and a jar would otherwise change
|
|
94
|
+
* identity with no line of source changing.
|
|
95
|
+
*/
|
|
96
|
+
const externalIds = new Map();
|
|
97
|
+
const mintExternal = (attribution, type) => {
|
|
98
|
+
if (input.reached < EXTERNAL_RESOLUTION)
|
|
99
|
+
return null;
|
|
100
|
+
const qsp = externalQsp(attribution.moduleOrNamespace, attribution.symbolPath);
|
|
101
|
+
const key = `${type}\u0000${qsp}`;
|
|
102
|
+
const existing = externalIds.get(key);
|
|
103
|
+
if (existing !== undefined)
|
|
104
|
+
return existing;
|
|
105
|
+
const id = nodeId(scope, type, qsp, LANGUAGE);
|
|
106
|
+
externalIds.set(key, id);
|
|
107
|
+
nodes.push({
|
|
108
|
+
id,
|
|
109
|
+
type,
|
|
110
|
+
name: attribution.symbolPath[attribution.symbolPath.length - 1] ?? "",
|
|
111
|
+
// No file and no range: the symbol lives in a dependency, and a node that
|
|
112
|
+
// named a file here would be invalidated by a source file it has nothing
|
|
113
|
+
// to do with.
|
|
114
|
+
file: null,
|
|
115
|
+
range: null,
|
|
116
|
+
language: LANGUAGE,
|
|
117
|
+
producedBy: input.producedBy,
|
|
118
|
+
resolution: EXTERNAL_RESOLUTION,
|
|
119
|
+
attrs: { thirdParty: attribution.thirdParty, binding: attribution.binding },
|
|
120
|
+
external: {
|
|
121
|
+
ecosystem: EXTERNAL_ECOSYSTEM,
|
|
122
|
+
moduleOrNamespace: attribution.moduleOrNamespace,
|
|
123
|
+
},
|
|
124
|
+
});
|
|
125
|
+
return id;
|
|
126
|
+
};
|
|
127
|
+
/**
|
|
128
|
+
* Mint the dependency symbol a reference reaches, and the edge into it.
|
|
129
|
+
* `true` when it did; `false` leaves the site to the caller's refusal.
|
|
130
|
+
*
|
|
131
|
+
* The node type follows the EDGE, not the shape of the name: `USES_TYPE`
|
|
132
|
+
* names a type so it mints a `CLASS`, `CALLS` names a callable so it mints a
|
|
133
|
+
* `FUNCTION`. A call out of a test function is `CALLS` and never `TESTS` —
|
|
134
|
+
* `TESTS` asserts coverage, and this run read nothing of the dependency's
|
|
135
|
+
* body (`DEC-NEXT-external-edge-is-calls-not-tests`).
|
|
136
|
+
*/
|
|
137
|
+
const externalEdge = (from, unit, written, extra, edgeType) => {
|
|
138
|
+
const attribution = attributeExternal(written, extra, externalContextFor(unit));
|
|
139
|
+
if (attribution === null)
|
|
140
|
+
return false;
|
|
141
|
+
const to = mintExternal(attribution, edgeType === "USES_TYPE" ? "CLASS" : "FUNCTION");
|
|
142
|
+
if (to === null)
|
|
143
|
+
return false;
|
|
144
|
+
push({ from, to, type: edgeType }, EXTERNAL_CONFIDENCE, EXTERNAL_RESOLUTION);
|
|
145
|
+
return true;
|
|
146
|
+
};
|
|
147
|
+
/** The context `external.ts` attributes against, for one file. The import
|
|
148
|
+
* table is the file's; `ownPackages` is the repository's. */
|
|
149
|
+
const externalContexts = new Map();
|
|
150
|
+
const externalContextFor = (unit) => {
|
|
151
|
+
const cached = externalContexts.get(unit.file);
|
|
152
|
+
if (cached !== undefined)
|
|
153
|
+
return cached;
|
|
154
|
+
const context = {
|
|
155
|
+
imports: externalImportTable(unit.imports),
|
|
156
|
+
ownPackages,
|
|
157
|
+
};
|
|
158
|
+
externalContexts.set(unit.file, context);
|
|
159
|
+
return context;
|
|
160
|
+
};
|
|
161
|
+
/**
|
|
162
|
+
* Packages this repository declares for itself. A symbol under one of them is
|
|
163
|
+
* OURS whether or not this run read it.
|
|
164
|
+
*
|
|
165
|
+
* This is also the only guard against the cross-language case a Kotlin-only
|
|
166
|
+
* reader cannot see: `okhttp` declares types in both `.kt` and `.java`, and a
|
|
167
|
+
* Java class in a package this repository's Kotlin sources also declare is
|
|
168
|
+
* ours by this check. One in a package no Kotlin source declares is not
|
|
169
|
+
* caught, and stays a disclosed limit.
|
|
170
|
+
*/
|
|
171
|
+
const ownPackages = new Set(input.files.map((each) => each.packageName).filter((name) => name !== ""));
|
|
70
172
|
const refuse = (fromNodeId, edgeType, rawTarget, file, line, reason, attrs) => {
|
|
71
173
|
unresolved.push({
|
|
72
174
|
fromNodeId,
|
|
@@ -152,20 +254,78 @@ export function extract(input) {
|
|
|
152
254
|
}
|
|
153
255
|
if (typesByKey.has(key))
|
|
154
256
|
continue;
|
|
155
|
-
|
|
156
|
-
|
|
257
|
+
/**
|
|
258
|
+
* Kind is decided BEFORE the id is minted (DEC-004), never patched on
|
|
259
|
+
* after: the kind is part of the id, and everything downstream resolves
|
|
260
|
+
* references out of `typesByKey`. A `MODEL` is a framework claim earned
|
|
261
|
+
* from one annotation in `jpa.ts` — never from the name, which golden
|
|
262
|
+
* 07 and 12 exist to punish.
|
|
263
|
+
*/
|
|
264
|
+
const model = input.reach?.entities.get(key);
|
|
265
|
+
const kind = model === undefined ? "CLASS" : "MODEL";
|
|
266
|
+
const id = nodeId(scope, kind, symbolQsp(unit.identityPackage, path), LANGUAGE);
|
|
267
|
+
// `isModel` is what golden 07's READS resolver asks: an edge to a model
|
|
268
|
+
// is a different claim from an edge to a plain class.
|
|
269
|
+
typesByKey.set(key, {
|
|
270
|
+
id,
|
|
271
|
+
kind: decl.kind,
|
|
272
|
+
identityPackage: unit.identityPackage,
|
|
273
|
+
file: unit.file,
|
|
274
|
+
path,
|
|
275
|
+
isModel: model !== undefined,
|
|
276
|
+
});
|
|
277
|
+
const attrs = { declarationForm: decl.kind };
|
|
278
|
+
/**
|
|
279
|
+
* The level this node's strongest fact carries. A `MODEL` bundles two
|
|
280
|
+
* different claims — *this class is persisted* (one annotation, read at
|
|
281
|
+
* R0) and *this is its mapped shape* (the column-by-column read) — and
|
|
282
|
+
* only the second is R3-grade, so the shape's level is stated separately
|
|
283
|
+
* in `attrs.shapeResolution`, DEC-058's carrier.
|
|
284
|
+
*/
|
|
285
|
+
let level = 0;
|
|
286
|
+
if (model !== undefined) {
|
|
287
|
+
attrs["orm"] = "jpa";
|
|
288
|
+
if (model.table !== null)
|
|
289
|
+
attrs["table"] = model.table;
|
|
290
|
+
if (model.fields.length > 0) {
|
|
291
|
+
attrs["fields"] = model.fields;
|
|
292
|
+
/**
|
|
293
|
+
* **Never above what the run reached.** A caller that capped this
|
|
294
|
+
* adapter at R2 gets the same shape one level down; a node stamped
|
|
295
|
+
* R3 unconditionally is rejected as `RESOLUTION_EXCEEDS_BATCH` at
|
|
296
|
+
* every lower ceiling and takes the rest of the batch with it. The
|
|
297
|
+
* R0-R2 monotonic sweep is what catches that, not the headline run.
|
|
298
|
+
*/
|
|
299
|
+
level = Math.min(SHAPE_LEVEL, input.reached);
|
|
300
|
+
attrs["shapeResolution"] = level;
|
|
301
|
+
}
|
|
302
|
+
if (model.undecided.length > 0)
|
|
303
|
+
attrs["undecidedNullability"] = model.undecided;
|
|
304
|
+
}
|
|
157
305
|
nodes.push({
|
|
158
306
|
id,
|
|
159
|
-
type:
|
|
307
|
+
type: kind,
|
|
160
308
|
name: decl.name,
|
|
161
309
|
file: unit.file,
|
|
162
310
|
range: { startLine: decl.startLine, endLine: decl.endLine },
|
|
163
311
|
language: LANGUAGE,
|
|
164
312
|
producedBy: input.producedBy,
|
|
165
|
-
resolution:
|
|
166
|
-
attrs
|
|
313
|
+
resolution: level,
|
|
314
|
+
attrs,
|
|
167
315
|
});
|
|
168
316
|
}
|
|
317
|
+
/**
|
|
318
|
+
* A shape `jpa.ts` withheld because it could not prove the column set
|
|
319
|
+
* complete. Disclosed rather than silently absent (rule 7): the `MODEL`
|
|
320
|
+
* node stands and carries no `fields`, and without this a consumer cannot
|
|
321
|
+
* tell "this entity has no columns" from "this entity's columns were not
|
|
322
|
+
* enumerable".
|
|
323
|
+
*/
|
|
324
|
+
for (const refusal of input.reach?.refusals ?? []) {
|
|
325
|
+
if (refusal.file !== unit.file)
|
|
326
|
+
continue;
|
|
327
|
+
refuse(moduleId, "USES_TYPE", refusal.className, unit.file, 1, refusal.reason);
|
|
328
|
+
}
|
|
169
329
|
for (const fn of unit.funcs) {
|
|
170
330
|
const path = [...fn.owners, fn.name];
|
|
171
331
|
const key = typeKey(unit.identityPackage, path);
|
|
@@ -176,15 +336,17 @@ export function extract(input) {
|
|
|
176
336
|
"an overload, or two same-named top-level declarations, apart. Refused rather than merged onto one arbitrary winner.");
|
|
177
337
|
continue;
|
|
178
338
|
}
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
339
|
+
// `COMPONENT` is earned by Compose's own declaration (`composableOf` in
|
|
340
|
+
// parse.ts), never by a name. A `@Composable` that returns a value is a
|
|
341
|
+
// state factory and stays a FUNCTION.
|
|
342
|
+
const funcType = fn.isTest ? "TEST_CASE" : fn.isComposable ? "COMPONENT" : "FUNCTION";
|
|
343
|
+
const id = nodeId(scope, funcType, symbolQsp(unit.identityPackage, path), LANGUAGE);
|
|
182
344
|
if (funcsByKey.has(key))
|
|
183
345
|
continue;
|
|
184
346
|
funcsByKey.set(key, { id, identityPackage: unit.identityPackage, owners: fn.owners, name: fn.name, file: unit.file });
|
|
185
347
|
nodes.push({
|
|
186
348
|
id,
|
|
187
|
-
type:
|
|
349
|
+
type: funcType,
|
|
188
350
|
name: fn.name,
|
|
189
351
|
file: unit.file,
|
|
190
352
|
range: { startLine: fn.startLine, endLine: fn.endLine },
|
|
@@ -218,16 +380,35 @@ export function extract(input) {
|
|
|
218
380
|
const node = nodes[index];
|
|
219
381
|
if (node === undefined)
|
|
220
382
|
continue;
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
383
|
+
/**
|
|
384
|
+
* **Two producers write `attrs.fields`, and they are not the same fact.**
|
|
385
|
+
* The language pass below reads every declared property and says what
|
|
386
|
+
* its type is *written* as — R0/R1 evidence. `jpa.ts` reads the mapped
|
|
387
|
+
* column set and says whether each column is *nullable* — R3 evidence,
|
|
388
|
+
* and the assertion golden 06 exists to make. A plain overwrite here
|
|
389
|
+
* silently destroyed the second: the shape was minted, then replaced by
|
|
390
|
+
* a list that had lost `nullable` before anything downstream saw it.
|
|
391
|
+
*
|
|
392
|
+
* So they are merged, on the ORM list's spine. The column set is the
|
|
393
|
+
* mapping's — it drops `@Transient`, adds every `@MappedSuperclass`
|
|
394
|
+
* column, and omits what `jpa.ts` could not decide — and the written
|
|
395
|
+
* type is carried onto each entry that has one. Neither consumer loses
|
|
396
|
+
* anything, and the two claims stay distinguishable by their keys.
|
|
397
|
+
*/
|
|
398
|
+
const written = new Map(fields.map((f) => [f.name, f.type]));
|
|
399
|
+
// `type` is the element type, `list` a boolean — the contract Lane E
|
|
400
|
+
// stated and every adapter follows. Kotlin infers, so an absent
|
|
401
|
+
// type means "not written," never "no type."
|
|
402
|
+
const asLanguageFields = fields.map((f) => ({ name: f.name, type: f.type ?? null, list: false }));
|
|
403
|
+
const mapped = node.attrs?.["fields"];
|
|
404
|
+
const merged = node.type === "MODEL" && Array.isArray(mapped)
|
|
405
|
+
? mapped.map((f) => ({
|
|
406
|
+
...f,
|
|
407
|
+
type: written.get(f.name) ?? null,
|
|
408
|
+
list: false,
|
|
409
|
+
}))
|
|
410
|
+
: asLanguageFields;
|
|
411
|
+
nodes[index] = { ...node, attrs: { ...node.attrs, fields: merged } };
|
|
231
412
|
}
|
|
232
413
|
}
|
|
233
414
|
// Pass 2 — edges.
|
|
@@ -420,11 +601,33 @@ export function extract(input) {
|
|
|
420
601
|
const from = funcsByKey.get(typeKey(unit.identityPackage, [...fn.owners, fn.name]));
|
|
421
602
|
if (from === undefined)
|
|
422
603
|
continue;
|
|
604
|
+
// `order.totalAmount` where a binding WROTE `order: Order` — golden 07.
|
|
605
|
+
// The same type resolver that serves CALLS answers this; a receiver whose
|
|
606
|
+
// type Kotlin inferred states nothing at the binding site and produces
|
|
607
|
+
// nothing here, which is a disclosed gap rather than a guess.
|
|
608
|
+
for (const read of jpaFieldReadsIn(fn, (written) => {
|
|
609
|
+
const target = resolveType(unit, written);
|
|
610
|
+
return target?.isModel === true ? target.id : undefined;
|
|
611
|
+
})) {
|
|
612
|
+
if (read.model === from.id)
|
|
613
|
+
continue;
|
|
614
|
+
push({ from: from.id, to: read.model, type: "READS", attrs: { fields: read.fields } }, 0.95,
|
|
615
|
+
// Both halves are written names resolved to a declaration — R2, the
|
|
616
|
+
// rung every other edge here rests on. The SHAPE lives on the MODEL
|
|
617
|
+
// node; the edge claims no more than it saw.
|
|
618
|
+
2);
|
|
619
|
+
}
|
|
423
620
|
for (const ref of fn.refs) {
|
|
424
621
|
if (ref.kind === "type") {
|
|
425
622
|
const target = resolveType(unit, ref.name);
|
|
426
|
-
if (target !== undefined)
|
|
623
|
+
if (target !== undefined) {
|
|
427
624
|
push({ from: from.id, to: target.id, type: "USES_TYPE" }, 0.85, 1);
|
|
625
|
+
continue;
|
|
626
|
+
}
|
|
627
|
+
// A type reference that left the repository. When an import the
|
|
628
|
+
// developer wrote settles which package and which symbol, it mints a
|
|
629
|
+
// `CLASS` standing for that type in the dependency.
|
|
630
|
+
externalEdge(from.id, unit, ref.name, [], "USES_TYPE");
|
|
428
631
|
continue;
|
|
429
632
|
}
|
|
430
633
|
if (!ref.hasReceiver) {
|
|
@@ -446,6 +649,21 @@ export function extract(input) {
|
|
|
446
649
|
push({ from: from.id, to: asType.id, type: "USES_TYPE" }, 0.85, 1);
|
|
447
650
|
continue;
|
|
448
651
|
}
|
|
652
|
+
// A bare name bound by an import: `import kotlin.test.assertEquals`
|
|
653
|
+
// then `assertEquals(a, b)`, or an imported extension function.
|
|
654
|
+
// The language guarantees the binding, so following it is
|
|
655
|
+
// resolution, not inference — Python's `from x import y`, which was
|
|
656
|
+
// the larger half there too.
|
|
657
|
+
//
|
|
658
|
+
// Kotlin has no `new`, so an imported CLASS called bare is a
|
|
659
|
+
// constructor call and is a class used as a VALUE (DEC-068). The
|
|
660
|
+
// in-repo branch above already reads it as `USES_TYPE`; the same
|
|
661
|
+
// distinction is unavailable here, because nothing read the
|
|
662
|
+
// dependency to know whether the name is a type or a function. The
|
|
663
|
+
// edge follows what was written — a call — and the node follows the
|
|
664
|
+
// edge.
|
|
665
|
+
if (externalEdge(from.id, unit, ref.name, [], "CALLS"))
|
|
666
|
+
continue;
|
|
449
667
|
refuse(from.id, "CALLS", ref.name, unit.file, ref.line, "No declaration for this name in the analysed set.");
|
|
450
668
|
continue;
|
|
451
669
|
}
|
|
@@ -465,6 +683,13 @@ export function extract(input) {
|
|
|
465
683
|
push({ from: from.id, to: staticMember.id, type: "CALLS" }, 0.9, 1);
|
|
466
684
|
continue;
|
|
467
685
|
}
|
|
686
|
+
// `Json.encodeToString(x)` under `import kotlinx.serialization.json.Json`
|
|
687
|
+
// — the receiver IS the imported symbol, so the import settles it
|
|
688
|
+
// without any type being written. A local of the same spelling would
|
|
689
|
+
// have won above, exactly as it does in the in-repo branch.
|
|
690
|
+
if (ref.receiver !== undefined && externalEdge(from.id, unit, ref.receiver, [ref.name], "CALLS")) {
|
|
691
|
+
continue;
|
|
692
|
+
}
|
|
468
693
|
refuse(from.id, "CALLS", ref.name, unit.file, ref.line, ref.receiver === undefined
|
|
469
694
|
? "The receiver is an expression, so it has no written type at this reference. " +
|
|
470
695
|
"Resolving it needs a type checker (R3)."
|
|
@@ -475,6 +700,16 @@ export function extract(input) {
|
|
|
475
700
|
const owner = resolveType(unit, ref.receiverType);
|
|
476
701
|
const target = owner === undefined ? undefined : memberOf(owner, ref.name);
|
|
477
702
|
if (target === undefined) {
|
|
703
|
+
// `val client: HttpClient` under `import io.ktor.client.HttpClient`,
|
|
704
|
+
// then `client.get(url)`. The type is written at the reference and
|
|
705
|
+
// the import says which package it lives in.
|
|
706
|
+
//
|
|
707
|
+
// Only when the owner did not resolve. An owner that IS ours and
|
|
708
|
+
// declares no such member is an analysis gap — an inherited member or
|
|
709
|
+
// an extension function — and calling it a dependency would be wrong.
|
|
710
|
+
if (owner === undefined && externalEdge(from.id, unit, ref.receiverType, [ref.name], "CALLS")) {
|
|
711
|
+
continue;
|
|
712
|
+
}
|
|
478
713
|
refuse(from.id, "CALLS", ref.name, unit.file, ref.line, owner === undefined
|
|
479
714
|
? `No declaration for receiver type "${ref.receiverType}" in the analysed set.`
|
|
480
715
|
: `"${ref.name}" is not declared on ${owner.path.join(".")} in the analysed set. It may ` +
|
|
@@ -491,9 +726,19 @@ export function extract(input) {
|
|
|
491
726
|
}
|
|
492
727
|
}
|
|
493
728
|
// TESTS — a test case covers what it calls.
|
|
729
|
+
//
|
|
730
|
+
// **Never into a dependency.** `TESTS` asserts coverage, and this run read
|
|
731
|
+
// nothing of an external symbol's body: a test that calls
|
|
732
|
+
// `kotlin.test.assertEquals` does not cover `assertEquals`. Python and PHP
|
|
733
|
+
// made the same call at the site that mints the edge; here the edge is
|
|
734
|
+
// mirrored by a later pass, so the exclusion has to live in the pass.
|
|
735
|
+
// `DEC-NEXT-external-edge-is-calls-not-tests`.
|
|
736
|
+
const externalNodeIds = new Set(nodes.filter((n) => n.external !== undefined).map((n) => n.id));
|
|
494
737
|
for (const edge of [...edges]) {
|
|
495
738
|
if (edge.type !== "CALLS")
|
|
496
739
|
continue;
|
|
740
|
+
if (externalNodeIds.has(edge.to))
|
|
741
|
+
continue;
|
|
497
742
|
const source = nodes.find((n) => n.id === edge.from);
|
|
498
743
|
if (source?.type !== "TEST_CASE")
|
|
499
744
|
continue;
|
|
@@ -618,13 +863,56 @@ export function extract(input) {
|
|
|
618
863
|
blockedBy: refusal.blockedBy,
|
|
619
864
|
refusalClass: refusal.refusalClass,
|
|
620
865
|
...(refusal.argumentKind === undefined ? {} : { argumentKind: refusal.argumentKind }),
|
|
866
|
+
...(refusal.clientBase === undefined ? {} : { clientBase: refusal.clientBase }),
|
|
867
|
+
...(refusal.callPath === undefined ? {} : { callPath: refusal.callPath }),
|
|
621
868
|
};
|
|
869
|
+
/**
|
|
870
|
+
* DEC-164: caller node id -> the base this reader traced for it. First
|
|
871
|
+
* writer wins, so a function making two calls is described by the first one
|
|
872
|
+
* read. Patched onto the node after the walk.
|
|
873
|
+
*/
|
|
874
|
+
const functionClientBase = new Map();
|
|
875
|
+
/**
|
|
876
|
+
* The innermost function containing `line`, resolved to its node id — the
|
|
877
|
+
* thing a reader would blame, and where DEC-164's `attrs.clientBase`
|
|
878
|
+
* belongs. Lifted out of the call loop because a REFUSAL needs it too: a
|
|
879
|
+
* refusal's own ledger row attributes to the MODULE (DEC-124), which is
|
|
880
|
+
* deliberate and unchanged, but 08b's `attrs.clientBase` has to land on the
|
|
881
|
+
* caller the golden binds.
|
|
882
|
+
*/
|
|
883
|
+
const callerAt = (unit, line, moduleId) => {
|
|
884
|
+
const enclosing = unit.funcs
|
|
885
|
+
.filter((fn) => fn.startLine <= line && line <= fn.endLine)
|
|
886
|
+
.sort((a, b) => b.startLine - a.startLine)[0];
|
|
887
|
+
if (enclosing === undefined || unit.identityPackage === undefined)
|
|
888
|
+
return moduleId;
|
|
889
|
+
return funcsByKey.get(typeKey(unit.identityPackage, [...enclosing.owners, enclosing.name]))?.id ?? moduleId;
|
|
890
|
+
};
|
|
622
891
|
for (const unit of input.files) {
|
|
623
892
|
const moduleId = moduleIdOf.get(unit.file);
|
|
624
893
|
if (moduleId === undefined)
|
|
625
894
|
continue;
|
|
626
895
|
for (const refusal of unit.clientRefusals) {
|
|
627
896
|
refuse(moduleId, "USES_API", refusal.rawTarget, unit.file, refusal.line, refusal.reason, clientAttrsOf(refusal));
|
|
897
|
+
// A refusal still states a base when DEC-164 reached one — 08b's whole
|
|
898
|
+
// point is that `unresolved` is a reading, not a silence.
|
|
899
|
+
if (refusal.clientBase !== undefined) {
|
|
900
|
+
const caller = callerAt(unit, refusal.line, moduleId);
|
|
901
|
+
if (!functionClientBase.has(caller))
|
|
902
|
+
functionClientBase.set(caller, refusal.clientBase);
|
|
903
|
+
}
|
|
904
|
+
}
|
|
905
|
+
// Collected ABOVE the R2 gate on purpose: the golden asserts
|
|
906
|
+
// `attrs.clientBase` at R2 and the field is a reading of the source, not
|
|
907
|
+
// of a rung. `adapter-python` shipped exactly this collection below its
|
|
908
|
+
// own resolution guard and it was green at R3 and absent at R2, caught
|
|
909
|
+
// only by the monotonic sweep.
|
|
910
|
+
for (const call of unit.clientCalls) {
|
|
911
|
+
if (call.clientBase === undefined)
|
|
912
|
+
continue;
|
|
913
|
+
const caller = callerAt(unit, call.line, moduleId);
|
|
914
|
+
if (!functionClientBase.has(caller))
|
|
915
|
+
functionClientBase.set(caller, call.clientBase);
|
|
628
916
|
}
|
|
629
917
|
if (input.reached < 2)
|
|
630
918
|
continue;
|
|
@@ -633,15 +921,10 @@ export function extract(input) {
|
|
|
633
921
|
// would blame). Outside any function (a file-scope property
|
|
634
922
|
// initialiser) attributes to the MODULE, the file-scoped carrier
|
|
635
923
|
// (DEC-124).
|
|
636
|
-
const enclosing = unit.funcs
|
|
637
|
-
.filter((fn) => fn.startLine <= call.line && call.line <= fn.endLine)
|
|
638
|
-
.sort((a, b) => b.startLine - a.startLine)[0];
|
|
639
924
|
// A file with no derivable identity package has no function ids to
|
|
640
925
|
// point at (DEC-173); the MODULE still does (DEC-124), so the edge
|
|
641
|
-
// degrades to the file rather than dropping.
|
|
642
|
-
const from =
|
|
643
|
-
? moduleId
|
|
644
|
-
: funcsByKey.get(typeKey(unit.identityPackage, [...enclosing.owners, enclosing.name]))?.id ?? moduleId;
|
|
926
|
+
// degrades to the file rather than dropping — `callerAt`'s own rule.
|
|
927
|
+
const from = callerAt(unit, call.line, moduleId);
|
|
645
928
|
const template = normaliseEndpointPath(call.path);
|
|
646
929
|
const endpointId = nodeId(scope, "API_ENDPOINT", endpointQsp(call.method, call.path), null);
|
|
647
930
|
if (!endpointNodes.has(endpointId)) {
|
|
@@ -701,6 +984,16 @@ export function extract(input) {
|
|
|
701
984
|
}
|
|
702
985
|
}
|
|
703
986
|
nodes.push(...routeNodes.values(), ...endpointNodes.values());
|
|
987
|
+
// DEC-164's client base, patched onto the caller. The field's ABSENCE is
|
|
988
|
+
// the fourth state: a function whose receiver's construction this reader
|
|
989
|
+
// never saw says nothing about a base, rather than saying `none`.
|
|
990
|
+
for (let i = 0; i < nodes.length; i += 1) {
|
|
991
|
+
const node = nodes[i];
|
|
992
|
+
const base = functionClientBase.get(node.id);
|
|
993
|
+
if (base === undefined)
|
|
994
|
+
continue;
|
|
995
|
+
nodes[i] = { ...node, attrs: { ...node.attrs, clientBase: base } };
|
|
996
|
+
}
|
|
704
997
|
return { nodes, edges, unresolved };
|
|
705
998
|
}
|
|
706
999
|
/**
|
package/dist/extract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../src/extract.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../src/extract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Property reads on a JPA model, per function — golden pattern 07's READS half.
|
|
3
|
+
*
|
|
4
|
+
* **Why this is a second file and not part of `jpa.ts`.** Two lanes built a
|
|
5
|
+
* Kotlin ORM reader in the same session. `lane-r3-gokotlin`'s is the one in
|
|
6
|
+
* `jpa.ts`: it resolves superclasses, gates shape completeness and carries the
|
|
7
|
+
* adapter's one R3 fact kind. `lane-orm-breadth`'s was an R2 reader and is
|
|
8
|
+
* superseded by it — except for this function, which the other never had, and
|
|
9
|
+
* without which `adapter-kotlin` loses golden 07. Kept verbatim, in its own
|
|
10
|
+
* module, because `jpa.ts` already exports a different `JpaField`.
|
|
11
|
+
*/
|
|
12
|
+
import type { KotlinFunc } from "./parse.ts";
|
|
13
|
+
export interface JpaFieldRead {
|
|
14
|
+
readonly model: string;
|
|
15
|
+
readonly fields: readonly string[];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Property reads in one function, per model.
|
|
19
|
+
*
|
|
20
|
+
* Only a receiver whose type a binding WROTE is considered. Kotlin infers
|
|
21
|
+
* aggressively and `val order = load(id)` states nothing at the binding site —
|
|
22
|
+
* resolving it would mean reading the callee's signature, which is a different
|
|
23
|
+
* and larger claim than this reader makes.
|
|
24
|
+
*/
|
|
25
|
+
export declare function fieldReadsIn(func: KotlinFunc, resolveModel: (writtenType: string) => string | undefined): readonly JpaFieldRead[];
|
|
26
|
+
//# sourceMappingURL=jpa-reads.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jpa-reads.d.ts","sourceRoot":"","sources":["../src/jpa-reads.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,UAAU,EAChB,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GACxD,SAAS,YAAY,EAAE,CAazB"}
|