@scriptc/compiler 0.0.32 → 0.0.34
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/backend/cc-cache.test.js +430 -1
- package/dist/backend/cc-cache.test.js.map +1 -1
- package/dist/backend/cc.d.ts +25 -0
- package/dist/backend/cc.js +818 -88
- package/dist/backend/cc.js.map +1 -1
- package/dist/backend/emission/emit-exprs.js +79 -3
- package/dist/backend/emission/emit-exprs.js.map +1 -1
- package/dist/backend/emission/emit-shapes.js +37 -4
- package/dist/backend/emission/emit-shapes.js.map +1 -1
- package/dist/backend/emission/emitter.d.ts +23 -7
- package/dist/backend/emission/emitter.js +171 -27
- package/dist/backend/emission/emitter.js.map +1 -1
- package/dist/backend/emission/may-throw.js +7 -4
- package/dist/backend/emission/may-throw.js.map +1 -1
- package/dist/backend/ffi-callbacks.d.ts +38 -1
- package/dist/backend/ffi-callbacks.js +76 -3
- package/dist/backend/ffi-callbacks.js.map +1 -1
- package/dist/backend/library-identity.d.ts +22 -0
- package/dist/backend/library-identity.js +103 -0
- package/dist/backend/library-identity.js.map +1 -0
- package/dist/backend/llvm/emitter.d.ts +3 -0
- package/dist/backend/llvm/emitter.js +278 -17
- package/dist/backend/llvm/emitter.js.map +1 -1
- package/dist/backend/llvm/shapes.d.ts +1 -0
- package/dist/backend/llvm/shapes.js +25 -1
- package/dist/backend/llvm/shapes.js.map +1 -1
- package/dist/backend/mangle.d.ts +1 -0
- package/dist/backend/mangle.js +3 -0
- package/dist/backend/mangle.js.map +1 -1
- package/dist/backend/object-localize.d.ts +5 -5
- package/dist/backend/object-localize.js +19 -16
- package/dist/backend/object-localize.js.map +1 -1
- package/dist/backend/object-localize.test.js +37 -13
- package/dist/backend/object-localize.test.js.map +1 -1
- package/dist/diagnostics/diagnostic.js +2 -0
- package/dist/diagnostics/diagnostic.js.map +1 -1
- package/dist/ffi/profile.d.ts +17 -5
- package/dist/ffi/profile.js +169 -22
- package/dist/ffi/profile.js.map +1 -1
- package/dist/frontend/input-tracker.d.ts +82 -0
- package/dist/frontend/input-tracker.js +380 -0
- package/dist/frontend/input-tracker.js.map +1 -0
- package/dist/frontend/input-tracker.test.d.ts +1 -0
- package/dist/frontend/input-tracker.test.js +137 -0
- package/dist/frontend/input-tracker.test.js.map +1 -0
- package/dist/frontend/lowering/lower-builtins.js +2 -8
- package/dist/frontend/lowering/lower-builtins.js.map +1 -1
- package/dist/frontend/lowering/lower-calls.d.ts +1 -0
- package/dist/frontend/lowering/lower-calls.js +244 -163
- package/dist/frontend/lowering/lower-calls.js.map +1 -1
- package/dist/frontend/lowering/lower-classes.js +3 -0
- package/dist/frontend/lowering/lower-classes.js.map +1 -1
- package/dist/frontend/lowering/lower-containers.js +113 -28
- package/dist/frontend/lowering/lower-containers.js.map +1 -1
- package/dist/frontend/lowering/lower-exprs.js +67 -1
- package/dist/frontend/lowering/lower-exprs.js.map +1 -1
- package/dist/frontend/lowering/lower-inspect.js +45 -26
- package/dist/frontend/lowering/lower-inspect.js.map +1 -1
- package/dist/frontend/lowering/lower-modules.js +1 -1
- package/dist/frontend/lowering/lower-modules.js.map +1 -1
- package/dist/frontend/lowering/lower-stmts.js +48 -3
- package/dist/frontend/lowering/lower-stmts.js.map +1 -1
- package/dist/frontend/lowering/lowerer.d.ts +79 -29
- package/dist/frontend/lowering/lowerer.js +429 -87
- package/dist/frontend/lowering/lowerer.js.map +1 -1
- package/dist/frontend/npm-static-rewrite.js +25 -26
- package/dist/frontend/npm-static-rewrite.js.map +1 -1
- package/dist/frontend/npm-static.js +29 -30
- package/dist/frontend/npm-static.js.map +1 -1
- package/dist/frontend/npm-static.test.d.ts +1 -0
- package/dist/frontend/npm-static.test.js +15 -0
- package/dist/frontend/npm-static.test.js.map +1 -0
- package/dist/frontend/npm.js +5 -17
- package/dist/frontend/npm.js.map +1 -1
- package/dist/frontend/program.js +2 -6
- package/dist/frontend/program.js.map +1 -1
- package/dist/frontend/resolve.js +8 -29
- package/dist/frontend/resolve.js.map +1 -1
- package/dist/frontend/ts7/checker.d.ts +2 -0
- package/dist/frontend/ts7/checker.js +20 -3
- package/dist/frontend/ts7/checker.js.map +1 -1
- package/dist/frontend/ts7/program.js +17 -18
- package/dist/frontend/ts7/program.js.map +1 -1
- package/dist/frontend/types.d.ts +41 -0
- package/dist/frontend/types.js +147 -8
- package/dist/frontend/types.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +275 -41
- package/dist/index.js.map +1 -1
- package/dist/ir/nodes.d.ts +42 -12
- package/dist/ir/nodes.js +7 -1
- package/dist/ir/nodes.js.map +1 -1
- package/dist/ir/serialize.d.ts +1 -1
- package/dist/ir/serialize.js +1 -1
- package/dist/ir/validate.js +104 -1
- package/dist/ir/validate.js.map +1 -1
- package/dist/library/early-cache.d.ts +65 -0
- package/dist/library/early-cache.js +380 -0
- package/dist/library/early-cache.js.map +1 -0
- package/dist/library/early-cache.test.d.ts +1 -0
- package/dist/library/early-cache.test.js +528 -0
- package/dist/library/early-cache.test.js.map +1 -0
- package/dist/library/int-infer.js +14 -0
- package/dist/library/int-infer.js.map +1 -1
- package/dist/library/int-infer.test.js +21 -4
- package/dist/library/int-infer.test.js.map +1 -1
- package/dist/library/profile.d.ts +3 -0
- package/dist/library/profile.js +9 -1
- package/dist/library/profile.js.map +1 -1
- package/dist/library/semantic-source.d.ts +13 -0
- package/dist/library/semantic-source.js +257 -0
- package/dist/library/semantic-source.js.map +1 -0
- package/dist/library/semantic-source.test.d.ts +1 -0
- package/dist/library/semantic-source.test.js +113 -0
- package/dist/library/semantic-source.test.js.map +1 -0
- package/dist/library/sidecar.d.ts +6 -0
- package/dist/library/sidecar.js +11 -0
- package/dist/library/sidecar.js.map +1 -1
- package/package.json +2 -2
- package/surface-manifest.json +1 -1
package/dist/ffi/profile.js
CHANGED
|
@@ -32,9 +32,34 @@
|
|
|
32
32
|
* ]
|
|
33
33
|
*
|
|
34
34
|
* Context entries are compiler-supplied and consume no TypeScript
|
|
35
|
-
* parameter. `lifetime: "call"`
|
|
36
|
-
*
|
|
37
|
-
*
|
|
35
|
+
* parameter. `lifetime: "call"` lets native code invoke the callback only
|
|
36
|
+
* during the outer call. Format 4 adds `lifetime: "retained"` plus release
|
|
37
|
+
* descriptors that reuse a registration's callback ABI and trampoline.
|
|
38
|
+
*
|
|
39
|
+
* Format 3 preserves format 2 and adds copy-in callback parameters:
|
|
40
|
+
* `cstring` is one NUL-terminated pointer, while `string` and `bytes` are
|
|
41
|
+
* pointer+length spans. The copies have ordinary scriptc ownership and no
|
|
42
|
+
* lifetime relationship to the native storage.
|
|
43
|
+
*
|
|
44
|
+
* Format 4 preserves format 3 and adds retained callback registration:
|
|
45
|
+
*
|
|
46
|
+
* { "callback": { "id": "tick", "params": [{ "context": "tick" }],
|
|
47
|
+
* "returns": "void", "lifetime": "retained" } }
|
|
48
|
+
*
|
|
49
|
+
* A paired release parameter names that descriptor. Its resolved profile
|
|
50
|
+
* node carries the inherited ABI, but those fields are never accepted from
|
|
51
|
+
* JSON:
|
|
52
|
+
*
|
|
53
|
+
* { "callback": { "release": "timerAdd:tick" } }
|
|
54
|
+
* { "context": "timerAdd:tick" }
|
|
55
|
+
*
|
|
56
|
+
* Format 5 adds retained foreign-thread callbacks. Their native trampoline
|
|
57
|
+
* only stages plain data and posts it to the process event loop; script code
|
|
58
|
+
* always runs asynchronously on the script thread:
|
|
59
|
+
*
|
|
60
|
+
* { "callback": { "id": "tick", "params": [{ "context": "tick" }],
|
|
61
|
+
* "returns": "void", "lifetime": "retained",
|
|
62
|
+
* "invoke": "foreign" } } */
|
|
38
63
|
import { readFileSync, statSync } from "node:fs";
|
|
39
64
|
import { dirname, resolve } from "node:path";
|
|
40
65
|
import { ffiProfileDiag } from "../diagnostics/diagnostic.js";
|
|
@@ -48,7 +73,17 @@ export const FFI_PARAM_CLASSES = [
|
|
|
48
73
|
"bytes",
|
|
49
74
|
];
|
|
50
75
|
export const FFI_RETURN_CLASSES = ["f64", "bool", "u8", "u32", "i32", "void"];
|
|
51
|
-
export const FFI_CALLBACK_PARAM_CLASSES = [
|
|
76
|
+
export const FFI_CALLBACK_PARAM_CLASSES = [
|
|
77
|
+
"f64",
|
|
78
|
+
"bool",
|
|
79
|
+
"u8",
|
|
80
|
+
"u32",
|
|
81
|
+
"i32",
|
|
82
|
+
"cstring",
|
|
83
|
+
"string",
|
|
84
|
+
"bytes",
|
|
85
|
+
];
|
|
86
|
+
const FFI_FORMAT_2_CALLBACK_PARAM_CLASSES = ["f64", "bool", "u8", "u32", "i32"];
|
|
52
87
|
class FfiProfileError extends Error {
|
|
53
88
|
detail;
|
|
54
89
|
constructor(detail) {
|
|
@@ -92,7 +127,7 @@ function contextParam(value, path) {
|
|
|
92
127
|
rejectUnknownKeys(rec, path, ["context"]);
|
|
93
128
|
return { context: stringField(rec["context"], `${path}.context`) };
|
|
94
129
|
}
|
|
95
|
-
function callbackParam(value, path) {
|
|
130
|
+
function callbackParam(value, path, format) {
|
|
96
131
|
if (value === null || typeof value !== "object" || Array.isArray(value))
|
|
97
132
|
return null;
|
|
98
133
|
const rec = value;
|
|
@@ -104,7 +139,16 @@ function callbackParam(value, path) {
|
|
|
104
139
|
throw new FfiProfileError(`'${path}.callback' must be an object`);
|
|
105
140
|
}
|
|
106
141
|
const callback = raw;
|
|
107
|
-
|
|
142
|
+
if ("release" in callback) {
|
|
143
|
+
if (format < 4) {
|
|
144
|
+
throw new FfiProfileError(`'${path}.callback.release' requires ffi_format 4`);
|
|
145
|
+
}
|
|
146
|
+
rejectUnknownKeys(callback, `${path}.callback`, ["release"]);
|
|
147
|
+
return {
|
|
148
|
+
callback: { release: stringField(callback["release"], `${path}.callback.release`) },
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
rejectUnknownKeys(callback, `${path}.callback`, ["id", "params", "returns", "lifetime", "invoke"]);
|
|
108
152
|
const id = stringField(callback["id"], `${path}.callback.id`);
|
|
109
153
|
if (!TS_IDENT.test(id)) {
|
|
110
154
|
throw new FfiProfileError(`'${path}.callback.id' is not a plain identifier: '${id}'`);
|
|
@@ -114,28 +158,56 @@ function callbackParam(value, path) {
|
|
|
114
158
|
}
|
|
115
159
|
const params = callback["params"].map((entry, i) => {
|
|
116
160
|
const entryPath = `${path}.callback.params[${i}]`;
|
|
161
|
+
const allowed = format >= 3
|
|
162
|
+
? FFI_CALLBACK_PARAM_CLASSES
|
|
163
|
+
: FFI_FORMAT_2_CALLBACK_PARAM_CLASSES;
|
|
117
164
|
if (typeof entry === "string" &&
|
|
118
|
-
|
|
165
|
+
allowed.includes(entry)) {
|
|
119
166
|
return entry;
|
|
120
167
|
}
|
|
168
|
+
if (typeof entry === "string" &&
|
|
169
|
+
FFI_CALLBACK_PARAM_CLASSES.includes(entry)) {
|
|
170
|
+
throw new FfiProfileError(`'${entryPath}' class '${entry}' requires ffi_format 3`);
|
|
171
|
+
}
|
|
121
172
|
const context = contextParam(entry, entryPath);
|
|
122
173
|
if (context !== null)
|
|
123
174
|
return context;
|
|
124
|
-
throw new FfiProfileError(`'${entryPath}' must be one of ${
|
|
175
|
+
throw new FfiProfileError(`'${entryPath}' must be one of ${allowed.join("/")} or a context entry`);
|
|
125
176
|
});
|
|
126
177
|
const returns = stringField(callback["returns"], `${path}.callback.returns`);
|
|
127
178
|
if (!FFI_RETURN_CLASSES.includes(returns)) {
|
|
128
179
|
throw new FfiProfileError(`'${path}.callback.returns' must be one of ${FFI_RETURN_CLASSES.join("/")}, got '${returns}'`);
|
|
129
180
|
}
|
|
130
|
-
|
|
131
|
-
|
|
181
|
+
const lifetime = callback["lifetime"];
|
|
182
|
+
if (lifetime !== "call" && lifetime !== "retained") {
|
|
183
|
+
throw new FfiProfileError(`'${path}.callback.lifetime' must be 'call' or 'retained'`);
|
|
184
|
+
}
|
|
185
|
+
if (lifetime === "retained" && format < 4) {
|
|
186
|
+
throw new FfiProfileError(`'${path}.callback.lifetime' value 'retained' requires ffi_format 4`);
|
|
187
|
+
}
|
|
188
|
+
const invoke = callback["invoke"] ?? "script-thread";
|
|
189
|
+
if (invoke !== "script-thread" && invoke !== "foreign") {
|
|
190
|
+
throw new FfiProfileError(`'${path}.callback.invoke' must be 'script-thread' or 'foreign'`);
|
|
191
|
+
}
|
|
192
|
+
if (invoke === "foreign" && format < 5) {
|
|
193
|
+
throw new FfiProfileError(`'${path}.callback.invoke' value 'foreign' requires ffi_format 5`);
|
|
194
|
+
}
|
|
195
|
+
if (invoke === "foreign" && lifetime !== "retained") {
|
|
196
|
+
throw new FfiProfileError(`'${path}.callback.invoke' value 'foreign' requires lifetime 'retained'`);
|
|
197
|
+
}
|
|
198
|
+
if (invoke === "foreign" && returns !== "void") {
|
|
199
|
+
throw new FfiProfileError(`'${path}.callback.invoke' value 'foreign' requires returns 'void'`);
|
|
200
|
+
}
|
|
201
|
+
if (invoke === "foreign" && !params.some((param) => typeof param === "object")) {
|
|
202
|
+
throw new FfiProfileError(`'${path}.callback.invoke' value 'foreign' requires a context entry`);
|
|
132
203
|
}
|
|
133
204
|
return {
|
|
134
205
|
callback: {
|
|
135
206
|
id,
|
|
136
207
|
params,
|
|
137
208
|
returns: returns,
|
|
138
|
-
lifetime
|
|
209
|
+
lifetime,
|
|
210
|
+
invoke,
|
|
139
211
|
},
|
|
140
212
|
};
|
|
141
213
|
}
|
|
@@ -165,10 +237,10 @@ export function loadFfiProfile(profilePath) {
|
|
|
165
237
|
}
|
|
166
238
|
const root = raw;
|
|
167
239
|
const format = root["ffi_format"];
|
|
168
|
-
if (format !== 1 && format !== 2) {
|
|
240
|
+
if (format !== 1 && format !== 2 && format !== 3 && format !== 4 && format !== 5) {
|
|
169
241
|
throw new FfiProfileError(typeof format === "number"
|
|
170
|
-
? `unsupported ffi_format ${format} (this scriptc reads formats 1 and
|
|
171
|
-
: "'ffi_format' must be the number 1 or
|
|
242
|
+
? `unsupported ffi_format ${format} (this scriptc reads formats 1, 2, 3, 4, and 5)`
|
|
243
|
+
: "'ffi_format' must be the number 1, 2, 3, 4, or 5");
|
|
172
244
|
}
|
|
173
245
|
rejectUnknownKeys(root, "", [
|
|
174
246
|
"ffi_format",
|
|
@@ -212,8 +284,8 @@ export function loadFfiProfile(profilePath) {
|
|
|
212
284
|
const paramPath = `${path}.params[${j}]`;
|
|
213
285
|
if (typeof value !== "string" ||
|
|
214
286
|
!FFI_PARAM_CLASSES.includes(value)) {
|
|
215
|
-
if (format
|
|
216
|
-
const callback = callbackParam(value, paramPath);
|
|
287
|
+
if (format >= 2) {
|
|
288
|
+
const callback = callbackParam(value, paramPath, format);
|
|
217
289
|
if (callback !== null)
|
|
218
290
|
return callback;
|
|
219
291
|
const context = contextParam(value, paramPath);
|
|
@@ -226,23 +298,32 @@ export function loadFfiProfile(profilePath) {
|
|
|
226
298
|
}
|
|
227
299
|
return value;
|
|
228
300
|
});
|
|
229
|
-
if (format
|
|
301
|
+
if (format >= 2) {
|
|
230
302
|
const callbacks = new Map();
|
|
303
|
+
const releases = new Set();
|
|
231
304
|
const outerContexts = new Map();
|
|
232
305
|
for (const param of params) {
|
|
233
306
|
if (typeof param === "object" && "callback" in param) {
|
|
234
307
|
const cb = param.callback;
|
|
235
|
-
if (
|
|
236
|
-
|
|
308
|
+
if ("release" in cb) {
|
|
309
|
+
if (releases.has(cb.release)) {
|
|
310
|
+
throw new FfiProfileError(`callback release '${cb.release}' is declared twice in '${path}.params'`);
|
|
311
|
+
}
|
|
312
|
+
releases.add(cb.release);
|
|
313
|
+
}
|
|
314
|
+
else {
|
|
315
|
+
if (callbacks.has(cb.id)) {
|
|
316
|
+
throw new FfiProfileError(`callback id '${cb.id}' is declared twice in '${path}.params'`);
|
|
317
|
+
}
|
|
318
|
+
callbacks.set(cb.id, cb);
|
|
237
319
|
}
|
|
238
|
-
callbacks.set(cb.id, cb);
|
|
239
320
|
}
|
|
240
321
|
else if (typeof param === "object") {
|
|
241
322
|
outerContexts.set(param.context, (outerContexts.get(param.context) ?? 0) + 1);
|
|
242
323
|
}
|
|
243
324
|
}
|
|
244
325
|
for (const [id, count] of outerContexts) {
|
|
245
|
-
if (!callbacks.has(id)) {
|
|
326
|
+
if (!callbacks.has(id) && !releases.has(id)) {
|
|
246
327
|
throw new FfiProfileError(`context '${id}' in '${path}.params' has no matching callback`);
|
|
247
328
|
}
|
|
248
329
|
if (count !== 1) {
|
|
@@ -271,6 +352,72 @@ export function loadFfiProfile(profilePath) {
|
|
|
271
352
|
}
|
|
272
353
|
return { name, symbol, params, returns: returns };
|
|
273
354
|
});
|
|
355
|
+
if (format >= 4) {
|
|
356
|
+
const retained = new Map();
|
|
357
|
+
for (const fn of functions) {
|
|
358
|
+
for (const param of fn.params) {
|
|
359
|
+
if (typeof param === "object" &&
|
|
360
|
+
"callback" in param &&
|
|
361
|
+
!("release" in param.callback) &&
|
|
362
|
+
param.callback.lifetime === "retained") {
|
|
363
|
+
retained.set(`${fn.name}:${param.callback.id}`, param.callback);
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
for (const [i, fn] of functions.entries()) {
|
|
368
|
+
for (const [j, param] of fn.params.entries()) {
|
|
369
|
+
if (typeof param !== "object" ||
|
|
370
|
+
!("callback" in param) ||
|
|
371
|
+
!("release" in param.callback))
|
|
372
|
+
continue;
|
|
373
|
+
const target = param.callback.release;
|
|
374
|
+
const descriptor = retained.get(target);
|
|
375
|
+
if (descriptor === undefined) {
|
|
376
|
+
const [binding, id, ...extra] = target.split(":");
|
|
377
|
+
const candidate = extra.length === 0 && binding !== undefined && id !== undefined
|
|
378
|
+
? functions.find((entry) => entry.name === binding)?.params.find((entry) => typeof entry === "object" &&
|
|
379
|
+
"callback" in entry &&
|
|
380
|
+
!("release" in entry.callback) &&
|
|
381
|
+
entry.callback.id === id)
|
|
382
|
+
: undefined;
|
|
383
|
+
if (candidate !== undefined &&
|
|
384
|
+
typeof candidate === "object" &&
|
|
385
|
+
"callback" in candidate &&
|
|
386
|
+
!("release" in candidate.callback)) {
|
|
387
|
+
throw new FfiProfileError(`release '${target}' in 'functions[${i}].params[${j}]' targets a non-retained callback`);
|
|
388
|
+
}
|
|
389
|
+
throw new FfiProfileError(`release '${target}' in 'functions[${i}].params[${j}]' has no matching retained callback`);
|
|
390
|
+
}
|
|
391
|
+
/* The emitted lifecycle is pin -> require -> native call -> commit ->
|
|
392
|
+
* release. A call that registers its own release target either
|
|
393
|
+
* retires the released pin during the commit sweep or satisfies the
|
|
394
|
+
* pre-call require with the pin it just created, so the
|
|
395
|
+
* release-validation trap cannot hold. */
|
|
396
|
+
const registeredBySameCall = fn.params.some((entry) => typeof entry === "object" &&
|
|
397
|
+
"callback" in entry &&
|
|
398
|
+
!("release" in entry.callback) &&
|
|
399
|
+
`${fn.name}:${entry.callback.id}` === target);
|
|
400
|
+
if (registeredBySameCall) {
|
|
401
|
+
throw new FfiProfileError(`release '${target}' in 'functions[${i}].params[${j}]' targets a retained callback registered by the same call; registration and release must be separate bindings`);
|
|
402
|
+
}
|
|
403
|
+
const inheritedContext = descriptor.params.some((entry) => typeof entry === "object");
|
|
404
|
+
const contextCount = fn.params.filter((entry) => typeof entry === "object" && "context" in entry && entry.context === target).length;
|
|
405
|
+
if (inheritedContext !== (contextCount === 1)) {
|
|
406
|
+
throw new FfiProfileError(inheritedContext
|
|
407
|
+
? `release '${target}' must declare its context exactly once in the native function parameter list because the retained callback has a context`
|
|
408
|
+
: `release '${target}' must not declare a context in the native function parameter list because the retained callback has none`);
|
|
409
|
+
}
|
|
410
|
+
fn.params[j] = {
|
|
411
|
+
callback: {
|
|
412
|
+
release: target,
|
|
413
|
+
params: descriptor.params,
|
|
414
|
+
returns: descriptor.returns,
|
|
415
|
+
},
|
|
416
|
+
};
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
const resolvedFunctions = functions;
|
|
274
421
|
const libraries = stringArray(root["libraries"], "libraries").map((path) => resolve(dirname(profilePath), path));
|
|
275
422
|
const systemLibraries = stringArray(root["system_libraries"], "system_libraries");
|
|
276
423
|
for (const [i, name] of systemLibraries.entries()) {
|
|
@@ -300,7 +447,7 @@ export function loadFfiProfile(profilePath) {
|
|
|
300
447
|
ok: true,
|
|
301
448
|
profile: {
|
|
302
449
|
ffiFormat: format,
|
|
303
|
-
functions,
|
|
450
|
+
functions: resolvedFunctions,
|
|
304
451
|
libraries,
|
|
305
452
|
systemLibraries,
|
|
306
453
|
},
|
package/dist/ffi/profile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/ffi/profile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sEAoCsE;AACtE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAsB,MAAM,8BAA8B,CAAC;AAElF,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,KAAK;IACL,MAAM;IACN,IAAI;IACJ,KAAK;IACL,KAAK;IACL,QAAQ;IACR,OAAO;CACC,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAU,CAAC;AACvF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAU,CAAC;AA2CvF,MAAM,eAAgB,SAAQ,KAAK;IACZ;IAArB,YAAqB,MAAc;QACjC,KAAK,CAAC,MAAM,CAAC,CAAC;QADK,WAAM,GAAN,MAAM,CAAQ;IAEnC,CAAC;CACF;AAED,MAAM,OAAO,GAAG,0BAA0B,CAAC;AAC3C,MAAM,QAAQ,GAAG,4BAA4B,CAAC;AAC9C,MAAM,cAAc,GAAG,oBAAoB,CAAC;AAE5C,SAAS,iBAAiB,CAAC,GAAW,EAAE,IAAY,EAAE,KAAwB;IAC5E,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC;YACnD,MAAM,IAAI,eAAe,CACvB,kBAAkB,KAAK,IAAI;gBACzB,sEAAsE,CACzE,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,IAAY;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,eAAe,CAAC,IAAI,IAAI,oBAAoB,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,KAAK,KAAK,EAAE;QAAE,MAAM,IAAI,eAAe,CAAC,IAAI,IAAI,qBAAqB,CAAC,CAAC;IAC3E,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,IAAY;IAC/C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,eAAe,CAAC,IAAI,IAAI,oBAAoB,CAAC,CAAC;IACnF,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,YAAY,CAAC,KAAc,EAAE,IAAY;IAChD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrF,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,IAAI,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,iBAAiB,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1C,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC;AACrE,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,IAAY;IACjD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrF,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,IAAI,CAAC,CAAC,UAAU,IAAI,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,iBAAiB,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;IAC5B,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,eAAe,CAAC,IAAI,IAAI,8BAA8B,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,QAAQ,GAAG,GAA8B,CAAC;IAChD,iBAAiB,CAAC,QAAQ,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IACzF,MAAM,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,cAAc,CAAC,CAAC;IAC9D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,eAAe,CAAC,IAAI,IAAI,6CAA6C,EAAE,GAAG,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,eAAe,CAAC,IAAI,IAAI,oCAAoC,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAA2C,EAAE;QAC1F,MAAM,SAAS,GAAG,GAAG,IAAI,oBAAoB,CAAC,GAAG,CAAC;QAClD,IACE,OAAO,KAAK,KAAK,QAAQ;YACxB,0BAAgD,CAAC,QAAQ,CAAC,KAAK,CAAC,EACjE,CAAC;YACD,OAAO,KAA8B,CAAC;QACxC,CAAC;QACD,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,OAAO,CAAC;QACrC,MAAM,IAAI,eAAe,CACvB,IAAI,SAAS,oBAAoB,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAC3F,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,mBAAmB,CAAC,CAAC;IAC7E,IAAI,CAAE,kBAAwC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,eAAe,CACvB,IAAI,IAAI,qCAAqC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,OAAO,GAAG,CAC9F,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,MAAM,EAAE,CAAC;QACpC,MAAM,IAAI,eAAe,CAAC,IAAI,IAAI,oCAAoC,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO;QACL,QAAQ,EAAE;YACR,EAAE;YACF,MAAM;YACN,OAAO,EAAE,OAAyB;YAClC,QAAQ,EAAE,MAAM;SACjB;KACF,CAAC;AACJ,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,cAAc,CAC5B,WAAmB;IAEnB,MAAM,IAAI,GAAG,CAAC,MAAc,EAA+C,EAAE,CAAC,CAAC;QAC7E,EAAE,EAAE,KAAK;QACT,WAAW,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;KACnD,CAAC,CAAC;IACH,IAAI,KAAiB,CAAC;IACtB,IAAI,CAAC;QACH,KAAK,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,IAAI,CAAC,yBAA0B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,IAAI,CAAC,+BAAgC,GAAa,CAAC,OAAO,GAAG,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,CAAC;QACH,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,eAAe,CAAC,gCAAgC,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,IAAI,GAAG,GAA8B,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;QAClC,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,eAAe,CACvB,OAAO,MAAM,KAAK,QAAQ;gBACxB,CAAC,CAAC,0BAA0B,MAAM,uCAAuC;gBACzE,CAAC,CAAC,wCAAwC,CAC7C,CAAC;QACJ,CAAC;QACD,iBAAiB,CAAC,IAAI,EAAE,EAAE,EAAE;YAC1B,YAAY;YACZ,WAAW;YACX,WAAW;YACX,kBAAkB;SACnB,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,eAAe,CAAC,8BAA8B,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAe,EAAE;YAC3D,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC;YAC/B,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxE,MAAM,IAAI,eAAe,CAAC,IAAI,IAAI,qBAAqB,CAAC,CAAC;YAC3D,CAAC;YACD,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;YACxE,MAAM,GAAG,GAAG,KAAgC,CAAC;YAC7C,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;YACtD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,eAAe,CAAC,IAAI,IAAI,iDAAiD,IAAI,GAAG,CAAC,CAAC;YAC9F,CAAC;YACD,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,eAAe,CAAC,qBAAqB,IAAI,qBAAqB,CAAC,CAAC;YAC5E,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEhB,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,IAAI,SAAS,CAAC,CAAC;YAC5D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,eAAe,CAAC,IAAI,IAAI,oCAAoC,MAAM,GAAG,CAAC,CAAC;YACnF,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,eAAe,CAAC,kBAAkB,MAAM,qBAAqB,CAAC,CAAC;YAC3E,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAEpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,eAAe,CAAC,IAAI,IAAI,2BAA2B,CAAC,CAAC;YACjE,CAAC;YACD,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAiB,EAAE;gBAC3D,MAAM,SAAS,GAAG,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC;gBACzC,IACE,OAAO,KAAK,KAAK,QAAQ;oBACzB,CAAE,iBAAuC,CAAC,QAAQ,CAAC,KAAK,CAAC,EACzD,CAAC;oBACD,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;wBACjB,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;wBACjD,IAAI,QAAQ,KAAK,IAAI;4BAAE,OAAO,QAAQ,CAAC;wBACvC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;wBAC/C,IAAI,OAAO,KAAK,IAAI;4BAAE,OAAO,OAAO,CAAC;oBACvC,CAAC;oBACD,MAAM,IAAI,eAAe,CACvB,MAAM,KAAK,CAAC;wBACV,CAAC,CAAC,IAAI,SAAS,oBAAoB,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;wBAC9F,CAAC,CAAC,IAAI,SAAS,oBAAoB,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,kCAAkC,CACnG,CAAC;gBACJ,CAAC;gBACD,OAAO,KAA2B,CAAC;YACrC,CAAC,CAAC,CAAC;YACH,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAwC,CAAC;gBAClE,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;gBAChD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;wBACrD,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC;wBAC1B,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;4BACzB,MAAM,IAAI,eAAe,CAAC,gBAAgB,EAAE,CAAC,EAAE,2BAA2B,IAAI,UAAU,CAAC,CAAC;wBAC5F,CAAC;wBACD,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC3B,CAAC;yBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;wBACrC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAChF,CAAC;gBACH,CAAC;gBACD,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,aAAa,EAAE,CAAC;oBACxC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;wBACvB,MAAM,IAAI,eAAe,CAAC,YAAY,EAAE,SAAS,IAAI,mCAAmC,CAAC,CAAC;oBAC5F,CAAC;oBACD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;wBAChB,MAAM,IAAI,eAAe,CAAC,YAAY,EAAE,aAAa,KAAK,cAAc,IAAI,mCAAmC,CAAC,CAAC;oBACnH,CAAC;gBACH,CAAC;gBACD,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;oBACjC,MAAM,gBAAgB,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CACvC,CAAC,KAAK,EAA4B,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAC/D,CAAC;oBACF,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;wBACvC,IAAI,OAAO,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;4BAC3B,MAAM,IAAI,eAAe,CACvB,aAAa,EAAE,uBAAuB,OAAO,CAAC,OAAO,kDAAkD,CACxG,CAAC;wBACJ,CAAC;oBACH,CAAC;oBACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAChC,MAAM,IAAI,eAAe,CACvB,aAAa,EAAE,cAAc,gBAAgB,CAAC,MAAM,+CAA+C,CACpG,CAAC;oBACJ,CAAC;oBACD,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;oBAC9C,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;wBAC3D,MAAM,IAAI,eAAe,CACvB,aAAa,EAAE,iHAAiH,CACjI,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,UAAU,CAAC,CAAC;YAC/D,IAAI,CAAE,kBAAwC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjE,MAAM,IAAI,eAAe,CACvB,IAAI,IAAI,4BAA4B,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,OAAO,GAAG,CACrF,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAyB,EAAE,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACzE,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CACpC,CAAC;QACF,MAAM,eAAe,GAAG,WAAW,CACjC,IAAI,CAAC,kBAAkB,CAAC,EACxB,kBAAkB,CACnB,CAAC;QACF,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;YAClD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvD,MAAM,IAAI,eAAe,CACvB,qBAAqB,CAAC,8BAA8B,IAAI,GAAG,CAC5D,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,IAAI,eAAe,CAAC,uCAAuC,CAAC,CAAC;QACrE,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;oBAC7B,MAAM,IAAI,eAAe,CACvB,cAAc,CAAC,6BAA6B,IAAI,GAAG,CACpD,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,eAAe;oBAAE,MAAM,GAAG,CAAC;gBAC9C,MAAM,IAAI,eAAe,CACvB,cAAc,CAAC,yBAAyB,IAAI,MAAO,GAAa,CAAC,OAAO,EAAE,CAC3E,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;YAC7D,MAAM,IAAI,eAAe,CAAC,8CAA8C,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO;YACL,EAAE,EAAE,IAAI;YACR,OAAO,EAAE;gBACP,SAAS,EAAE,MAAM;gBACjB,SAAS;gBACT,SAAS;gBACT,eAAe;aAChB;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,eAAe;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/ffi/profile.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Filesystem observations made while constructing and lowering one frontend
|
|
3
|
+
* program. The early library cache replays these probes before trusting a
|
|
4
|
+
* generated translation unit: successful reads are content-addressed, while
|
|
5
|
+
* failed candidate probes are retained so a newly-created module cannot hide
|
|
6
|
+
* behind an old resolution answer.
|
|
7
|
+
*/
|
|
8
|
+
export type FrontendInputProbe = {
|
|
9
|
+
op: "file";
|
|
10
|
+
path: string;
|
|
11
|
+
digest: string;
|
|
12
|
+
} | {
|
|
13
|
+
op: "read-error";
|
|
14
|
+
path: string;
|
|
15
|
+
} | {
|
|
16
|
+
op: "kind";
|
|
17
|
+
path: string;
|
|
18
|
+
kind: "file" | "directory" | "other" | "missing";
|
|
19
|
+
} | {
|
|
20
|
+
op: "entries";
|
|
21
|
+
path: string;
|
|
22
|
+
files: string[];
|
|
23
|
+
directories: string[];
|
|
24
|
+
} | {
|
|
25
|
+
op: "entries-error";
|
|
26
|
+
path: string;
|
|
27
|
+
} | {
|
|
28
|
+
op: "realpath";
|
|
29
|
+
path: string;
|
|
30
|
+
target: string | null;
|
|
31
|
+
};
|
|
32
|
+
export interface FrontendInputSnapshot {
|
|
33
|
+
version: 1;
|
|
34
|
+
probes: FrontendInputProbe[];
|
|
35
|
+
stable: boolean;
|
|
36
|
+
}
|
|
37
|
+
export interface FrontendSemanticChange {
|
|
38
|
+
path: string;
|
|
39
|
+
previous: string;
|
|
40
|
+
current: string;
|
|
41
|
+
}
|
|
42
|
+
export interface FrontendSemanticMatch {
|
|
43
|
+
changed: FrontendSemanticChange[];
|
|
44
|
+
currentSources: Map<string, string>;
|
|
45
|
+
snapshot: FrontendInputSnapshot;
|
|
46
|
+
}
|
|
47
|
+
/** Compiler-owned paths whose creation/removal must not invalidate the
|
|
48
|
+
* frontend that produced them. Directory CONTENT remains tracked: only the
|
|
49
|
+
* named artifacts and a generated directory's formerly-missing observation
|
|
50
|
+
* are excluded. */
|
|
51
|
+
export interface FrontendInputExclusions {
|
|
52
|
+
outputPaths?: Iterable<string>;
|
|
53
|
+
outputDirectories?: Iterable<string>;
|
|
54
|
+
}
|
|
55
|
+
export declare function frontendSourceDigest(text: string): string;
|
|
56
|
+
export declare class FrontendInputTracker {
|
|
57
|
+
private readonly probes;
|
|
58
|
+
private stable;
|
|
59
|
+
run<T>(fn: () => T): T;
|
|
60
|
+
record(probe: FrontendInputProbe): void;
|
|
61
|
+
snapshot(): FrontendInputSnapshot;
|
|
62
|
+
}
|
|
63
|
+
export declare function frontendInputTrackingActive(): boolean;
|
|
64
|
+
export declare function trackedReadFile(path: string): string | null;
|
|
65
|
+
export declare function trackedFileExists(path: string): boolean;
|
|
66
|
+
export declare function trackedDirectoryExists(path: string): boolean;
|
|
67
|
+
export declare function trackedExists(path: string): boolean;
|
|
68
|
+
export declare function trackedRealpath(path: string): string | null;
|
|
69
|
+
export declare function trackedAccessibleEntries(path: string): {
|
|
70
|
+
files: string[];
|
|
71
|
+
directories: string[];
|
|
72
|
+
} | null;
|
|
73
|
+
/** Re-run every recorded probe against the current filesystem. */
|
|
74
|
+
export declare function frontendInputsStillMatch(snapshot: FrontendInputSnapshot, exclusions?: FrontendInputExclusions): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Validate all non-source frontend probes exactly while allowing only
|
|
77
|
+
* caller-approved semantic-equivalent file edits. The old source text is a
|
|
78
|
+
* cache payload; every unchanged input remains content-hash checked.
|
|
79
|
+
*/
|
|
80
|
+
export declare function frontendInputsSemanticallyMatch(snapshot: FrontendInputSnapshot, previousSources: ReadonlyMap<string, string>, isSemanticEquivalent: (path: string, previous: string, current: string) => boolean, exclusions?: FrontendInputExclusions): FrontendSemanticMatch | null;
|
|
81
|
+
/** Pure validator used by the persistent-cache reader before any path probes. */
|
|
82
|
+
export declare function validFrontendInputSnapshot(snapshot: unknown): snapshot is FrontendInputSnapshot;
|