@markw65/monkeyc-optimizer 1.1.79 → 1.1.81
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/CHANGELOG.md +9 -0
- package/build/api.cjs +39 -39
- package/build/{chunk-PVNDN7BB.cjs → chunk-W4QVHCFN.cjs} +324 -289
- package/build/{chunk-NHZRKHZO.cjs → chunk-X7QCZR3F.cjs} +10 -5
- package/build/optimizer.cjs +20 -20
- package/build/sdk-util.cjs +15 -15
- package/build/util.cjs +26 -26
- package/build/worker-thread.cjs +4 -4
- package/package.json +1 -1
|
@@ -26,8 +26,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
26
26
|
mod
|
|
27
27
|
));
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var
|
|
30
|
-
__export(
|
|
29
|
+
var chunk_W4QVHCFN_exports = {};
|
|
30
|
+
__export(chunk_W4QVHCFN_exports, {
|
|
31
31
|
EnumTagsConst: () => EnumTagsConst,
|
|
32
32
|
LastTypeTag: () => LastTypeTag,
|
|
33
33
|
ObjectLikeTagsConst: () => ObjectLikeTagsConst,
|
|
@@ -139,8 +139,8 @@ __export(chunk_PVNDN7BB_exports, {
|
|
|
139
139
|
visitorNode: () => visitorNode,
|
|
140
140
|
xml_util_exports: () => xml_util_exports
|
|
141
141
|
});
|
|
142
|
-
module.exports = __toCommonJS(
|
|
143
|
-
var
|
|
142
|
+
module.exports = __toCommonJS(chunk_W4QVHCFN_exports);
|
|
143
|
+
var import_chunk_X7QCZR3F = require("./chunk-X7QCZR3F.cjs");
|
|
144
144
|
var import_chunk_JDC43A3I = require("./chunk-JDC43A3I.cjs");
|
|
145
145
|
var import_chunk_ABYVSU2C = require("./chunk-ABYVSU2C.cjs");
|
|
146
146
|
var import_node_assert = __toESM(require("node:assert"));
|
|
@@ -7033,7 +7033,7 @@ function buildReducedGraph(state, root, refsForUpdate, notice) {
|
|
|
7033
7033
|
switch (node.type) {
|
|
7034
7034
|
case "ImportModule":
|
|
7035
7035
|
case "Using":
|
|
7036
|
-
(0,
|
|
7036
|
+
(0, import_chunk_X7QCZR3F.forEach)(
|
|
7037
7037
|
notice(node, node, false, () => []),
|
|
7038
7038
|
(e) => allEvents.push(e)
|
|
7039
7039
|
);
|
|
@@ -7042,7 +7042,7 @@ function buildReducedGraph(state, root, refsForUpdate, notice) {
|
|
|
7042
7042
|
case "ModuleDeclaration":
|
|
7043
7043
|
if (rootNode !== node)
|
|
7044
7044
|
return [];
|
|
7045
|
-
(0,
|
|
7045
|
+
(0, import_chunk_X7QCZR3F.forEach)(
|
|
7046
7046
|
notice(node, node, false, () => []),
|
|
7047
7047
|
(e) => {
|
|
7048
7048
|
addEvent(localState.curBlock, e);
|
|
@@ -7367,9 +7367,9 @@ function buildReducedGraph(state, root, refsForUpdate, notice) {
|
|
|
7367
7367
|
);
|
|
7368
7368
|
}
|
|
7369
7369
|
} else {
|
|
7370
|
-
(0,
|
|
7370
|
+
(0, import_chunk_X7QCZR3F.forEach)(events, (e) => e.mayThrow = false);
|
|
7371
7371
|
}
|
|
7372
|
-
(0,
|
|
7372
|
+
(0, import_chunk_X7QCZR3F.forEach)(events, (event) => {
|
|
7373
7373
|
if (event.mayThrow) {
|
|
7374
7374
|
for (let i = localState.stack.length; i--; ) {
|
|
7375
7375
|
const target = localState.stack[i].throw;
|
|
@@ -7524,7 +7524,7 @@ var init_control_flow = (0, import_chunk_ABYVSU2C.__esm)({
|
|
|
7524
7524
|
"src/control-flow.ts"() {
|
|
7525
7525
|
"use strict";
|
|
7526
7526
|
(0, import_chunk_JDC43A3I.init_ast)();
|
|
7527
|
-
(0,
|
|
7527
|
+
(0, import_chunk_X7QCZR3F.init_util)();
|
|
7528
7528
|
Terminals = {
|
|
7529
7529
|
BreakStatement: "break",
|
|
7530
7530
|
ContinueStatement: "continue",
|
|
@@ -7551,12 +7551,12 @@ var init_control_flow = (0, import_chunk_ABYVSU2C.__esm)({
|
|
|
7551
7551
|
if (!from.succs) {
|
|
7552
7552
|
from.succs = [to];
|
|
7553
7553
|
} else {
|
|
7554
|
-
(0,
|
|
7554
|
+
(0, import_chunk_X7QCZR3F.pushUnique)(from.succs, to);
|
|
7555
7555
|
}
|
|
7556
7556
|
if (!to.preds) {
|
|
7557
7557
|
to.preds = [from];
|
|
7558
7558
|
} else {
|
|
7559
|
-
(0,
|
|
7559
|
+
(0, import_chunk_X7QCZR3F.pushUnique)(to.preds, from);
|
|
7560
7560
|
}
|
|
7561
7561
|
}
|
|
7562
7562
|
newBlock(block) {
|
|
@@ -7859,11 +7859,10 @@ function mergeSingle(pair) {
|
|
|
7859
7859
|
const fromE = pair.bvalue;
|
|
7860
7860
|
if (toE.enum !== fromE.enum) {
|
|
7861
7861
|
if (toE.value && fromE.value) {
|
|
7862
|
-
const
|
|
7863
|
-
|
|
7864
|
-
|
|
7865
|
-
|
|
7866
|
-
}
|
|
7862
|
+
const result = cloneType(toE.value);
|
|
7863
|
+
unionInto(result, fromE.value);
|
|
7864
|
+
const e = { value: result };
|
|
7865
|
+
return [e, true];
|
|
7867
7866
|
}
|
|
7868
7867
|
return [null, true];
|
|
7869
7868
|
}
|
|
@@ -7917,8 +7916,8 @@ function mergeObjectValues(to, from) {
|
|
|
7917
7916
|
function mergeStateDecls(to, from) {
|
|
7918
7917
|
let changed = false;
|
|
7919
7918
|
let result = to;
|
|
7920
|
-
(0,
|
|
7921
|
-
if ((0,
|
|
7919
|
+
(0, import_chunk_X7QCZR3F.forEach)(from, (v) => {
|
|
7920
|
+
if ((0, import_chunk_X7QCZR3F.some)(to, (t) => t === v)) {
|
|
7922
7921
|
return;
|
|
7923
7922
|
}
|
|
7924
7923
|
if (Array.isArray(result)) {
|
|
@@ -8085,7 +8084,7 @@ var init_union_type = (0, import_chunk_ABYVSU2C.__esm)({
|
|
|
8085
8084
|
"use strict";
|
|
8086
8085
|
(0, import_chunk_JDC43A3I.init_ast)();
|
|
8087
8086
|
init_data_flow();
|
|
8088
|
-
(0,
|
|
8087
|
+
(0, import_chunk_X7QCZR3F.init_util)();
|
|
8089
8088
|
init_could_be();
|
|
8090
8089
|
init_intersection_type();
|
|
8091
8090
|
init_sub_type();
|
|
@@ -8100,7 +8099,7 @@ function expandTypedef(t) {
|
|
|
8100
8099
|
);
|
|
8101
8100
|
const tExpanded = cloneType(t);
|
|
8102
8101
|
clearValuesUnder(tExpanded, 262144, true);
|
|
8103
|
-
(0,
|
|
8102
|
+
(0, import_chunk_X7QCZR3F.forEach)(decls, (decl) => unionInto(tExpanded, decl.resolvedType));
|
|
8104
8103
|
return tExpanded;
|
|
8105
8104
|
}
|
|
8106
8105
|
function intersectEnum(t, e) {
|
|
@@ -8294,9 +8293,9 @@ function intersectionValue(pair) {
|
|
|
8294
8293
|
case 4096:
|
|
8295
8294
|
case 8192: {
|
|
8296
8295
|
const common = /* @__PURE__ */ new Set();
|
|
8297
|
-
(0,
|
|
8296
|
+
(0, import_chunk_X7QCZR3F.forEach)(
|
|
8298
8297
|
pair.avalue,
|
|
8299
|
-
(sna) => (0,
|
|
8298
|
+
(sna) => (0, import_chunk_X7QCZR3F.some)(pair.bvalue, (snb) => sna === snb) && common.add(sna)
|
|
8300
8299
|
);
|
|
8301
8300
|
if (!common.size)
|
|
8302
8301
|
return null;
|
|
@@ -8305,9 +8304,9 @@ function intersectionValue(pair) {
|
|
|
8305
8304
|
}
|
|
8306
8305
|
case 16384: {
|
|
8307
8306
|
const common = /* @__PURE__ */ new Set();
|
|
8308
|
-
(0,
|
|
8307
|
+
(0, import_chunk_X7QCZR3F.forEach)(pair.avalue, (sna) => {
|
|
8309
8308
|
const superA = getSuperClasses(sna);
|
|
8310
|
-
(0,
|
|
8309
|
+
(0, import_chunk_X7QCZR3F.forEach)(pair.bvalue, (snb) => {
|
|
8311
8310
|
if (sna === snb || superA && superA.has(snb)) {
|
|
8312
8311
|
common.add(sna);
|
|
8313
8312
|
}
|
|
@@ -8554,7 +8553,7 @@ function restrictExactTypesByEquality(a, b) {
|
|
|
8554
8553
|
}
|
|
8555
8554
|
case 262144:
|
|
8556
8555
|
return restrictByEquality(
|
|
8557
|
-
(0,
|
|
8556
|
+
(0, import_chunk_X7QCZR3F.reduce)(
|
|
8558
8557
|
a.value,
|
|
8559
8558
|
(cur, decl) => {
|
|
8560
8559
|
unionInto(cur, decl.resolvedType);
|
|
@@ -8621,7 +8620,7 @@ var init_intersection_type = (0, import_chunk_ABYVSU2C.__esm)({
|
|
|
8621
8620
|
"use strict";
|
|
8622
8621
|
init_api();
|
|
8623
8622
|
init_data_flow();
|
|
8624
|
-
(0,
|
|
8623
|
+
(0, import_chunk_X7QCZR3F.init_util)();
|
|
8625
8624
|
init_could_be();
|
|
8626
8625
|
init_interp();
|
|
8627
8626
|
init_types();
|
|
@@ -8735,14 +8734,14 @@ function subtypeOfValue(pair) {
|
|
|
8735
8734
|
case 8192: {
|
|
8736
8735
|
const asd = pair.avalue;
|
|
8737
8736
|
const bsd = pair.bvalue;
|
|
8738
|
-
return (0,
|
|
8737
|
+
return (0, import_chunk_X7QCZR3F.every)(asd, (sna) => (0, import_chunk_X7QCZR3F.some)(bsd, (snb) => sna === snb));
|
|
8739
8738
|
}
|
|
8740
8739
|
case 16384: {
|
|
8741
8740
|
const asd = pair.avalue;
|
|
8742
8741
|
const bsd = pair.bvalue;
|
|
8743
|
-
return (0,
|
|
8742
|
+
return (0, import_chunk_X7QCZR3F.every)(asd, (sna) => {
|
|
8744
8743
|
const superA = getSuperClasses(sna);
|
|
8745
|
-
return (0,
|
|
8744
|
+
return (0, import_chunk_X7QCZR3F.some)(bsd, (snb) => {
|
|
8746
8745
|
if (sna === snb || superA && superA.has(snb)) {
|
|
8747
8746
|
return true;
|
|
8748
8747
|
}
|
|
@@ -8778,7 +8777,7 @@ var init_sub_type = (0, import_chunk_ABYVSU2C.__esm)({
|
|
|
8778
8777
|
"use strict";
|
|
8779
8778
|
init_api();
|
|
8780
8779
|
init_data_flow();
|
|
8781
|
-
(0,
|
|
8780
|
+
(0, import_chunk_X7QCZR3F.init_util)();
|
|
8782
8781
|
init_could_be();
|
|
8783
8782
|
init_intersection_type();
|
|
8784
8783
|
init_types();
|
|
@@ -9199,13 +9198,13 @@ function isTypeStateKey(decl) {
|
|
|
9199
9198
|
return Array.isArray(decl) || decl.type !== "MemberDecl" && decl.type !== "Unknown";
|
|
9200
9199
|
}
|
|
9201
9200
|
function declIsLocal(decl) {
|
|
9202
|
-
return (0,
|
|
9201
|
+
return (0, import_chunk_X7QCZR3F.some)(
|
|
9203
9202
|
decl,
|
|
9204
9203
|
(d) => d.type === "BinaryExpression" || d.type === "Identifier" || d.type === "VariableDeclarator" && isLocal(d)
|
|
9205
9204
|
);
|
|
9206
9205
|
}
|
|
9207
9206
|
function declIsNonLocal(decl) {
|
|
9208
|
-
return (0,
|
|
9207
|
+
return (0, import_chunk_X7QCZR3F.some)(decl, (d) => d.type === "VariableDeclarator" && !isLocal(d));
|
|
9209
9208
|
}
|
|
9210
9209
|
function localDeclName(decl) {
|
|
9211
9210
|
if (Array.isArray(decl))
|
|
@@ -9218,12 +9217,12 @@ function localDeclName(decl) {
|
|
|
9218
9217
|
case "VariableDeclarator":
|
|
9219
9218
|
return variableDeclarationName(decl.node.id);
|
|
9220
9219
|
}
|
|
9221
|
-
throw new
|
|
9220
|
+
throw new import_chunk_X7QCZR3F.AwaitedError(
|
|
9222
9221
|
declFullName(decl).then((declStr) => `Invalid local decl: ${declStr}`)
|
|
9223
9222
|
);
|
|
9224
9223
|
}
|
|
9225
9224
|
function tsKey(key) {
|
|
9226
|
-
return `${(0,
|
|
9225
|
+
return `${(0, import_chunk_X7QCZR3F.map)(key, (k) => {
|
|
9227
9226
|
if (k.type === "Literal") {
|
|
9228
9227
|
return k.raw;
|
|
9229
9228
|
} else if (isStateNode(k)) {
|
|
@@ -9242,7 +9241,7 @@ function sourceLocation(loc) {
|
|
|
9242
9241
|
return loc ? `${loc.source || "??"}:${loc.start.line}:${loc.start.column}` : "??";
|
|
9243
9242
|
}
|
|
9244
9243
|
function printBlockHeader(block) {
|
|
9245
|
-
(0,
|
|
9244
|
+
(0, import_chunk_X7QCZR3F.log)(
|
|
9246
9245
|
block.order,
|
|
9247
9246
|
`(${block.node?.loc?.source || "??"}:${block.node?.loc?.start.line || "??"})`,
|
|
9248
9247
|
`Preds: ${(block.preds || []).map((block2) => block2.order).join(", ")}`
|
|
@@ -9268,10 +9267,10 @@ function describeEvent(event) {
|
|
|
9268
9267
|
).then((desc) => `${event.type}: ${desc}`);
|
|
9269
9268
|
}
|
|
9270
9269
|
function printBlockEvents(block, extra) {
|
|
9271
|
-
(0,
|
|
9272
|
-
(0,
|
|
9270
|
+
(0, import_chunk_X7QCZR3F.log)("Events:");
|
|
9271
|
+
(0, import_chunk_X7QCZR3F.forEach)(
|
|
9273
9272
|
block.events,
|
|
9274
|
-
(event) => (0,
|
|
9273
|
+
(event) => (0, import_chunk_X7QCZR3F.log)(
|
|
9275
9274
|
describeEvent(event).then(
|
|
9276
9275
|
(eventStr) => ` ${eventStr} ${extra ? extra(event) : ""}`
|
|
9277
9276
|
)
|
|
@@ -9279,7 +9278,7 @@ function printBlockEvents(block, extra) {
|
|
|
9279
9278
|
);
|
|
9280
9279
|
}
|
|
9281
9280
|
function printBlockTrailer(block) {
|
|
9282
|
-
(0,
|
|
9281
|
+
(0, import_chunk_X7QCZR3F.log)(
|
|
9283
9282
|
`Succs: ${(block.succs || []).map((block2) => block2.order).join(", ")} ExSucc: ${block.exsucc ? block.exsucc.order : ""}`
|
|
9284
9283
|
);
|
|
9285
9284
|
}
|
|
@@ -9406,7 +9405,7 @@ var init_type_flow_util = (0, import_chunk_ABYVSU2C.__esm)({
|
|
|
9406
9405
|
"use strict";
|
|
9407
9406
|
init_api();
|
|
9408
9407
|
init_data_flow();
|
|
9409
|
-
(0,
|
|
9408
|
+
(0, import_chunk_X7QCZR3F.init_util)();
|
|
9410
9409
|
init_intersection_type();
|
|
9411
9410
|
init_sub_type();
|
|
9412
9411
|
init_types();
|
|
@@ -9460,7 +9459,7 @@ function calleeObjectType(istate, callee) {
|
|
|
9460
9459
|
}
|
|
9461
9460
|
function checkCallArgs(istate, node, callees, args) {
|
|
9462
9461
|
const allDiags = [];
|
|
9463
|
-
const resultType = (0,
|
|
9462
|
+
const resultType = (0, import_chunk_X7QCZR3F.reduce)(
|
|
9464
9463
|
callees,
|
|
9465
9464
|
(result, cur) => {
|
|
9466
9465
|
const curDiags = [];
|
|
@@ -9619,7 +9618,7 @@ function isOverride(cur, funcs) {
|
|
|
9619
9618
|
const cls = cur.stack?.[cur.stack.length - 1]?.sn;
|
|
9620
9619
|
if (cls?.type === "ClassDeclaration" && cls.superClasses) {
|
|
9621
9620
|
const supers = getSuperClasses(cls);
|
|
9622
|
-
if (supers && (0,
|
|
9621
|
+
if (supers && (0, import_chunk_X7QCZR3F.some)(funcs, (func) => {
|
|
9623
9622
|
if (func === cur)
|
|
9624
9623
|
return false;
|
|
9625
9624
|
const fcls = func.stack?.[func.stack.length - 1].sn;
|
|
@@ -10187,7 +10186,7 @@ var init_interp_call = (0, import_chunk_ABYVSU2C.__esm)({
|
|
|
10187
10186
|
"use strict";
|
|
10188
10187
|
init_api();
|
|
10189
10188
|
init_optimizer_types();
|
|
10190
|
-
(0,
|
|
10189
|
+
(0, import_chunk_X7QCZR3F.init_util)();
|
|
10191
10190
|
init_interp();
|
|
10192
10191
|
init_sub_type();
|
|
10193
10192
|
init_type_flow_util();
|
|
@@ -10958,7 +10957,7 @@ function evaluateNode(istate, node) {
|
|
|
10958
10957
|
byteArray = true;
|
|
10959
10958
|
}
|
|
10960
10959
|
}
|
|
10961
|
-
if (objectType.value && !(objectType.type & (
|
|
10960
|
+
if (objectType.value && !(objectType.type & (16384 | (byteArray ? 0 : 32768)))) {
|
|
10962
10961
|
let result = null;
|
|
10963
10962
|
if (objectType.type & 512) {
|
|
10964
10963
|
const avalue = getUnionComponent(
|
|
@@ -10995,6 +10994,42 @@ function evaluateNode(istate, node) {
|
|
|
10995
10994
|
result.type |= 1;
|
|
10996
10995
|
}
|
|
10997
10996
|
}
|
|
10997
|
+
if (objectType.type & 4096 && couldBe(property.value, {
|
|
10998
|
+
type: 131072
|
|
10999
|
+
/* Symbol */
|
|
11000
|
+
})) {
|
|
11001
|
+
const mvalue = getUnionComponent(
|
|
11002
|
+
objectType,
|
|
11003
|
+
4096
|
|
11004
|
+
/* Module */
|
|
11005
|
+
);
|
|
11006
|
+
if (!mvalue) {
|
|
11007
|
+
result = {
|
|
11008
|
+
type: 524287
|
|
11009
|
+
/* Any */
|
|
11010
|
+
};
|
|
11011
|
+
push({
|
|
11012
|
+
value: result,
|
|
11013
|
+
embeddedEffects: object.embeddedEffects || property.embeddedEffects,
|
|
11014
|
+
node
|
|
11015
|
+
});
|
|
11016
|
+
break;
|
|
11017
|
+
}
|
|
11018
|
+
if (result)
|
|
11019
|
+
result = cloneType(result);
|
|
11020
|
+
(0, import_chunk_X7QCZR3F.forEach)(mvalue, (m) => {
|
|
11021
|
+
if (m.decls) {
|
|
11022
|
+
Object.values(m.decls).forEach((sn) => {
|
|
11023
|
+
const t = typeFromTypeStateNodes(istate.state, sn, true);
|
|
11024
|
+
if (result) {
|
|
11025
|
+
unionInto(result, t);
|
|
11026
|
+
} else {
|
|
11027
|
+
result = cloneType(t);
|
|
11028
|
+
}
|
|
11029
|
+
});
|
|
11030
|
+
}
|
|
11031
|
+
});
|
|
11032
|
+
}
|
|
10998
11033
|
if (byteArray) {
|
|
10999
11034
|
const t = {
|
|
11000
11035
|
type: 8
|
|
@@ -11121,7 +11156,7 @@ function evaluateNode(istate, node) {
|
|
|
11121
11156
|
if (isExact(klass.value) && klass.value.type === 16384) {
|
|
11122
11157
|
obj.value = { klass: klass.value };
|
|
11123
11158
|
if (istate.checkTypes && klass.value.value) {
|
|
11124
|
-
const callees = (0,
|
|
11159
|
+
const callees = (0, import_chunk_X7QCZR3F.map)(
|
|
11125
11160
|
klass.value.value,
|
|
11126
11161
|
(klass2) => klass2.decls?.initialize
|
|
11127
11162
|
).flat().filter(
|
|
@@ -11323,7 +11358,7 @@ function mustBeIdentical(a, b) {
|
|
|
11323
11358
|
return false;
|
|
11324
11359
|
}
|
|
11325
11360
|
function isByteArrayData(objectData) {
|
|
11326
|
-
return objectData.klass.value && (0,
|
|
11361
|
+
return objectData.klass.value && (0, import_chunk_X7QCZR3F.every)(
|
|
11327
11362
|
objectData.klass.value,
|
|
11328
11363
|
(klass) => klass.fullName === "$.Toybox.Lang.ByteArray"
|
|
11329
11364
|
);
|
|
@@ -11335,7 +11370,7 @@ var init_interp = (0, import_chunk_ABYVSU2C.__esm)({
|
|
|
11335
11370
|
(0, import_chunk_JDC43A3I.init_ast)();
|
|
11336
11371
|
init_data_flow();
|
|
11337
11372
|
init_optimizer_types();
|
|
11338
|
-
(0,
|
|
11373
|
+
(0, import_chunk_X7QCZR3F.init_util)();
|
|
11339
11374
|
init_could_be();
|
|
11340
11375
|
init_interp_binary();
|
|
11341
11376
|
init_interp_call();
|
|
@@ -11574,7 +11609,7 @@ function typeFromTypeStateNode(state, sn, classVsObj) {
|
|
|
11574
11609
|
);
|
|
11575
11610
|
if (value2) {
|
|
11576
11611
|
const a = [];
|
|
11577
|
-
(0,
|
|
11612
|
+
(0, import_chunk_X7QCZR3F.forEach)(value2, (v) => {
|
|
11578
11613
|
if (v !== sn)
|
|
11579
11614
|
a.push(v);
|
|
11580
11615
|
});
|
|
@@ -12068,7 +12103,7 @@ function mustBeFalse(arg) {
|
|
|
12068
12103
|
return arg.type === 1 || arg.type === 2 || (arg.type === 8 || arg.type === 16) && arg.value != null && Number(arg.value) === 0;
|
|
12069
12104
|
}
|
|
12070
12105
|
function display(type) {
|
|
12071
|
-
const names = (v, fn) => (0,
|
|
12106
|
+
const names = (v, fn) => (0, import_chunk_X7QCZR3F.map)(v, fn).sort().filter((s, i, arr) => !i || s !== arr[i - 1]).join(" or ");
|
|
12072
12107
|
const parts = [];
|
|
12073
12108
|
const displayOne = (tv) => {
|
|
12074
12109
|
switch (tv.type) {
|
|
@@ -12226,7 +12261,7 @@ function getStateNodeDeclsWithExactFromType(state, object) {
|
|
|
12226
12261
|
switch (type.type) {
|
|
12227
12262
|
case 32768:
|
|
12228
12263
|
if (type.value.klass.type === 16384 && type.value.klass.value) {
|
|
12229
|
-
(0,
|
|
12264
|
+
(0, import_chunk_X7QCZR3F.forEach)(
|
|
12230
12265
|
type.value.klass.value,
|
|
12231
12266
|
(sn) => decls.push({ sn, exact: false })
|
|
12232
12267
|
);
|
|
@@ -12234,7 +12269,7 @@ function getStateNodeDeclsWithExactFromType(state, object) {
|
|
|
12234
12269
|
break;
|
|
12235
12270
|
case 4096:
|
|
12236
12271
|
case 16384:
|
|
12237
|
-
(0,
|
|
12272
|
+
(0, import_chunk_X7QCZR3F.forEach)(type.value, (sn) => decls.push({ sn, exact: true }));
|
|
12238
12273
|
break;
|
|
12239
12274
|
}
|
|
12240
12275
|
}
|
|
@@ -12267,7 +12302,7 @@ var init_types = (0, import_chunk_ABYVSU2C.__esm)({
|
|
|
12267
12302
|
init_api();
|
|
12268
12303
|
(0, import_chunk_JDC43A3I.init_ast)();
|
|
12269
12304
|
init_data_flow();
|
|
12270
|
-
(0,
|
|
12305
|
+
(0, import_chunk_X7QCZR3F.init_util)();
|
|
12271
12306
|
init_interp();
|
|
12272
12307
|
init_intersection_type();
|
|
12273
12308
|
init_union_type();
|
|
@@ -12327,7 +12362,7 @@ function couldBeHelper(a, b, shallow) {
|
|
|
12327
12362
|
262144
|
|
12328
12363
|
/* Typedef */
|
|
12329
12364
|
);
|
|
12330
|
-
return typedef && (0,
|
|
12365
|
+
return typedef && (0, import_chunk_X7QCZR3F.some)(typedef, (td) => {
|
|
12331
12366
|
if (!td.resolvedType) {
|
|
12332
12367
|
throw new Error(`No resolved type for ${td.fullName} in 'couldBe'`);
|
|
12333
12368
|
}
|
|
@@ -12399,15 +12434,15 @@ function couldBeValue(pair, shallow) {
|
|
|
12399
12434
|
}
|
|
12400
12435
|
case 4096:
|
|
12401
12436
|
case 8192: {
|
|
12402
|
-
return (0,
|
|
12437
|
+
return (0, import_chunk_X7QCZR3F.some)(
|
|
12403
12438
|
pair.avalue,
|
|
12404
|
-
(sna) => (0,
|
|
12439
|
+
(sna) => (0, import_chunk_X7QCZR3F.some)(pair.bvalue, (snb) => sna === snb)
|
|
12405
12440
|
);
|
|
12406
12441
|
}
|
|
12407
12442
|
case 16384: {
|
|
12408
|
-
return (0,
|
|
12443
|
+
return (0, import_chunk_X7QCZR3F.some)(pair.avalue, (sna) => {
|
|
12409
12444
|
const superA = getSuperClasses(sna);
|
|
12410
|
-
return (0,
|
|
12445
|
+
return (0, import_chunk_X7QCZR3F.some)(pair.bvalue, (snb) => {
|
|
12411
12446
|
if (sna === snb || superA && superA.has(snb)) {
|
|
12412
12447
|
return true;
|
|
12413
12448
|
}
|
|
@@ -12440,7 +12475,7 @@ var init_could_be = (0, import_chunk_ABYVSU2C.__esm)({
|
|
|
12440
12475
|
"use strict";
|
|
12441
12476
|
init_api();
|
|
12442
12477
|
init_data_flow();
|
|
12443
|
-
(0,
|
|
12478
|
+
(0, import_chunk_X7QCZR3F.init_util)();
|
|
12444
12479
|
init_types();
|
|
12445
12480
|
}
|
|
12446
12481
|
});
|
|
@@ -12547,7 +12582,7 @@ function findDeadStores(func, graph, nodeEquivs, findCopyPropCandidates, logThis
|
|
|
12547
12582
|
}
|
|
12548
12583
|
addAnt(curState.partiallyAnticipated, key, node);
|
|
12549
12584
|
if (logThisRun) {
|
|
12550
|
-
(0,
|
|
12585
|
+
(0, import_chunk_X7QCZR3F.log)(
|
|
12551
12586
|
` antrefs: ${curState.partiallyAnticipated.get(key) !== false} ${curState.anticipated.get(key) !== false}`
|
|
12552
12587
|
);
|
|
12553
12588
|
}
|
|
@@ -12570,7 +12605,7 @@ function findDeadStores(func, graph, nodeEquivs, findCopyPropCandidates, logThis
|
|
|
12570
12605
|
const curState = cloneState(blockStates[top.order]);
|
|
12571
12606
|
if (logThisRun) {
|
|
12572
12607
|
printBlockHeader(top);
|
|
12573
|
-
curState.dead.forEach((decl) => (0,
|
|
12608
|
+
curState.dead.forEach((decl) => (0, import_chunk_X7QCZR3F.log)(` - anticipated: ${tsKey(decl)}`));
|
|
12574
12609
|
}
|
|
12575
12610
|
if (top.events) {
|
|
12576
12611
|
for (let i = top.events.length; i--; ) {
|
|
@@ -12582,12 +12617,12 @@ function findDeadStores(func, graph, nodeEquivs, findCopyPropCandidates, logThis
|
|
|
12582
12617
|
case "ref":
|
|
12583
12618
|
if (isTypeStateKey(event.decl)) {
|
|
12584
12619
|
if (logThisRun) {
|
|
12585
|
-
(0,
|
|
12620
|
+
(0, import_chunk_X7QCZR3F.log)(
|
|
12586
12621
|
describeEvent(event).then(
|
|
12587
12622
|
(eventStr) => `${eventStr} (${sourceLocation(event.node.loc)})`
|
|
12588
12623
|
)
|
|
12589
12624
|
);
|
|
12590
|
-
(0,
|
|
12625
|
+
(0, import_chunk_X7QCZR3F.log)(` kill => ${tsKey(event.decl)}`);
|
|
12591
12626
|
}
|
|
12592
12627
|
copyPropRef(curState, event.decl, event.node);
|
|
12593
12628
|
curState.dead.delete(event.decl);
|
|
@@ -12596,7 +12631,7 @@ function findDeadStores(func, graph, nodeEquivs, findCopyPropCandidates, logThis
|
|
|
12596
12631
|
case "def":
|
|
12597
12632
|
if (isTypeStateKey(event.decl) && (event.node.type !== "VariableDeclarator" || event.node.init)) {
|
|
12598
12633
|
if (logThisRun) {
|
|
12599
|
-
(0,
|
|
12634
|
+
(0, import_chunk_X7QCZR3F.log)(
|
|
12600
12635
|
describeEvent(event).then(
|
|
12601
12636
|
(eventStr) => `${eventStr} (${sourceLocation(event.node.loc)})`
|
|
12602
12637
|
)
|
|
@@ -12612,7 +12647,7 @@ function findDeadStores(func, graph, nodeEquivs, findCopyPropCandidates, logThis
|
|
|
12612
12647
|
const pant = curState.partiallyAnticipated.get(event.decl);
|
|
12613
12648
|
if (pant) {
|
|
12614
12649
|
if (logThisRun) {
|
|
12615
|
-
(0,
|
|
12650
|
+
(0, import_chunk_X7QCZR3F.log)(
|
|
12616
12651
|
` is copy-prop-candidate ${curState.anticipated?.get(event.decl) === pant}`
|
|
12617
12652
|
);
|
|
12618
12653
|
}
|
|
@@ -12644,7 +12679,7 @@ function findDeadStores(func, graph, nodeEquivs, findCopyPropCandidates, logThis
|
|
|
12644
12679
|
if (assignNode) {
|
|
12645
12680
|
curState.dead.add(event.decl);
|
|
12646
12681
|
if (logThisRun) {
|
|
12647
|
-
(0,
|
|
12682
|
+
(0, import_chunk_X7QCZR3F.log)(` anticipated => ${tsKey(event.decl)}`);
|
|
12648
12683
|
}
|
|
12649
12684
|
} else if (event.node.type === "UpdateExpression") {
|
|
12650
12685
|
copyPropRef(curState, event.decl, event.node.argument);
|
|
@@ -12655,7 +12690,7 @@ function findDeadStores(func, graph, nodeEquivs, findCopyPropCandidates, logThis
|
|
|
12655
12690
|
if (isTypeStateKey(event.decl)) {
|
|
12656
12691
|
curState.dead.add(event.decl);
|
|
12657
12692
|
if (logThisRun) {
|
|
12658
|
-
(0,
|
|
12693
|
+
(0, import_chunk_X7QCZR3F.log)(` anticipated => ${tsKey(event.decl)}`);
|
|
12659
12694
|
}
|
|
12660
12695
|
}
|
|
12661
12696
|
break;
|
|
@@ -12718,9 +12753,9 @@ function eliminateDeadStores(state, func, graph, logThisRun) {
|
|
|
12718
12753
|
if (!deadStores.size)
|
|
12719
12754
|
return { changes: false, copyPropStores };
|
|
12720
12755
|
if (logThisRun) {
|
|
12721
|
-
(0,
|
|
12756
|
+
(0, import_chunk_X7QCZR3F.log)("====== Dead Stores =====");
|
|
12722
12757
|
deadStores.forEach(
|
|
12723
|
-
(dead) => (dead.type === "AssignmentExpression" || dead.type === "UpdateExpression" || dead.type === "VariableDeclarator") && (0,
|
|
12758
|
+
(dead) => (dead.type === "AssignmentExpression" || dead.type === "UpdateExpression" || dead.type === "VariableDeclarator") && (0, import_chunk_X7QCZR3F.log)(
|
|
12724
12759
|
formatAstLongLines(dead).then(
|
|
12725
12760
|
(deadStr) => `${deadStr} (${sourceLocation(dead.loc)})`
|
|
12726
12761
|
)
|
|
@@ -12775,7 +12810,7 @@ var init_dead_store = (0, import_chunk_ABYVSU2C.__esm)({
|
|
|
12775
12810
|
init_control_flow();
|
|
12776
12811
|
init_data_flow();
|
|
12777
12812
|
init_inliner();
|
|
12778
|
-
(0,
|
|
12813
|
+
(0, import_chunk_X7QCZR3F.init_util)();
|
|
12779
12814
|
init_minimize_locals();
|
|
12780
12815
|
init_type_flow_util();
|
|
12781
12816
|
}
|
|
@@ -13143,13 +13178,13 @@ function typeStateEntry(value2, key) {
|
|
|
13143
13178
|
return `${tsKey(key)} = ${display(value2.curType)}`;
|
|
13144
13179
|
}
|
|
13145
13180
|
function printBlockState(block, state, indent = "") {
|
|
13146
|
-
(0,
|
|
13181
|
+
(0, import_chunk_X7QCZR3F.log)(indent + "State:");
|
|
13147
13182
|
if (!state) {
|
|
13148
|
-
(0,
|
|
13183
|
+
(0, import_chunk_X7QCZR3F.log)(indent + "Not visited!");
|
|
13149
13184
|
return;
|
|
13150
13185
|
}
|
|
13151
13186
|
state.map.forEach((value2, key) => {
|
|
13152
|
-
(0,
|
|
13187
|
+
(0, import_chunk_X7QCZR3F.log)(
|
|
13153
13188
|
`${indent} - ${typeStateEntry(value2, key)}${value2.equivSet ? ` [(${Array.from(value2.equivSet).map(tsKey).join(", ")})]` : ""}`
|
|
13154
13189
|
);
|
|
13155
13190
|
});
|
|
@@ -13356,7 +13391,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
13356
13391
|
type: 0
|
|
13357
13392
|
/* Never */
|
|
13358
13393
|
};
|
|
13359
|
-
(0,
|
|
13394
|
+
(0, import_chunk_X7QCZR3F.forEach)(avalue, (v) => unionInto(n, v));
|
|
13360
13395
|
next = n;
|
|
13361
13396
|
}
|
|
13362
13397
|
} else {
|
|
@@ -13461,7 +13496,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
13461
13496
|
}
|
|
13462
13497
|
if (!isStatic && selfClassDecl) {
|
|
13463
13498
|
const baseObj = getObjectValue(baseElem.type);
|
|
13464
|
-
if (baseObj && baseObj.klass.type === 16384 && (0,
|
|
13499
|
+
if (baseObj && baseObj.klass.type === 16384 && (0, import_chunk_X7QCZR3F.some)(
|
|
13465
13500
|
baseObj.klass.value,
|
|
13466
13501
|
(cls) => cls === selfClassDecl || getSuperClasses(cls)?.has(selfClassDecl) || getSuperClasses(selfClassDecl)?.has(cls) || false
|
|
13467
13502
|
)) {
|
|
@@ -13506,7 +13541,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
13506
13541
|
return [cur, updateAny];
|
|
13507
13542
|
}
|
|
13508
13543
|
function typeConstraint(decls, blockState) {
|
|
13509
|
-
return (0,
|
|
13544
|
+
return (0, import_chunk_X7QCZR3F.reduce)(
|
|
13510
13545
|
decls,
|
|
13511
13546
|
(cur, decl) => {
|
|
13512
13547
|
if (decl.type === "Identifier" || decl.type === "BinaryExpression") {
|
|
@@ -13616,9 +13651,9 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
13616
13651
|
root,
|
|
13617
13652
|
dependencies
|
|
13618
13653
|
};
|
|
13619
|
-
const modifiableDecl = (decls, callees) => (0,
|
|
13654
|
+
const modifiableDecl = (decls, callees) => (0, import_chunk_X7QCZR3F.some)(
|
|
13620
13655
|
decls,
|
|
13621
|
-
(decl) => decl.type === "VariableDeclarator" && decl.node.kind === "var" && !isLocal(decl) && (!callees || (0,
|
|
13656
|
+
(decl) => decl.type === "VariableDeclarator" && decl.node.kind === "var" && !isLocal(decl) && (!callees || (0, import_chunk_X7QCZR3F.some)(callees, (callee) => functionMayModify(state, callee, decl)))
|
|
13622
13657
|
);
|
|
13623
13658
|
const mergeSuccState = (top, curState) => {
|
|
13624
13659
|
top.succs?.forEach((succ) => {
|
|
@@ -13627,7 +13662,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
13627
13662
|
}
|
|
13628
13663
|
if (mergeTypeState(blockStates, succ.order, curState, nodeCopyProp)) {
|
|
13629
13664
|
if (logThisRun) {
|
|
13630
|
-
(0,
|
|
13665
|
+
(0, import_chunk_X7QCZR3F.log)(`re-merge: ${top.order} -> ${succ.order}`);
|
|
13631
13666
|
}
|
|
13632
13667
|
queue.enqueue(succ);
|
|
13633
13668
|
}
|
|
@@ -13637,7 +13672,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
13637
13672
|
const calleeObj = getStateType(curState, calleeObjDecl);
|
|
13638
13673
|
let calleeResult = null;
|
|
13639
13674
|
let effectFree = true;
|
|
13640
|
-
(0,
|
|
13675
|
+
(0, import_chunk_X7QCZR3F.forEach)(callees, (callee) => {
|
|
13641
13676
|
const info = sysCallInfo(istate.state, callee);
|
|
13642
13677
|
if (!info) {
|
|
13643
13678
|
effectFree = false;
|
|
@@ -13914,7 +13949,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
13914
13949
|
});
|
|
13915
13950
|
} else {
|
|
13916
13951
|
if (logThisRun) {
|
|
13917
|
-
(0,
|
|
13952
|
+
(0, import_chunk_X7QCZR3F.log)(` Flow (true): merge to ${trueSucc.order || -1}`);
|
|
13918
13953
|
printBlockState(top, sTrue || curState, " >true ");
|
|
13919
13954
|
}
|
|
13920
13955
|
if (mergeTypeState(
|
|
@@ -13924,7 +13959,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
13924
13959
|
nodeCopyProp
|
|
13925
13960
|
)) {
|
|
13926
13961
|
if (logThisRun) {
|
|
13927
|
-
(0,
|
|
13962
|
+
(0, import_chunk_X7QCZR3F.log)(`re-merge: ${top.order} -> ${trueSucc.order}`);
|
|
13928
13963
|
}
|
|
13929
13964
|
queue.enqueue(trueSucc);
|
|
13930
13965
|
}
|
|
@@ -13936,7 +13971,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
13936
13971
|
});
|
|
13937
13972
|
} else {
|
|
13938
13973
|
if (logThisRun) {
|
|
13939
|
-
(0,
|
|
13974
|
+
(0, import_chunk_X7QCZR3F.log)(` Flow (false): merge to: ${falseSucc.order || -1}`);
|
|
13940
13975
|
printBlockState(top, sFalse || curState, " >false ");
|
|
13941
13976
|
}
|
|
13942
13977
|
if (mergeTypeState(
|
|
@@ -13946,7 +13981,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
13946
13981
|
nodeCopyProp
|
|
13947
13982
|
)) {
|
|
13948
13983
|
if (logThisRun) {
|
|
13949
|
-
(0,
|
|
13984
|
+
(0, import_chunk_X7QCZR3F.log)(`re-merge: ${top.order} -> ${falseSucc.order}`);
|
|
13950
13985
|
}
|
|
13951
13986
|
queue.enqueue(falseSucc);
|
|
13952
13987
|
}
|
|
@@ -14036,7 +14071,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
14036
14071
|
}
|
|
14037
14072
|
}
|
|
14038
14073
|
if (logThisRun) {
|
|
14039
|
-
(0,
|
|
14074
|
+
(0, import_chunk_X7QCZR3F.log)(
|
|
14040
14075
|
describeEvent(event).then(
|
|
14041
14076
|
(eventStr) => ` ${eventStr} == ${display(curEntry.curType)}`
|
|
14042
14077
|
)
|
|
@@ -14046,7 +14081,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
14046
14081
|
}
|
|
14047
14082
|
case "mod": {
|
|
14048
14083
|
if (logThisRun) {
|
|
14049
|
-
(0,
|
|
14084
|
+
(0, import_chunk_X7QCZR3F.log)(describeEvent(event).then((eventStr) => ` ${eventStr}`));
|
|
14050
14085
|
}
|
|
14051
14086
|
modInterference(curState, event, true, (callees, calleeObj) => {
|
|
14052
14087
|
clearRelatedCopyPropEvents(curState, null, nodeCopyProp);
|
|
@@ -14062,7 +14097,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
14062
14097
|
);
|
|
14063
14098
|
}
|
|
14064
14099
|
}
|
|
14065
|
-
if (nodeCopyProp.size && event.node.type === "CallExpression" && (0,
|
|
14100
|
+
if (nodeCopyProp.size && event.node.type === "CallExpression" && (0, import_chunk_X7QCZR3F.some)(callees, (callee) => inlineRequested(state, callee))) {
|
|
14066
14101
|
event.node.arguments.forEach((arg) => {
|
|
14067
14102
|
const def = nodeCopyProp.get(arg);
|
|
14068
14103
|
if (def && nodeCopyProp.get(def) !== false) {
|
|
@@ -14074,7 +14109,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
14074
14109
|
let calleeEffects;
|
|
14075
14110
|
curState.map.forEach((tsv, decl) => {
|
|
14076
14111
|
let type = tsv.curType;
|
|
14077
|
-
if ((type.value == null || !(type.type & (32768 | 512 | 1024))) && !(0,
|
|
14112
|
+
if ((type.value == null || !(type.type & (32768 | 512 | 1024))) && !(0, import_chunk_X7QCZR3F.some)(decl, (d) => d.type === "VariableDeclarator" && !isLocal(d))) {
|
|
14078
14113
|
return;
|
|
14079
14114
|
}
|
|
14080
14115
|
if (modifiableDecl(decl, callees)) {
|
|
@@ -14089,7 +14124,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
14089
14124
|
curState.map.set(decl, {
|
|
14090
14125
|
curType: typeConstraint(decl, curState)
|
|
14091
14126
|
});
|
|
14092
|
-
} else if (type.type & (32768 | 512 | 1024) && (calleeEffects == null ? calleeEffects = !callees || !(0,
|
|
14127
|
+
} else if (type.type & (32768 | 512 | 1024) && (calleeEffects == null ? calleeEffects = !callees || !(0, import_chunk_X7QCZR3F.every)(callees, (callee) => callee.info === false) : calleeEffects)) {
|
|
14093
14128
|
if (type.value != null && type.type & 32768) {
|
|
14094
14129
|
const odata = getObjectValue(tsv.curType);
|
|
14095
14130
|
if (odata?.obj) {
|
|
@@ -14159,13 +14194,13 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
14159
14194
|
);
|
|
14160
14195
|
if (type.type !== 524287) {
|
|
14161
14196
|
if (event.node.type === "EnumStringMember" || event.node.type === "VariableDeclarator" && event.node.kind === "const") {
|
|
14162
|
-
(0,
|
|
14197
|
+
(0, import_chunk_X7QCZR3F.forEach)(
|
|
14163
14198
|
event.decl,
|
|
14164
14199
|
(decl) => (decl.type === "VariableDeclarator" ? decl.node === event.node : decl === event.node) && (decl.resolvedType = type)
|
|
14165
14200
|
);
|
|
14166
14201
|
}
|
|
14167
14202
|
}
|
|
14168
|
-
(0,
|
|
14203
|
+
(0, import_chunk_X7QCZR3F.some)(event.decl, (decl) => {
|
|
14169
14204
|
if (decl.type !== "VariableDeclarator" || decl.node.kind !== "var" || !isClassVariable(decl)) {
|
|
14170
14205
|
return false;
|
|
14171
14206
|
}
|
|
@@ -14173,7 +14208,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
14173
14208
|
if (affected) {
|
|
14174
14209
|
const objType = typeFromTypeStateNodes(
|
|
14175
14210
|
istate.state,
|
|
14176
|
-
(0,
|
|
14211
|
+
(0, import_chunk_X7QCZR3F.map)(
|
|
14177
14212
|
event.decl,
|
|
14178
14213
|
(decl2) => decl2.type === "VariableDeclarator" && decl2.stack[decl2.stack.length - 1].sn
|
|
14179
14214
|
).filter(
|
|
@@ -14194,7 +14229,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
14194
14229
|
});
|
|
14195
14230
|
if (wasComputedDecl) {
|
|
14196
14231
|
curState.map.forEach((value2, decls) => {
|
|
14197
|
-
if ((0,
|
|
14232
|
+
if ((0, import_chunk_X7QCZR3F.some)(
|
|
14198
14233
|
decls,
|
|
14199
14234
|
(decl) => decl.type === "VariableDeclarator" && decl.node.kind === "var" && !isLocal(decl)
|
|
14200
14235
|
)) {
|
|
@@ -14240,14 +14275,14 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
14240
14275
|
}
|
|
14241
14276
|
if (!copyPropCandidate.ant || // If the ref isn't anticipated, we can't propagate it
|
|
14242
14277
|
// in case it has side effects.
|
|
14243
|
-
(0,
|
|
14278
|
+
(0, import_chunk_X7QCZR3F.some)(
|
|
14244
14279
|
event2.calleeDecl,
|
|
14245
14280
|
(callee) => callee.type === "FunctionDeclaration" && inlineRequested(state, callee)
|
|
14246
14281
|
)) {
|
|
14247
14282
|
return false;
|
|
14248
14283
|
}
|
|
14249
14284
|
}
|
|
14250
|
-
if (!event2.decl || isTypeStateKey(event2.decl) && (0,
|
|
14285
|
+
if (!event2.decl || isTypeStateKey(event2.decl) && (0, import_chunk_X7QCZR3F.some)(
|
|
14251
14286
|
event2.decl,
|
|
14252
14287
|
(decl) => decl.type === "VariableDeclarator" && decl.node.kind === "var" || decl.type === "BinaryExpression" || decl.type === "Identifier"
|
|
14253
14288
|
)) {
|
|
@@ -14286,13 +14321,13 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
14286
14321
|
}
|
|
14287
14322
|
}
|
|
14288
14323
|
if (uninitClassDecls?.size) {
|
|
14289
|
-
(0,
|
|
14324
|
+
(0, import_chunk_X7QCZR3F.forEach)(
|
|
14290
14325
|
event.decl,
|
|
14291
14326
|
(decl) => uninitClassDecls.has(decl) && curState.inited?.add(decl)
|
|
14292
14327
|
);
|
|
14293
14328
|
}
|
|
14294
14329
|
if (logThisRun) {
|
|
14295
|
-
(0,
|
|
14330
|
+
(0, import_chunk_X7QCZR3F.log)(
|
|
14296
14331
|
describeEvent(event).then(
|
|
14297
14332
|
(eventStr) => ` ${eventStr} := ${display(type)}`
|
|
14298
14333
|
)
|
|
@@ -14310,7 +14345,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
14310
14345
|
);
|
|
14311
14346
|
}
|
|
14312
14347
|
if (logThisRun) {
|
|
14313
|
-
(0,
|
|
14348
|
+
(0, import_chunk_X7QCZR3F.log)(
|
|
14314
14349
|
describeEvent(event).then(
|
|
14315
14350
|
(eventStr) => ` ${eventStr} : ${!Array.isArray(event.left) && event.left.type === "MemberDecl" ? `${display(
|
|
14316
14351
|
curState.map.get(event.left.base)?.curType || {
|
|
@@ -14370,8 +14405,8 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
14370
14405
|
}
|
|
14371
14406
|
if (!successorsHandled) {
|
|
14372
14407
|
if (logThisRun) {
|
|
14373
|
-
(0,
|
|
14374
|
-
` merge to: ${(0,
|
|
14408
|
+
(0, import_chunk_X7QCZR3F.log)(
|
|
14409
|
+
` merge to: ${(0, import_chunk_X7QCZR3F.map)(
|
|
14375
14410
|
top.succs,
|
|
14376
14411
|
(succ) => succ.order || -1
|
|
14377
14412
|
).join(", ")}`
|
|
@@ -14396,7 +14431,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
14396
14431
|
(block) => block.events?.forEach((event) => {
|
|
14397
14432
|
if (event.type !== "ref")
|
|
14398
14433
|
return;
|
|
14399
|
-
(0,
|
|
14434
|
+
(0, import_chunk_X7QCZR3F.forEach)(event.decl, (decl) => {
|
|
14400
14435
|
if (decl.type === "VariableDeclarator" && decl.node.kind === "const" && (!decl.resolvedType || !hasValue(decl.resolvedType))) {
|
|
14401
14436
|
const root2 = decl.stack.at(-1)?.sn;
|
|
14402
14437
|
if (!root2 || root2.type !== "ModuleDeclaration" && root2.type !== "ClassDeclaration" && root2.type !== "Program") {
|
|
@@ -14436,17 +14471,17 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
14436
14471
|
);
|
|
14437
14472
|
printBlockTrailer(block);
|
|
14438
14473
|
});
|
|
14439
|
-
(0,
|
|
14474
|
+
(0, import_chunk_X7QCZR3F.log)("====== TypeMap =====");
|
|
14440
14475
|
typeMap.forEach((value2, key) => {
|
|
14441
|
-
(0,
|
|
14476
|
+
(0, import_chunk_X7QCZR3F.log)(
|
|
14442
14477
|
formatAstLongLines(key).then(
|
|
14443
14478
|
(keyStr) => `${keyStr} = ${display(value2)} ${key.loc && key.loc.source ? ` (${sourceLocation(key.loc)})` : ""}`
|
|
14444
14479
|
)
|
|
14445
14480
|
);
|
|
14446
14481
|
});
|
|
14447
|
-
(0,
|
|
14482
|
+
(0, import_chunk_X7QCZR3F.log)("====== EquivMap =====");
|
|
14448
14483
|
nodeEquivs.forEach((value2, key) => {
|
|
14449
|
-
(0,
|
|
14484
|
+
(0, import_chunk_X7QCZR3F.log)(
|
|
14450
14485
|
formatAstLongLines(key).then(
|
|
14451
14486
|
(keyStr) => `${keyStr} = [${value2.equiv.map(
|
|
14452
14487
|
(equiv) => tsKey(equiv)
|
|
@@ -14454,7 +14489,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
14454
14489
|
)
|
|
14455
14490
|
);
|
|
14456
14491
|
});
|
|
14457
|
-
(0,
|
|
14492
|
+
(0, import_chunk_X7QCZR3F.log)("====== Copy Prop =====");
|
|
14458
14493
|
nodeCopyProp.forEach((value2, key) => {
|
|
14459
14494
|
(0, import_node_assert3.default)(value2 !== false);
|
|
14460
14495
|
if (key.type === "VariableDeclarator" || key.type === "AssignmentExpression") {
|
|
@@ -14464,7 +14499,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
14464
14499
|
value2.type === "VariableDeclarator" && value2.init || value2.type === "AssignmentExpression"
|
|
14465
14500
|
);
|
|
14466
14501
|
const node = value2.type === "VariableDeclarator" ? value2.init : value2.right;
|
|
14467
|
-
(0,
|
|
14502
|
+
(0, import_chunk_X7QCZR3F.log)(
|
|
14468
14503
|
formatAstLongLines(key).then(
|
|
14469
14504
|
(keyStr) => formatAstLongLines(node).then(
|
|
14470
14505
|
(nodeStr) => `${keyStr} = [${nodeStr}] ${key.loc && key.loc.source ? ` (${sourceLocation(key.loc)})` : ""}`
|
|
@@ -14473,13 +14508,13 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
14473
14508
|
);
|
|
14474
14509
|
});
|
|
14475
14510
|
if (root.nodes) {
|
|
14476
|
-
root.nodes.forEach((stack, node) => (0,
|
|
14511
|
+
root.nodes.forEach((stack, node) => (0, import_chunk_X7QCZR3F.log)(formatAstLongLines(node)));
|
|
14477
14512
|
} else {
|
|
14478
|
-
(0,
|
|
14513
|
+
(0, import_chunk_X7QCZR3F.log)(formatAstLongLines(root.node));
|
|
14479
14514
|
}
|
|
14480
14515
|
if (copyPropStores) {
|
|
14481
14516
|
copyPropStores.forEach(({ ref, ant }, node) => {
|
|
14482
|
-
(0,
|
|
14517
|
+
(0, import_chunk_X7QCZR3F.log)(
|
|
14483
14518
|
formatAstLongLines(node).then(
|
|
14484
14519
|
(nodeStr) => `copy-prop-store: ${nodeStr}${ant ? "!" : ""} => ${nodeCopyProp.get(node) !== ref ? "Failed" : "Success"}`
|
|
14485
14520
|
)
|
|
@@ -14493,9 +14528,9 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
14493
14528
|
}
|
|
14494
14529
|
if (logThisRun) {
|
|
14495
14530
|
if (selfAssignments.size) {
|
|
14496
|
-
(0,
|
|
14531
|
+
(0, import_chunk_X7QCZR3F.log)("====== Self Assignments =====");
|
|
14497
14532
|
selfAssignments.forEach(
|
|
14498
|
-
(self) => (0,
|
|
14533
|
+
(self) => (0, import_chunk_X7QCZR3F.log)(
|
|
14499
14534
|
formatAstLongLines(self).then(
|
|
14500
14535
|
(selfStr) => `${selfStr} (${sourceLocation(self.loc)})`
|
|
14501
14536
|
)
|
|
@@ -14560,7 +14595,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
14560
14595
|
if (copyNode) {
|
|
14561
14596
|
if (node.type === "AssignmentExpression") {
|
|
14562
14597
|
if (logThisRun) {
|
|
14563
|
-
(0,
|
|
14598
|
+
(0, import_chunk_X7QCZR3F.log)(
|
|
14564
14599
|
formatAstLongLines(node).then(
|
|
14565
14600
|
(nodeStr) => `Killing copy-prop assignment ${nodeStr}`
|
|
14566
14601
|
)
|
|
@@ -14575,7 +14610,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
14575
14610
|
if (node.type === "VariableDeclarator") {
|
|
14576
14611
|
(0, import_node_assert3.default)(node.init);
|
|
14577
14612
|
if (logThisRun) {
|
|
14578
|
-
(0,
|
|
14613
|
+
(0, import_chunk_X7QCZR3F.log)(
|
|
14579
14614
|
formatAstLongLines(node).then(
|
|
14580
14615
|
(nodeStr) => `Killing copy-prop variable initialization ${nodeStr}`
|
|
14581
14616
|
)
|
|
@@ -14596,7 +14631,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
14596
14631
|
right: copyNode.right
|
|
14597
14632
|
};
|
|
14598
14633
|
if (logThisRun) {
|
|
14599
|
-
(0,
|
|
14634
|
+
(0, import_chunk_X7QCZR3F.log)(
|
|
14600
14635
|
formatAstLongLines(node).then(
|
|
14601
14636
|
(nodeStr) => formatAstLongLines(replacement2).then(
|
|
14602
14637
|
(repStr) => `copy-prop ${nodeStr} => ${repStr}`
|
|
@@ -14609,7 +14644,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
14609
14644
|
const init = copyNode.init;
|
|
14610
14645
|
(0, import_node_assert3.default)(init);
|
|
14611
14646
|
if (logThisRun) {
|
|
14612
|
-
(0,
|
|
14647
|
+
(0, import_chunk_X7QCZR3F.log)(
|
|
14613
14648
|
formatAstLongLines(node).then(
|
|
14614
14649
|
(nodeStr) => formatAstLongLines(init).then(
|
|
14615
14650
|
(initStr) => `copy-prop ${nodeStr} => ${initStr}`
|
|
@@ -14623,7 +14658,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
14623
14658
|
}
|
|
14624
14659
|
if (selfAssignments.has(node)) {
|
|
14625
14660
|
if (logThisRun) {
|
|
14626
|
-
(0,
|
|
14661
|
+
(0, import_chunk_X7QCZR3F.log)(
|
|
14627
14662
|
formatAstLongLines(node).then(
|
|
14628
14663
|
(nodeStr) => `Deleting self assignment: ${nodeStr} (${sourceLocation(
|
|
14629
14664
|
node.loc
|
|
@@ -14667,7 +14702,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
14667
14702
|
}, curInfo);
|
|
14668
14703
|
if (rep === curInfo)
|
|
14669
14704
|
return null;
|
|
14670
|
-
const name = (0,
|
|
14705
|
+
const name = (0, import_chunk_X7QCZR3F.reduce)(
|
|
14671
14706
|
rep.decl,
|
|
14672
14707
|
(cur, decl) => decl.type === "VariableDeclarator" ? decl.name : cur,
|
|
14673
14708
|
null
|
|
@@ -14675,7 +14710,7 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
|
|
|
14675
14710
|
if (!name)
|
|
14676
14711
|
return null;
|
|
14677
14712
|
if (logThisRun) {
|
|
14678
|
-
(0,
|
|
14713
|
+
(0, import_chunk_X7QCZR3F.log)(
|
|
14679
14714
|
formatAstLongLines(node).then(
|
|
14680
14715
|
(nodeStr) => `Replacing ${nodeStr} with ${name} at ${sourceLocation(
|
|
14681
14716
|
node.loc
|
|
@@ -14806,7 +14841,7 @@ var init_type_flow = (0, import_chunk_ABYVSU2C.__esm)({
|
|
|
14806
14841
|
init_type_flow_util();
|
|
14807
14842
|
init_types();
|
|
14808
14843
|
init_union_type();
|
|
14809
|
-
(0,
|
|
14844
|
+
(0, import_chunk_X7QCZR3F.init_util)();
|
|
14810
14845
|
logging = true;
|
|
14811
14846
|
missingNullWorkaround = true;
|
|
14812
14847
|
}
|
|
@@ -14858,9 +14893,9 @@ function minimizeLocals(state, func) {
|
|
|
14858
14893
|
if (!didMerge)
|
|
14859
14894
|
return;
|
|
14860
14895
|
if (logThisRun) {
|
|
14861
|
-
(0,
|
|
14896
|
+
(0, import_chunk_X7QCZR3F.log)(`>>> Merging locals in ${func.fullName}`);
|
|
14862
14897
|
merge.forEach(
|
|
14863
|
-
(merged) => merged.length > 1 && (0,
|
|
14898
|
+
(merged) => merged.length > 1 && (0, import_chunk_X7QCZR3F.log)(` - merging ${merged.map((k) => tsKey(k)).join(" | ")}`)
|
|
14864
14899
|
);
|
|
14865
14900
|
}
|
|
14866
14901
|
const remap = /* @__PURE__ */ new Map();
|
|
@@ -15130,7 +15165,7 @@ var init_minimize_locals = (0, import_chunk_ABYVSU2C.__esm)({
|
|
|
15130
15165
|
(0, import_chunk_JDC43A3I.init_ast)();
|
|
15131
15166
|
init_control_flow();
|
|
15132
15167
|
init_type_flow();
|
|
15133
|
-
(0,
|
|
15168
|
+
(0, import_chunk_X7QCZR3F.init_util)();
|
|
15134
15169
|
init_variable_renamer();
|
|
15135
15170
|
init_type_flow_util();
|
|
15136
15171
|
}
|
|
@@ -15141,12 +15176,12 @@ function logAntState(s, decl) {
|
|
|
15141
15176
|
defs2++;
|
|
15142
15177
|
return defs2;
|
|
15143
15178
|
}, 0);
|
|
15144
|
-
(0,
|
|
15179
|
+
(0, import_chunk_X7QCZR3F.log)(
|
|
15145
15180
|
declFullName(decl).then(
|
|
15146
15181
|
(declStr) => ` - ${declStr}: ${candidateCost(s)} bytes, ${s.ant.size - defs} refs, ${defs} defs, ${s.live ? "" : "!"}live, ${s.isIsolated ? "" : "!"}isolated`
|
|
15147
15182
|
)
|
|
15148
15183
|
);
|
|
15149
|
-
(0,
|
|
15184
|
+
(0, import_chunk_X7QCZR3F.log)(
|
|
15150
15185
|
` - members: ${Array.from(s.members).map(([block, live]) => block.order + (live ? "t" : "f")).join(", ")}`
|
|
15151
15186
|
);
|
|
15152
15187
|
}
|
|
@@ -15163,7 +15198,7 @@ async function sizeBasedPRE(state, func) {
|
|
|
15163
15198
|
const candidates = computeAttributes(state, head);
|
|
15164
15199
|
if (candidates) {
|
|
15165
15200
|
if (logging2) {
|
|
15166
|
-
(0,
|
|
15201
|
+
(0, import_chunk_X7QCZR3F.log)(`Found ${candidates.size} candidates in ${func.fullName}`);
|
|
15167
15202
|
logAntDecls(candidates);
|
|
15168
15203
|
}
|
|
15169
15204
|
const nodeMap = /* @__PURE__ */ new Map();
|
|
@@ -15256,7 +15291,7 @@ function buildPREGraph(state, func) {
|
|
|
15256
15291
|
const event = block.events[i];
|
|
15257
15292
|
switch (event.type) {
|
|
15258
15293
|
case "ref":
|
|
15259
|
-
if ((0,
|
|
15294
|
+
if ((0, import_chunk_X7QCZR3F.some)(
|
|
15260
15295
|
event.decl,
|
|
15261
15296
|
(decl) => decl.type === "Literal" || decl.type === "VariableDeclarator" && decl.node.kind === "const"
|
|
15262
15297
|
)) {
|
|
@@ -15274,7 +15309,7 @@ function buildPREGraph(state, func) {
|
|
|
15274
15309
|
defs.add(event.decl);
|
|
15275
15310
|
break;
|
|
15276
15311
|
case "mod":
|
|
15277
|
-
if (event.callees && (0,
|
|
15312
|
+
if (event.callees && (0, import_chunk_X7QCZR3F.every)(event.callees, (callee) => callee.info === false)) {
|
|
15278
15313
|
block.events.splice(i, 1);
|
|
15279
15314
|
break;
|
|
15280
15315
|
}
|
|
@@ -15433,21 +15468,21 @@ function computeAttributes(state, head) {
|
|
|
15433
15468
|
});
|
|
15434
15469
|
if (logging2) {
|
|
15435
15470
|
order.forEach((block) => {
|
|
15436
|
-
(0,
|
|
15471
|
+
(0, import_chunk_X7QCZR3F.log)(
|
|
15437
15472
|
block.order,
|
|
15438
15473
|
`(${block.node ? block.node.loc?.start.line : "??"})`,
|
|
15439
15474
|
`Preds: ${(block.preds || []).map((block2) => block2.order).join(", ")}`
|
|
15440
15475
|
);
|
|
15441
15476
|
if (block.events) {
|
|
15442
15477
|
block.events.forEach(
|
|
15443
|
-
(event) => event.type !== "exn" && (0,
|
|
15478
|
+
(event) => event.type !== "exn" && (0, import_chunk_X7QCZR3F.log)(
|
|
15444
15479
|
Promise.resolve(
|
|
15445
15480
|
event.decl ? declFullName(event.decl) : event.node ? formatAstLongLines(event.node) : "??"
|
|
15446
15481
|
).then((eventDetails) => ` ${event.type}: ${eventDetails}`)
|
|
15447
15482
|
)
|
|
15448
15483
|
);
|
|
15449
15484
|
}
|
|
15450
|
-
(0,
|
|
15485
|
+
(0, import_chunk_X7QCZR3F.log)(
|
|
15451
15486
|
`Succs: ${(block.succs || []).map((block2) => block2.order).join(", ")} ExSucc: ${block.exsucc ? block.exsucc.order : ""}`
|
|
15452
15487
|
);
|
|
15453
15488
|
});
|
|
@@ -15515,7 +15550,7 @@ function computeAttributes(state, head) {
|
|
|
15515
15550
|
}
|
|
15516
15551
|
case "mod": {
|
|
15517
15552
|
curState.forEach((candidates, decls) => {
|
|
15518
|
-
if ((0,
|
|
15553
|
+
if ((0, import_chunk_X7QCZR3F.some)(
|
|
15519
15554
|
decls,
|
|
15520
15555
|
(decl) => decl.type === "VariableDeclarator" && decl.node.kind === "var" && candidates.live && (!event.callees || event.callees.some(
|
|
15521
15556
|
(callee) => functionMayModify(state, callee, decl)
|
|
@@ -15557,7 +15592,7 @@ function computeAttributes(state, head) {
|
|
|
15557
15592
|
}
|
|
15558
15593
|
blockStates[top.order] = curState;
|
|
15559
15594
|
if (logging2) {
|
|
15560
|
-
(0,
|
|
15595
|
+
(0, import_chunk_X7QCZR3F.log)(`Updated block ${top.order}`);
|
|
15561
15596
|
logAntDecls(curState);
|
|
15562
15597
|
}
|
|
15563
15598
|
if (top.preds) {
|
|
@@ -15659,7 +15694,7 @@ function applyReplacements(func, nodeMap, declMap) {
|
|
|
15659
15694
|
}
|
|
15660
15695
|
const name = declMap.get(event.decl);
|
|
15661
15696
|
if (!name) {
|
|
15662
|
-
throw new
|
|
15697
|
+
throw new import_chunk_X7QCZR3F.AwaitedError(
|
|
15663
15698
|
formatAstLongLines(node).then(
|
|
15664
15699
|
(targetStr) => `No replacement found for "${targetStr}"`
|
|
15665
15700
|
)
|
|
@@ -15681,7 +15716,7 @@ function applyReplacements(func, nodeMap, declMap) {
|
|
|
15681
15716
|
const target = node.type === "AssignmentExpression" ? node.left : node.argument;
|
|
15682
15717
|
const name = declMap.get(event.decl);
|
|
15683
15718
|
if (!name) {
|
|
15684
|
-
throw new
|
|
15719
|
+
throw new import_chunk_X7QCZR3F.AwaitedError(
|
|
15685
15720
|
formatAstLongLines(target).then(
|
|
15686
15721
|
(targetStr) => `No replacement found for "${targetStr}"`
|
|
15687
15722
|
)
|
|
@@ -15744,14 +15779,14 @@ function applyReplacements(func, nodeMap, declMap) {
|
|
|
15744
15779
|
const decl = event.decl;
|
|
15745
15780
|
const name = declMap.get(decl);
|
|
15746
15781
|
if (!name) {
|
|
15747
|
-
throw new
|
|
15782
|
+
throw new import_chunk_X7QCZR3F.AwaitedError(
|
|
15748
15783
|
declFullName(decl).then(
|
|
15749
15784
|
(declStr) => `No replacement found for "${declStr}"`
|
|
15750
15785
|
)
|
|
15751
15786
|
);
|
|
15752
15787
|
}
|
|
15753
15788
|
if (!event.id) {
|
|
15754
|
-
throw new
|
|
15789
|
+
throw new import_chunk_X7QCZR3F.AwaitedError(
|
|
15755
15790
|
declFullName(decl).then(
|
|
15756
15791
|
(declStr) => `Missing id for mod event for "${declStr}"`
|
|
15757
15792
|
)
|
|
@@ -15816,7 +15851,7 @@ var init_pre = (0, import_chunk_ABYVSU2C.__esm)({
|
|
|
15816
15851
|
init_data_flow();
|
|
15817
15852
|
init_function_info();
|
|
15818
15853
|
init_minimize_locals();
|
|
15819
|
-
(0,
|
|
15854
|
+
(0, import_chunk_X7QCZR3F.init_util)();
|
|
15820
15855
|
logging2 = false;
|
|
15821
15856
|
LocalRefCost = 2;
|
|
15822
15857
|
}
|
|
@@ -16188,7 +16223,7 @@ function beforeEvaluate(istate, node) {
|
|
|
16188
16223
|
break;
|
|
16189
16224
|
}
|
|
16190
16225
|
const id = node.right.argument;
|
|
16191
|
-
if ((0,
|
|
16226
|
+
if ((0, import_chunk_X7QCZR3F.every)(left.value.value, (m) => {
|
|
16192
16227
|
if ((0, import_chunk_JDC43A3I.hasProperty)(m.decls, id.name))
|
|
16193
16228
|
return false;
|
|
16194
16229
|
return istate.state.lookup({
|
|
@@ -16634,7 +16669,7 @@ var init_optimize = (0, import_chunk_ABYVSU2C.__esm)({
|
|
|
16634
16669
|
(0, import_chunk_JDC43A3I.init_ast)();
|
|
16635
16670
|
init_inliner();
|
|
16636
16671
|
init_type_flow();
|
|
16637
|
-
(0,
|
|
16672
|
+
(0, import_chunk_X7QCZR3F.init_util)();
|
|
16638
16673
|
init_interp();
|
|
16639
16674
|
init_interp_binary();
|
|
16640
16675
|
init_types();
|
|
@@ -17221,11 +17256,11 @@ function markFunctionCalled(state, func) {
|
|
|
17221
17256
|
state.calledFunctions[func.id.name] = [func];
|
|
17222
17257
|
return;
|
|
17223
17258
|
}
|
|
17224
|
-
(0,
|
|
17259
|
+
(0, import_chunk_X7QCZR3F.pushUnique)(state.calledFunctions[func.id.name], func);
|
|
17225
17260
|
}
|
|
17226
17261
|
function optimizeMonkeyC(fnMap, resourcesMap, manifestXML, config) {
|
|
17227
17262
|
return optimizeMonkeyCHelper(fnMap, resourcesMap, manifestXML, config).catch(
|
|
17228
|
-
(ex) => Promise.reject(ex instanceof
|
|
17263
|
+
(ex) => Promise.reject(ex instanceof import_chunk_X7QCZR3F.AwaitedError ? ex.resolve() : ex)
|
|
17229
17264
|
);
|
|
17230
17265
|
}
|
|
17231
17266
|
async function optimizeMonkeyCHelper(fnMap, resourcesMap, manifestXML, config) {
|
|
@@ -17993,7 +18028,7 @@ var init_mc_rewrite = (0, import_chunk_ABYVSU2C.__esm)({
|
|
|
17993
18028
|
init_sub_type();
|
|
17994
18029
|
init_types();
|
|
17995
18030
|
init_unused_exprs();
|
|
17996
|
-
(0,
|
|
18031
|
+
(0, import_chunk_X7QCZR3F.init_util)();
|
|
17997
18032
|
init_variable_renamer();
|
|
17998
18033
|
}
|
|
17999
18034
|
});
|
|
@@ -18972,7 +19007,7 @@ async function getApiMapping(state, resourcesMap, manifestXML) {
|
|
|
18972
19007
|
throw `Negative constant ${fixup} was not a Literal`;
|
|
18973
19008
|
}
|
|
18974
19009
|
if (typeof init.value !== "number") {
|
|
18975
|
-
(0,
|
|
19010
|
+
(0, import_chunk_X7QCZR3F.log)(`Negative fixup ${fixup} was not a number!`);
|
|
18976
19011
|
} else if (init.value > 0) {
|
|
18977
19012
|
init.value = -init.value;
|
|
18978
19013
|
init.raw = "-" + init.raw;
|
|
@@ -19062,11 +19097,11 @@ function sameStateNodeDecl(a, b) {
|
|
|
19062
19097
|
function sameLookupDefinition(a, b) {
|
|
19063
19098
|
return (
|
|
19064
19099
|
// sameStateNodeDecl(a.parent, b.parent) &&
|
|
19065
|
-
(0,
|
|
19100
|
+
(0, import_chunk_X7QCZR3F.sameArrays)(a.results, b.results, (ar, br) => sameStateNodeDecl(ar, br))
|
|
19066
19101
|
);
|
|
19067
19102
|
}
|
|
19068
19103
|
function sameLookupResult(a, b) {
|
|
19069
|
-
return (0,
|
|
19104
|
+
return (0, import_chunk_X7QCZR3F.sameArrays)(a, b, sameLookupDefinition);
|
|
19070
19105
|
}
|
|
19071
19106
|
function declKey(decl) {
|
|
19072
19107
|
return isStateNode(decl) ? decl.type === "ModuleDeclaration" ? decl.fullName : decl.node : decl;
|
|
@@ -19655,7 +19690,7 @@ function stateFuncs() {
|
|
|
19655
19690
|
if (!(0, import_chunk_JDC43A3I.hasProperty)(this.index, name)) {
|
|
19656
19691
|
this.index[name] = [];
|
|
19657
19692
|
}
|
|
19658
|
-
(0,
|
|
19693
|
+
(0, import_chunk_X7QCZR3F.pushUnique)(this.index[name], parent);
|
|
19659
19694
|
}
|
|
19660
19695
|
});
|
|
19661
19696
|
break;
|
|
@@ -19710,7 +19745,7 @@ function stateFuncs() {
|
|
|
19710
19745
|
if (!(0, import_chunk_JDC43A3I.hasProperty)(values, name)) {
|
|
19711
19746
|
values[name] = [];
|
|
19712
19747
|
}
|
|
19713
|
-
if ((0,
|
|
19748
|
+
if ((0, import_chunk_X7QCZR3F.pushUnique)(values[name], m) && currentEnum) {
|
|
19714
19749
|
if (!this.enumMap)
|
|
19715
19750
|
this.enumMap = /* @__PURE__ */ new Map();
|
|
19716
19751
|
this.enumMap.set(m, currentEnum);
|
|
@@ -19718,7 +19753,7 @@ function stateFuncs() {
|
|
|
19718
19753
|
if (!(0, import_chunk_JDC43A3I.hasProperty)(this.index, name)) {
|
|
19719
19754
|
this.index[name] = [];
|
|
19720
19755
|
}
|
|
19721
|
-
(0,
|
|
19756
|
+
(0, import_chunk_X7QCZR3F.pushUnique)(this.index[name], parent);
|
|
19722
19757
|
});
|
|
19723
19758
|
break;
|
|
19724
19759
|
}
|
|
@@ -20249,7 +20284,7 @@ var init_api = (0, import_chunk_ABYVSU2C.__esm)({
|
|
|
20249
20284
|
init_sdk_util();
|
|
20250
20285
|
init_type_flow_util();
|
|
20251
20286
|
init_types();
|
|
20252
|
-
(0,
|
|
20287
|
+
(0, import_chunk_X7QCZR3F.init_util)();
|
|
20253
20288
|
init_visitor();
|
|
20254
20289
|
}
|
|
20255
20290
|
});
|
|
@@ -20333,7 +20368,7 @@ function buildDataFlowGraph(state, root, wantsLiteral, trackInsertionPoints, wan
|
|
|
20333
20368
|
return decls;
|
|
20334
20369
|
}
|
|
20335
20370
|
if (canon.length !== decls.length || !canon.every((v, i) => v === decls[i])) {
|
|
20336
|
-
throw new
|
|
20371
|
+
throw new import_chunk_X7QCZR3F.AwaitedError(
|
|
20337
20372
|
declFullName(canon).then(
|
|
20338
20373
|
(canonStr) => `Canonical representation of ${canonStr} did not match`
|
|
20339
20374
|
)
|
|
@@ -20367,7 +20402,7 @@ function buildDataFlowGraph(state, root, wantsLiteral, trackInsertionPoints, wan
|
|
|
20367
20402
|
}
|
|
20368
20403
|
const decl = lookupDefToDecl(results);
|
|
20369
20404
|
if (decl && path7.length) {
|
|
20370
|
-
if (wantsAllRefs && (0,
|
|
20405
|
+
if (wantsAllRefs && (0, import_chunk_X7QCZR3F.every)(
|
|
20371
20406
|
decl,
|
|
20372
20407
|
(d) => d.type === "VariableDeclarator" || d.type === "BinaryExpression" || d.type === "Identifier"
|
|
20373
20408
|
)) {
|
|
@@ -20419,7 +20454,7 @@ function buildDataFlowGraph(state, root, wantsLiteral, trackInsertionPoints, wan
|
|
|
20419
20454
|
}
|
|
20420
20455
|
const v = liveDefs.get(def);
|
|
20421
20456
|
if (!v || !v.has(node)) {
|
|
20422
|
-
throw new
|
|
20457
|
+
throw new import_chunk_X7QCZR3F.AwaitedError(
|
|
20423
20458
|
Promise.resolve(def ? declFullName(def) : "null").then(
|
|
20424
20459
|
(defStr) => `No stmt in liveDef for ${defStr}`
|
|
20425
20460
|
)
|
|
@@ -20491,7 +20526,7 @@ function buildDataFlowGraph(state, root, wantsLiteral, trackInsertionPoints, wan
|
|
|
20491
20526
|
const decls = findDecl(node);
|
|
20492
20527
|
if (!decls)
|
|
20493
20528
|
break;
|
|
20494
|
-
if (trackInsertionPoints && (0,
|
|
20529
|
+
if (trackInsertionPoints && (0, import_chunk_X7QCZR3F.some)(decls, (decl) => {
|
|
20495
20530
|
if (decl.type === "VariableDeclarator") {
|
|
20496
20531
|
const defStmts = decl.node.kind === "var" && liveDefs.get(null) || liveDefs.get(decl);
|
|
20497
20532
|
if (defStmts) {
|
|
@@ -20758,8 +20793,8 @@ var init_data_flow = (0, import_chunk_ABYVSU2C.__esm)({
|
|
|
20758
20793
|
init_control_flow();
|
|
20759
20794
|
init_function_info();
|
|
20760
20795
|
init_type_flow_util();
|
|
20761
|
-
(0,
|
|
20762
|
-
DataflowQueue = class extends
|
|
20796
|
+
(0, import_chunk_X7QCZR3F.init_util)();
|
|
20797
|
+
DataflowQueue = class extends import_chunk_X7QCZR3F.GenericQueue {
|
|
20763
20798
|
constructor() {
|
|
20764
20799
|
super((b, a) => (a.order || 0) - (b.order || 0));
|
|
20765
20800
|
}
|
|
@@ -21554,7 +21589,7 @@ function computeJsrMap(func) {
|
|
|
21554
21589
|
}
|
|
21555
21590
|
function postOrderPropagate(func, preBlock, processBc, postBlock, merge) {
|
|
21556
21591
|
const order = /* @__PURE__ */ new Map();
|
|
21557
|
-
const queue = new
|
|
21592
|
+
const queue = new import_chunk_X7QCZR3F.GenericQueue(
|
|
21558
21593
|
(b, a) => order.get(a) - order.get(b)
|
|
21559
21594
|
);
|
|
21560
21595
|
postOrderTraverse2(func, (block) => {
|
|
@@ -21613,7 +21648,7 @@ function rpoPropagate(func, preBlock, processBc, postBlock, merge) {
|
|
|
21613
21648
|
});
|
|
21614
21649
|
blocks.reverse().forEach((block, i) => order.set(block, i));
|
|
21615
21650
|
}
|
|
21616
|
-
const queue = new
|
|
21651
|
+
const queue = new import_chunk_X7QCZR3F.GenericQueue(
|
|
21617
21652
|
(b, a) => order.get(a) - order.get(b)
|
|
21618
21653
|
);
|
|
21619
21654
|
queue.enqueue(func.blocks.get(func.offset));
|
|
@@ -21667,7 +21702,7 @@ function rpoPropagate(func, preBlock, processBc, postBlock, merge) {
|
|
|
21667
21702
|
var init_cflow = (0, import_chunk_ABYVSU2C.__esm)({
|
|
21668
21703
|
"src/readprg/cflow.ts"() {
|
|
21669
21704
|
"use strict";
|
|
21670
|
-
(0,
|
|
21705
|
+
(0, import_chunk_X7QCZR3F.init_util)();
|
|
21671
21706
|
init_opcodes();
|
|
21672
21707
|
}
|
|
21673
21708
|
});
|
|
@@ -22130,12 +22165,12 @@ function interpFunc(func, context) {
|
|
|
22130
22165
|
const selfStores = /* @__PURE__ */ new Set();
|
|
22131
22166
|
const liveInState = /* @__PURE__ */ new Map();
|
|
22132
22167
|
const replacements = /* @__PURE__ */ new Map();
|
|
22133
|
-
const interpLogging = (0,
|
|
22168
|
+
const interpLogging = (0, import_chunk_X7QCZR3F.wouldLog)("interp", 1);
|
|
22134
22169
|
if (interpLogging) {
|
|
22135
|
-
if ((0,
|
|
22136
|
-
(0,
|
|
22137
|
-
} else if ((0,
|
|
22138
|
-
(0,
|
|
22170
|
+
if ((0, import_chunk_X7QCZR3F.wouldLog)("interp", 7)) {
|
|
22171
|
+
(0, import_chunk_X7QCZR3F.setBanner)(functionBanner(func, context, "interp"));
|
|
22172
|
+
} else if ((0, import_chunk_X7QCZR3F.wouldLog)("interp", 3)) {
|
|
22173
|
+
(0, import_chunk_X7QCZR3F.setBanner)(
|
|
22139
22174
|
() => `+++++++++++++ interp-prepare ${func.name} ++++++++++++++`
|
|
22140
22175
|
);
|
|
22141
22176
|
}
|
|
@@ -22169,20 +22204,20 @@ function interpFunc(func, context) {
|
|
|
22169
22204
|
func,
|
|
22170
22205
|
(block) => {
|
|
22171
22206
|
if (interpLogging) {
|
|
22172
|
-
(0,
|
|
22207
|
+
(0, import_chunk_X7QCZR3F.logger)(
|
|
22173
22208
|
"interp",
|
|
22174
22209
|
3,
|
|
22175
22210
|
`${offsetToString(block.offset)}: ${block.bytecodes[0]?.lineNum ? lineInfoToString(block.bytecodes[0]?.lineNum, context) : ""}
|
|
22176
22211
|
${interpStateToString(liveInState.get(block.offset))}`
|
|
22177
22212
|
);
|
|
22178
|
-
(0,
|
|
22213
|
+
(0, import_chunk_X7QCZR3F.logger)("interp", 9, () => blockToString(block, context));
|
|
22179
22214
|
}
|
|
22180
22215
|
return cloneState2(liveInState.get(block.offset));
|
|
22181
22216
|
},
|
|
22182
22217
|
(block, bc, localState) => {
|
|
22183
22218
|
if (interpLogging) {
|
|
22184
|
-
if ((0,
|
|
22185
|
-
(0,
|
|
22219
|
+
if ((0, import_chunk_X7QCZR3F.wouldLog)("interp", 8)) {
|
|
22220
|
+
(0, import_chunk_X7QCZR3F.log)(
|
|
22186
22221
|
`${interpStateToString(localState)}
|
|
22187
22222
|
${bytecodeToString(
|
|
22188
22223
|
bc,
|
|
@@ -22347,14 +22382,14 @@ function interpFunc(func, context) {
|
|
|
22347
22382
|
if (!mergeInto(localState, succState))
|
|
22348
22383
|
return false;
|
|
22349
22384
|
if (interpLogging) {
|
|
22350
|
-
(0,
|
|
22385
|
+
(0, import_chunk_X7QCZR3F.logger)("interp", 3, `Re-Merge to ${offsetToString(succBlock.offset)}`);
|
|
22351
22386
|
}
|
|
22352
22387
|
return true;
|
|
22353
22388
|
}
|
|
22354
22389
|
);
|
|
22355
22390
|
if (interpLogging) {
|
|
22356
|
-
if ((0,
|
|
22357
|
-
(0,
|
|
22391
|
+
if ((0, import_chunk_X7QCZR3F.wouldLog)("interp", 5)) {
|
|
22392
|
+
(0, import_chunk_X7QCZR3F.setBanner)(
|
|
22358
22393
|
functionBanner(func, context, "interp", (block, footer) => {
|
|
22359
22394
|
if (footer)
|
|
22360
22395
|
return "";
|
|
@@ -22362,44 +22397,44 @@ function interpFunc(func, context) {
|
|
|
22362
22397
|
})
|
|
22363
22398
|
);
|
|
22364
22399
|
} else {
|
|
22365
|
-
(0,
|
|
22400
|
+
(0, import_chunk_X7QCZR3F.setBanner)(() => `=============== interp ${func.name} ==============`);
|
|
22366
22401
|
}
|
|
22367
22402
|
if (equivSets.size) {
|
|
22368
|
-
(0,
|
|
22403
|
+
(0, import_chunk_X7QCZR3F.log)(`====== equivSets =====`);
|
|
22369
22404
|
equivSets.forEach(
|
|
22370
|
-
(value2, key) => (0,
|
|
22405
|
+
(value2, key) => (0, import_chunk_X7QCZR3F.log)(
|
|
22371
22406
|
`L${key.arg} === ${Array.from(value2).sort().join(" ")} ${key.lineNum ? lineInfoToString(key.lineNum, context) : ""}`
|
|
22372
22407
|
)
|
|
22373
22408
|
);
|
|
22374
22409
|
}
|
|
22375
22410
|
if (selfStores.size) {
|
|
22376
|
-
(0,
|
|
22411
|
+
(0, import_chunk_X7QCZR3F.log)(`====== selfStores =====`);
|
|
22377
22412
|
selfStores.forEach(
|
|
22378
|
-
(value2) => (0,
|
|
22413
|
+
(value2) => (0, import_chunk_X7QCZR3F.log)(`${bytecodeToString(value2, symbolTable)}`)
|
|
22379
22414
|
);
|
|
22380
22415
|
}
|
|
22381
22416
|
if (replacements.size) {
|
|
22382
|
-
(0,
|
|
22417
|
+
(0, import_chunk_X7QCZR3F.log)(`====== replacements =====`);
|
|
22383
22418
|
replacements.forEach(
|
|
22384
22419
|
(blockRep) => blockRep.forEach(
|
|
22385
|
-
(rep, bc) => (0,
|
|
22420
|
+
(rep, bc) => (0, import_chunk_X7QCZR3F.log)(
|
|
22386
22421
|
`${bytecodeToString(bc, symbolTable)} => ${rep.invert ? "~" : ""}${bytecodeToString(rep, symbolTable)} ${bc.lineNum ? lineInfoToString(bc.lineNum, context) : ""}`
|
|
22387
22422
|
)
|
|
22388
22423
|
)
|
|
22389
22424
|
);
|
|
22390
22425
|
}
|
|
22391
22426
|
if (resolvedBranches.size) {
|
|
22392
|
-
(0,
|
|
22427
|
+
(0, import_chunk_X7QCZR3F.log)(`====== resolved branches =====`);
|
|
22393
22428
|
resolvedBranches.forEach(
|
|
22394
|
-
(isTaken, block) => (0,
|
|
22429
|
+
(isTaken, block) => (0, import_chunk_X7QCZR3F.log)(
|
|
22395
22430
|
`block ${offsetToString(block.offset)} is ${isTaken ? "always" : "never"} taken`
|
|
22396
22431
|
)
|
|
22397
22432
|
);
|
|
22398
22433
|
}
|
|
22399
22434
|
if (branchRedirects.size) {
|
|
22400
|
-
(0,
|
|
22435
|
+
(0, import_chunk_X7QCZR3F.log)(`====== redirected branches =====`);
|
|
22401
22436
|
branchRedirects.forEach(
|
|
22402
|
-
({ to, from }, block) => (0,
|
|
22437
|
+
({ to, from }, block) => (0, import_chunk_X7QCZR3F.log)(
|
|
22403
22438
|
`block ${offsetToString(
|
|
22404
22439
|
block.offset
|
|
22405
22440
|
)} redirects from ${offsetToString(from)} to ${offsetToString(to)}${safeBranchBlocks.get(from) ? ` popping ${safeBranchBlocks.get(from)}` : ""}`
|
|
@@ -22462,7 +22497,7 @@ function interpFunc(func, context) {
|
|
|
22462
22497
|
}
|
|
22463
22498
|
});
|
|
22464
22499
|
if (interpLogging)
|
|
22465
|
-
(0,
|
|
22500
|
+
(0, import_chunk_X7QCZR3F.setBanner)(null);
|
|
22466
22501
|
return {
|
|
22467
22502
|
liveInState,
|
|
22468
22503
|
equivSets,
|
|
@@ -22512,7 +22547,7 @@ var init_interp2 = (0, import_chunk_ABYVSU2C.__esm)({
|
|
|
22512
22547
|
"src/readprg/interp.ts"() {
|
|
22513
22548
|
"use strict";
|
|
22514
22549
|
init_interp_binary();
|
|
22515
|
-
(0,
|
|
22550
|
+
(0, import_chunk_X7QCZR3F.init_logger)();
|
|
22516
22551
|
init_interp();
|
|
22517
22552
|
init_types();
|
|
22518
22553
|
init_union_type();
|
|
@@ -22624,7 +22659,7 @@ function optimizeArrayInit(func, block, index, context, interpState) {
|
|
|
22624
22659
|
i = found;
|
|
22625
22660
|
}
|
|
22626
22661
|
if (initType && (block.bytecodes[index].op === 20 ? initType.type === 1 : initType.type === 8 && initType.value === 0)) {
|
|
22627
|
-
(0,
|
|
22662
|
+
(0, import_chunk_X7QCZR3F.logger)(
|
|
22628
22663
|
"array-init",
|
|
22629
22664
|
1,
|
|
22630
22665
|
() => `${func.name}: Removing initialization of default initialized ${putvStarts.length} element array init at block ${offsetToString(
|
|
@@ -22661,7 +22696,7 @@ function optimizeArrayInit(func, block, index, context, interpState) {
|
|
|
22661
22696
|
convertAputv(offset - 1);
|
|
22662
22697
|
}
|
|
22663
22698
|
}
|
|
22664
|
-
(0,
|
|
22699
|
+
(0, import_chunk_X7QCZR3F.logger)(
|
|
22665
22700
|
"array-init",
|
|
22666
22701
|
1,
|
|
22667
22702
|
() => `${func.name}: Optimizing unused ${putvStarts.length} element array init at block ${offsetToString(
|
|
@@ -22670,8 +22705,8 @@ function optimizeArrayInit(func, block, index, context, interpState) {
|
|
|
22670
22705
|
block.bytecodes[index].offset
|
|
22671
22706
|
)}`
|
|
22672
22707
|
);
|
|
22673
|
-
if ((0,
|
|
22674
|
-
(0,
|
|
22708
|
+
if ((0, import_chunk_X7QCZR3F.wouldLog)("array-init", 5)) {
|
|
22709
|
+
(0, import_chunk_X7QCZR3F.log)(blockToString(block, context));
|
|
22675
22710
|
}
|
|
22676
22711
|
return true;
|
|
22677
22712
|
}
|
|
@@ -22711,7 +22746,7 @@ function optimizeArrayInit(func, block, index, context, interpState) {
|
|
|
22711
22746
|
if (putvStarts.length < 3)
|
|
22712
22747
|
return false;
|
|
22713
22748
|
tryLocal(3);
|
|
22714
|
-
(0,
|
|
22749
|
+
(0, import_chunk_X7QCZR3F.logger)(
|
|
22715
22750
|
"array-init",
|
|
22716
22751
|
1,
|
|
22717
22752
|
() => `${func.name}: Optimizing ${putvStarts.length} element array init with constant initializer ${bytecodeToString(
|
|
@@ -22737,7 +22772,7 @@ function optimizeArrayInit(func, block, index, context, interpState) {
|
|
|
22737
22772
|
block.bytecodes[index + 1].arg = putvStarts.length;
|
|
22738
22773
|
}
|
|
22739
22774
|
}
|
|
22740
|
-
(0,
|
|
22775
|
+
(0, import_chunk_X7QCZR3F.logger)(
|
|
22741
22776
|
"array-init",
|
|
22742
22777
|
5,
|
|
22743
22778
|
() => `index: ${index}, i: ${i}
|
|
@@ -22790,7 +22825,7 @@ ${blockToString(block, context)}`
|
|
|
22790
22825
|
for (let i2 = putvStarts.length; i2-- > 1; ) {
|
|
22791
22826
|
block.bytecodes.splice(putvStarts[i2], 2);
|
|
22792
22827
|
}
|
|
22793
|
-
(0,
|
|
22828
|
+
(0, import_chunk_X7QCZR3F.logger)(
|
|
22794
22829
|
"array-init",
|
|
22795
22830
|
1,
|
|
22796
22831
|
() => `${func.name}: Optimizing ${putvStarts.length} element array init at block ${offsetToString(
|
|
@@ -22849,15 +22884,15 @@ var init_array_init = (0, import_chunk_ABYVSU2C.__esm)({
|
|
|
22849
22884
|
"src/readprg/array-init.ts"() {
|
|
22850
22885
|
"use strict";
|
|
22851
22886
|
init_types();
|
|
22852
|
-
(0,
|
|
22887
|
+
(0, import_chunk_X7QCZR3F.init_util)();
|
|
22853
22888
|
init_bytecode();
|
|
22854
22889
|
init_interp2();
|
|
22855
22890
|
init_opcodes();
|
|
22856
22891
|
}
|
|
22857
22892
|
});
|
|
22858
22893
|
function localDCE(func, context) {
|
|
22859
|
-
if ((0,
|
|
22860
|
-
(0,
|
|
22894
|
+
if ((0, import_chunk_X7QCZR3F.wouldLog)("dce", 5)) {
|
|
22895
|
+
(0, import_chunk_X7QCZR3F.setBanner)(
|
|
22861
22896
|
functionBanner(
|
|
22862
22897
|
func,
|
|
22863
22898
|
context,
|
|
@@ -22890,7 +22925,7 @@ function localDCE(func, context) {
|
|
|
22890
22925
|
};
|
|
22891
22926
|
func.blocks.forEach((block) => {
|
|
22892
22927
|
const reportPopv = (i, item, kill) => {
|
|
22893
|
-
(0,
|
|
22928
|
+
(0, import_chunk_X7QCZR3F.logger)(
|
|
22894
22929
|
"dce",
|
|
22895
22930
|
2,
|
|
22896
22931
|
() => `${func.name}: Convert ${i}:${bytecodeToString(
|
|
@@ -22905,7 +22940,7 @@ function localDCE(func, context) {
|
|
|
22905
22940
|
);
|
|
22906
22941
|
};
|
|
22907
22942
|
const reportNop = (item) => {
|
|
22908
|
-
(0,
|
|
22943
|
+
(0, import_chunk_X7QCZR3F.logger)(
|
|
22909
22944
|
"dce",
|
|
22910
22945
|
2,
|
|
22911
22946
|
() => `${func.name}: Kill ${item.deps.map(
|
|
@@ -22924,7 +22959,7 @@ function localDCE(func, context) {
|
|
|
22924
22959
|
case 19: {
|
|
22925
22960
|
const liveLocal = dceInfo.locals.has(bytecode.arg);
|
|
22926
22961
|
if (!liveLocal && (bytecode.arg || context.config.allowForbiddenOpts)) {
|
|
22927
|
-
(0,
|
|
22962
|
+
(0, import_chunk_X7QCZR3F.logger)(
|
|
22928
22963
|
"dce",
|
|
22929
22964
|
2,
|
|
22930
22965
|
() => `${func.name}: Killing store to unused local ${bytecode.arg} at ${offsetToString(block.offset)}:${i}`
|
|
@@ -23084,10 +23119,10 @@ function localDCE(func, context) {
|
|
|
23084
23119
|
(bc) => bc.op !== 0
|
|
23085
23120
|
/* nop */
|
|
23086
23121
|
);
|
|
23087
|
-
(0,
|
|
23122
|
+
(0, import_chunk_X7QCZR3F.logger)("dce", 3, functionBanner(func, context, "local-dce-end"));
|
|
23088
23123
|
}
|
|
23089
23124
|
});
|
|
23090
|
-
(0,
|
|
23125
|
+
(0, import_chunk_X7QCZR3F.setBanner)(null);
|
|
23091
23126
|
return anyChanges;
|
|
23092
23127
|
}
|
|
23093
23128
|
function computeLiveLocals(func) {
|
|
@@ -23138,7 +23173,7 @@ var init_dce = (0, import_chunk_ABYVSU2C.__esm)({
|
|
|
23138
23173
|
"src/readprg/dce.ts"() {
|
|
23139
23174
|
"use strict";
|
|
23140
23175
|
init_data_flow();
|
|
23141
|
-
(0,
|
|
23176
|
+
(0, import_chunk_X7QCZR3F.init_util)();
|
|
23142
23177
|
init_bytecode();
|
|
23143
23178
|
init_cflow();
|
|
23144
23179
|
init_opcodes();
|
|
@@ -23178,7 +23213,7 @@ function minimizeLocals2(func, equivSets, context) {
|
|
|
23178
23213
|
const splitRanges = computeSplitRanges(func, equivSets);
|
|
23179
23214
|
const locals = mergeSplitRanges(splitRanges);
|
|
23180
23215
|
const numLocals = Math.max(...Array.from(splitRanges.keys())) + 1;
|
|
23181
|
-
(0,
|
|
23216
|
+
(0, import_chunk_X7QCZR3F.logger)("locals", 10, functionBanner(func, context, "Minimize Locals"));
|
|
23182
23217
|
let argc = func.argc ?? null;
|
|
23183
23218
|
const colors = /* @__PURE__ */ new Map();
|
|
23184
23219
|
const merge = [];
|
|
@@ -23245,15 +23280,15 @@ function minimizeLocals2(func, equivSets, context) {
|
|
|
23245
23280
|
}
|
|
23246
23281
|
}
|
|
23247
23282
|
}
|
|
23248
|
-
if ((0,
|
|
23249
|
-
if (!(0,
|
|
23250
|
-
(0,
|
|
23283
|
+
if ((0, import_chunk_X7QCZR3F.wouldLog)("locals", 1)) {
|
|
23284
|
+
if (!(0, import_chunk_X7QCZR3F.wouldLog)("locals", 10)) {
|
|
23285
|
+
(0, import_chunk_X7QCZR3F.logger)("locals", 5, functionBanner(func, context, "Minimize Locals"));
|
|
23251
23286
|
}
|
|
23252
|
-
(0,
|
|
23287
|
+
(0, import_chunk_X7QCZR3F.log)(
|
|
23253
23288
|
`>>> Merging locals in ${func.name} (in: ${numLocals} => out: ${merge.length})`
|
|
23254
23289
|
);
|
|
23255
23290
|
merge.slice().sort((a, b) => (colors.get(a[0]) ?? 0) - (colors.get(b[0]) ?? 0)).forEach(
|
|
23256
|
-
(merged) => (0,
|
|
23291
|
+
(merged) => (0, import_chunk_X7QCZR3F.log)(
|
|
23257
23292
|
` ${colors.get(merged[0])} - ${merged.map((k) => bytecodeToString(k, context.symbolTable)).join(" | ")}`
|
|
23258
23293
|
)
|
|
23259
23294
|
);
|
|
@@ -23552,7 +23587,7 @@ function mergeSplitRanges(splitRanges) {
|
|
|
23552
23587
|
var init_locals = (0, import_chunk_ABYVSU2C.__esm)({
|
|
23553
23588
|
"src/readprg/locals.ts"() {
|
|
23554
23589
|
"use strict";
|
|
23555
|
-
(0,
|
|
23590
|
+
(0, import_chunk_X7QCZR3F.init_logger)();
|
|
23556
23591
|
init_bytecode();
|
|
23557
23592
|
init_cflow();
|
|
23558
23593
|
init_opcodes();
|
|
@@ -23665,16 +23700,16 @@ function sizeBasedPRE2(func, context) {
|
|
|
23665
23700
|
delete bc.arg;
|
|
23666
23701
|
return bc;
|
|
23667
23702
|
};
|
|
23668
|
-
if ((0,
|
|
23669
|
-
if ((0,
|
|
23670
|
-
(0,
|
|
23703
|
+
if ((0, import_chunk_X7QCZR3F.wouldLog)("pre", 1)) {
|
|
23704
|
+
if ((0, import_chunk_X7QCZR3F.wouldLog)("pre", 5)) {
|
|
23705
|
+
(0, import_chunk_X7QCZR3F.log)(functionBanner(func, context, "PRE")());
|
|
23671
23706
|
} else {
|
|
23672
|
-
(0,
|
|
23707
|
+
(0, import_chunk_X7QCZR3F.log)(`================ PRE : ${func.name} ================
|
|
23673
23708
|
`);
|
|
23674
23709
|
}
|
|
23675
23710
|
insertionBlocks.forEach((o, key) => {
|
|
23676
23711
|
const bcs = canonicalMap.get(key);
|
|
23677
|
-
(0,
|
|
23712
|
+
(0, import_chunk_X7QCZR3F.log)(
|
|
23678
23713
|
`Replacing ${bcs.size} instances of ${bytecodeToString(
|
|
23679
23714
|
bcs.values().next().value,
|
|
23680
23715
|
context.symbolTable
|
|
@@ -23757,13 +23792,13 @@ function sizeBasedPRE2(func, context) {
|
|
|
23757
23792
|
bytecode(1, insertionBlocks.size)
|
|
23758
23793
|
);
|
|
23759
23794
|
}
|
|
23760
|
-
(0,
|
|
23795
|
+
(0, import_chunk_X7QCZR3F.logger)("pre", 5, functionBanner(func, context, "post-PRE"));
|
|
23761
23796
|
return true;
|
|
23762
23797
|
}
|
|
23763
23798
|
var init_pre2 = (0, import_chunk_ABYVSU2C.__esm)({
|
|
23764
23799
|
"src/readprg/pre.ts"() {
|
|
23765
23800
|
"use strict";
|
|
23766
|
-
(0,
|
|
23801
|
+
(0, import_chunk_X7QCZR3F.init_logger)();
|
|
23767
23802
|
init_bytecode();
|
|
23768
23803
|
init_cflow();
|
|
23769
23804
|
init_opcodes();
|
|
@@ -23796,9 +23831,9 @@ function blockSharing(func, context) {
|
|
|
23796
23831
|
if (!any)
|
|
23797
23832
|
return false;
|
|
23798
23833
|
any = false;
|
|
23799
|
-
const logging3 = (0,
|
|
23800
|
-
if (logging3 && (0,
|
|
23801
|
-
(0,
|
|
23834
|
+
const logging3 = (0, import_chunk_X7QCZR3F.wouldLog)("sharing", 1);
|
|
23835
|
+
if (logging3 && (0, import_chunk_X7QCZR3F.wouldLog)("sharing", 10)) {
|
|
23836
|
+
(0, import_chunk_X7QCZR3F.setBanner)(functionBanner(func, context, "sharing"));
|
|
23802
23837
|
}
|
|
23803
23838
|
candidates.forEach((blocks) => {
|
|
23804
23839
|
while (blocks.size > 1) {
|
|
@@ -23934,9 +23969,9 @@ function blockSharing(func, context) {
|
|
|
23934
23969
|
block2.offset
|
|
23935
23970
|
)})` : `block(${offsetToString(block2.offset)})`;
|
|
23936
23971
|
};
|
|
23937
|
-
(0,
|
|
23938
|
-
if ((0,
|
|
23939
|
-
(0,
|
|
23972
|
+
(0, import_chunk_X7QCZR3F.log)(`Sharing ${showBlock(block)} with ${showBlock(target)}`);
|
|
23973
|
+
if ((0, import_chunk_X7QCZR3F.wouldLog)("sharing", 5)) {
|
|
23974
|
+
(0, import_chunk_X7QCZR3F.log)(blockToString(target, context));
|
|
23940
23975
|
}
|
|
23941
23976
|
}
|
|
23942
23977
|
if (target.bytecodes.length > length2) {
|
|
@@ -23963,13 +23998,13 @@ function blockSharing(func, context) {
|
|
|
23963
23998
|
});
|
|
23964
23999
|
}
|
|
23965
24000
|
});
|
|
23966
|
-
(0,
|
|
24001
|
+
(0, import_chunk_X7QCZR3F.setBanner)(null);
|
|
23967
24002
|
return any;
|
|
23968
24003
|
}
|
|
23969
24004
|
var init_sharing = (0, import_chunk_ABYVSU2C.__esm)({
|
|
23970
24005
|
"src/readprg/sharing.ts"() {
|
|
23971
24006
|
"use strict";
|
|
23972
|
-
(0,
|
|
24007
|
+
(0, import_chunk_X7QCZR3F.init_util)();
|
|
23973
24008
|
init_bytecode();
|
|
23974
24009
|
init_opcodes();
|
|
23975
24010
|
}
|
|
@@ -24033,7 +24068,7 @@ function doArrayInits(func, liveInState, context) {
|
|
|
24033
24068
|
}
|
|
24034
24069
|
function simpleOpts(func, context) {
|
|
24035
24070
|
const equalsSym = 8388787;
|
|
24036
|
-
const logging3 = (0,
|
|
24071
|
+
const logging3 = (0, import_chunk_X7QCZR3F.wouldLog)("optimize", 5);
|
|
24037
24072
|
return Array.from(func.blocks.values()).reduce((changes, block) => {
|
|
24038
24073
|
for (let i = block.bytecodes.length; i--; ) {
|
|
24039
24074
|
const cur = block.bytecodes[i];
|
|
@@ -24041,7 +24076,7 @@ function simpleOpts(func, context) {
|
|
|
24041
24076
|
block.bytecodes.splice(i, 1);
|
|
24042
24077
|
changes = true;
|
|
24043
24078
|
if (logging3) {
|
|
24044
|
-
(0,
|
|
24079
|
+
(0, import_chunk_X7QCZR3F.log)(`${func.name}: deleting ${bytecodeToString(cur, null)}`);
|
|
24045
24080
|
}
|
|
24046
24081
|
} else if (cur.op === 74 && context.config.removeArgc && context.config.allowForbiddenOpts) {
|
|
24047
24082
|
const arg = cur.arg.incsp;
|
|
@@ -24050,7 +24085,7 @@ function simpleOpts(func, context) {
|
|
|
24050
24085
|
incsp.arg = arg;
|
|
24051
24086
|
changes = true;
|
|
24052
24087
|
if (logging3) {
|
|
24053
|
-
(0,
|
|
24088
|
+
(0, import_chunk_X7QCZR3F.log)(`${func.name}: argcincsp => incsp`);
|
|
24054
24089
|
}
|
|
24055
24090
|
} else if (i && cur.op === 39 && cur.arg === equalsSym) {
|
|
24056
24091
|
changes = equalSymbolToEq(block, i) || changes;
|
|
@@ -24061,7 +24096,7 @@ function simpleOpts(func, context) {
|
|
|
24061
24096
|
if (!shift && prev.op === 37) {
|
|
24062
24097
|
block.bytecodes.splice(i - 1, 2);
|
|
24063
24098
|
changes = true;
|
|
24064
|
-
logging3 && (0,
|
|
24099
|
+
logging3 && (0, import_chunk_X7QCZR3F.log)(`${func.name}: deleting no-op shift (${shift})`);
|
|
24065
24100
|
continue;
|
|
24066
24101
|
}
|
|
24067
24102
|
if (shift === 1n && prev.op === 37) {
|
|
@@ -24071,7 +24106,7 @@ function simpleOpts(func, context) {
|
|
|
24071
24106
|
const add = cur;
|
|
24072
24107
|
add.op = 3;
|
|
24073
24108
|
delete add.arg;
|
|
24074
|
-
logging3 && (0,
|
|
24109
|
+
logging3 && (0, import_chunk_X7QCZR3F.log)(`${func.name}: converting "ipush 1; shlv" to "dup 0; addv"`);
|
|
24075
24110
|
continue;
|
|
24076
24111
|
}
|
|
24077
24112
|
if (shift < (prev.op === 49 ? 64n : 31n)) {
|
|
@@ -24081,7 +24116,7 @@ function simpleOpts(func, context) {
|
|
|
24081
24116
|
} else {
|
|
24082
24117
|
prev.arg = BigInt.asIntN(64, mul);
|
|
24083
24118
|
}
|
|
24084
|
-
logging3 && (0,
|
|
24119
|
+
logging3 && (0, import_chunk_X7QCZR3F.log)(
|
|
24085
24120
|
`${func.name}: converting shlv(${shift}) to mulv(${prev.arg})`
|
|
24086
24121
|
);
|
|
24087
24122
|
changes = true;
|
|
@@ -24095,14 +24130,14 @@ function simpleOpts(func, context) {
|
|
|
24095
24130
|
func.blocks.get(block.taken).preds.delete(block.offset);
|
|
24096
24131
|
delete block.taken;
|
|
24097
24132
|
changes = true;
|
|
24098
|
-
logging3 && (0,
|
|
24133
|
+
logging3 && (0, import_chunk_X7QCZR3F.log)(`${func.name}: deleting empty finally handler`);
|
|
24099
24134
|
} else if (isCondBranch(cur.op)) {
|
|
24100
24135
|
const next = func.blocks.get(block.next);
|
|
24101
24136
|
const taken = func.blocks.get(block.taken);
|
|
24102
24137
|
if (next.preds.size > 1 && taken.preds.size === 1) {
|
|
24103
24138
|
const newOp = cur.op === 40 ? 41 : 40;
|
|
24104
24139
|
if (logging3) {
|
|
24105
|
-
(0,
|
|
24140
|
+
(0, import_chunk_X7QCZR3F.log)(
|
|
24106
24141
|
`${func.name}: converting ${Opcodes[cur.op]} to ${Opcodes[newOp]}`
|
|
24107
24142
|
);
|
|
24108
24143
|
}
|
|
@@ -24115,7 +24150,7 @@ function simpleOpts(func, context) {
|
|
|
24115
24150
|
const isBool = i >= 2 && isBoolOp(block.bytecodes[i - 2].op);
|
|
24116
24151
|
if (next.next === block.taken && next.taken == null && taken.bytecodes.length === 1 && isCondBranch(taken.bytecodes[0].op) && next.bytecodes.length > 1 && next.bytecodes[next.bytecodes.length - 1].op === (cur.op === 41 ? 7 : 8) && (isBool || next.bytecodes.length > 2 && isBoolOp(next.bytecodes[next.bytecodes.length - 2].op)) && next.preds?.size === 1 && taken.preds?.size === 2) {
|
|
24117
24152
|
if (logging3) {
|
|
24118
|
-
(0,
|
|
24153
|
+
(0, import_chunk_X7QCZR3F.log)(
|
|
24119
24154
|
`${func.name}: simplifying ${next.bytecodes[next.bytecodes.length - 1].op === 7 ? "'&&'" : "'||'"} at ${offsetToString(block.offset)}:${offsetToString(
|
|
24120
24155
|
next.offset
|
|
24121
24156
|
)}:${offsetToString(taken.offset)}:`
|
|
@@ -24132,7 +24167,7 @@ function simpleOpts(func, context) {
|
|
|
24132
24167
|
changes = true;
|
|
24133
24168
|
} else if (taken.next === block.next && taken.taken == null && next.bytecodes.length === 1 && isCondBranch(next.bytecodes[0].op) && taken.bytecodes.length > 1 && taken.bytecodes[taken.bytecodes.length - 1].op === (cur.op === 40 ? 7 : 8) && (isBool || taken.bytecodes.length > 2 && isBoolOp(taken.bytecodes[taken.bytecodes.length - 2].op)) && next.preds?.size === 2 && taken.preds?.size === 1) {
|
|
24134
24169
|
if (logging3) {
|
|
24135
|
-
(0,
|
|
24170
|
+
(0, import_chunk_X7QCZR3F.log)(
|
|
24136
24171
|
`${func.name}: simplifying ${taken.bytecodes[taken.bytecodes.length - 1].op === 7 ? "'&&'" : "'||'"} at ${offsetToString(block.offset)}:${offsetToString(
|
|
24137
24172
|
taken.offset
|
|
24138
24173
|
)}:${offsetToString(next.offset)}:`
|
|
@@ -24180,7 +24215,7 @@ function equalSymbolToEq(block, equalsIndex) {
|
|
|
24180
24215
|
op: 26,
|
|
24181
24216
|
offset: invokem.offset
|
|
24182
24217
|
});
|
|
24183
|
-
(0,
|
|
24218
|
+
(0, import_chunk_X7QCZR3F.logger)(
|
|
24184
24219
|
"optimize",
|
|
24185
24220
|
1,
|
|
24186
24221
|
`Replacing <thing>.equals(:symbol) with <thing> eq :symbol at ${offsetToString(
|
|
@@ -24240,7 +24275,7 @@ function removeUnreachableCatches(func, context) {
|
|
|
24240
24275
|
const next = func.blocks.get(block.next);
|
|
24241
24276
|
if (block.try === next.try) {
|
|
24242
24277
|
if (next.preds.size === 1) {
|
|
24243
|
-
(0,
|
|
24278
|
+
(0, import_chunk_X7QCZR3F.logger)(
|
|
24244
24279
|
"cfg",
|
|
24245
24280
|
1,
|
|
24246
24281
|
() => `${func.name}: ${offsetToString(
|
|
@@ -24263,7 +24298,7 @@ function removeUnreachableCatches(func, context) {
|
|
|
24263
24298
|
delete next.preds;
|
|
24264
24299
|
removeBlock(func, next.offset);
|
|
24265
24300
|
} else if (next.next == null && next.bytecodes.length < 3 && next.bytecodes.reduce((size, bc) => size + opcodeSize(bc.op), 0) < 3 && countFallthroughPreds(func, next) > 1) {
|
|
24266
|
-
(0,
|
|
24301
|
+
(0, import_chunk_X7QCZR3F.logger)(
|
|
24267
24302
|
"cfg",
|
|
24268
24303
|
1,
|
|
24269
24304
|
() => `${func.name}: ${offsetToString(
|
|
@@ -24288,7 +24323,7 @@ function removeUnreachableCatches(func, context) {
|
|
|
24288
24323
|
switch (last.op) {
|
|
24289
24324
|
case 41:
|
|
24290
24325
|
case 40:
|
|
24291
|
-
(0,
|
|
24326
|
+
(0, import_chunk_X7QCZR3F.logger)(
|
|
24292
24327
|
"cfg",
|
|
24293
24328
|
1,
|
|
24294
24329
|
() => `${func.name}: killing no-op ${bytecodeToString(
|
|
@@ -24311,7 +24346,7 @@ function removeUnreachableCatches(func, context) {
|
|
|
24311
24346
|
for (let i = block.try.length; i--; ) {
|
|
24312
24347
|
const handler = block.try[i].handler;
|
|
24313
24348
|
if (!func.blocks.get(handler)?.preds?.size) {
|
|
24314
|
-
(0,
|
|
24349
|
+
(0, import_chunk_X7QCZR3F.logger)(
|
|
24315
24350
|
"cfg",
|
|
24316
24351
|
1,
|
|
24317
24352
|
`${func.name}: killing unused try-catch at ${offsetToString(
|
|
@@ -24328,8 +24363,8 @@ function removeUnreachableCatches(func, context) {
|
|
|
24328
24363
|
});
|
|
24329
24364
|
}
|
|
24330
24365
|
function cleanCfg2(func, context) {
|
|
24331
|
-
if ((0,
|
|
24332
|
-
(0,
|
|
24366
|
+
if ((0, import_chunk_X7QCZR3F.wouldLog)("cfg", 10)) {
|
|
24367
|
+
(0, import_chunk_X7QCZR3F.setBanner)(functionBanner(func, context, "sharing"));
|
|
24333
24368
|
}
|
|
24334
24369
|
removeNoOpBlocks(func);
|
|
24335
24370
|
removeUnreachableCatches(func, context);
|
|
@@ -24344,12 +24379,12 @@ function cleanCfg2(func, context) {
|
|
|
24344
24379
|
(0, import_node_assert12.default)(!block.preds?.size);
|
|
24345
24380
|
func.blocks.delete(block.offset);
|
|
24346
24381
|
});
|
|
24347
|
-
(0,
|
|
24382
|
+
(0, import_chunk_X7QCZR3F.setBanner)(null);
|
|
24348
24383
|
}
|
|
24349
24384
|
var init_optimize2 = (0, import_chunk_ABYVSU2C.__esm)({
|
|
24350
24385
|
"src/readprg/optimize.ts"() {
|
|
24351
24386
|
"use strict";
|
|
24352
|
-
(0,
|
|
24387
|
+
(0, import_chunk_X7QCZR3F.init_util)();
|
|
24353
24388
|
init_array_init();
|
|
24354
24389
|
init_bytecode();
|
|
24355
24390
|
init_cflow();
|
|
@@ -24964,21 +24999,21 @@ function optimizeBytecode(context) {
|
|
|
24964
24999
|
functions.forEach(callback);
|
|
24965
25000
|
return;
|
|
24966
25001
|
}
|
|
24967
|
-
(0,
|
|
25002
|
+
(0, import_chunk_X7QCZR3F.bumpLogging)(null, 10);
|
|
24968
25003
|
functions.forEach((func) => {
|
|
24969
25004
|
if (loggerFunc.test(func.name ?? "<null>")) {
|
|
24970
|
-
(0,
|
|
25005
|
+
(0, import_chunk_X7QCZR3F.bumpLogging)(null, -10);
|
|
24971
25006
|
callback(func);
|
|
24972
|
-
(0,
|
|
25007
|
+
(0, import_chunk_X7QCZR3F.bumpLogging)(null, 10);
|
|
24973
25008
|
return;
|
|
24974
25009
|
}
|
|
24975
25010
|
callback(func);
|
|
24976
25011
|
});
|
|
24977
|
-
(0,
|
|
25012
|
+
(0, import_chunk_X7QCZR3F.bumpLogging)(null, -10);
|
|
24978
25013
|
};
|
|
24979
|
-
if ((0,
|
|
25014
|
+
if ((0, import_chunk_X7QCZR3F.wouldLog)("list-input", 1)) {
|
|
24980
25015
|
forEachFunction(
|
|
24981
|
-
(func) => (0,
|
|
25016
|
+
(func) => (0, import_chunk_X7QCZR3F.wouldLog)("list-input", 1) && printFunction(func, context)
|
|
24982
25017
|
);
|
|
24983
25018
|
}
|
|
24984
25019
|
forEachFunction((func) => optimizeFunc(func, context));
|
|
@@ -24996,7 +25031,7 @@ function optimizeBytecode(context) {
|
|
|
24996
25031
|
forEachFunction((func) => {
|
|
24997
25032
|
if (!func.name)
|
|
24998
25033
|
return;
|
|
24999
|
-
(0,
|
|
25034
|
+
(0, import_chunk_X7QCZR3F.logger)(
|
|
25000
25035
|
"bytecode",
|
|
25001
25036
|
5,
|
|
25002
25037
|
`${func.name}: ${offset.toString(16)} ${offset - func.offset}`
|
|
@@ -25005,7 +25040,7 @@ function optimizeBytecode(context) {
|
|
|
25005
25040
|
});
|
|
25006
25041
|
const { offsetMap } = updateInfo;
|
|
25007
25042
|
offsetMap.set(code.byteLength, offset);
|
|
25008
|
-
(0,
|
|
25043
|
+
(0, import_chunk_X7QCZR3F.logger)(
|
|
25009
25044
|
"bytecode",
|
|
25010
25045
|
1,
|
|
25011
25046
|
`${context.filepath}: code size: ${context.sections[
|
|
@@ -25017,9 +25052,9 @@ function optimizeBytecode(context) {
|
|
|
25017
25052
|
].length - offset}`
|
|
25018
25053
|
);
|
|
25019
25054
|
fixSectionSize(-1059145026, context.sections, offset);
|
|
25020
|
-
if ((0,
|
|
25055
|
+
if ((0, import_chunk_X7QCZR3F.wouldLog)("list-output", 1)) {
|
|
25021
25056
|
forEachFunction(
|
|
25022
|
-
(func) => (0,
|
|
25057
|
+
(func) => (0, import_chunk_X7QCZR3F.wouldLog)("list-output", 1) && printFunction(func, context)
|
|
25023
25058
|
);
|
|
25024
25059
|
}
|
|
25025
25060
|
fixupHeader(context, updateInfo);
|
|
@@ -25109,7 +25144,7 @@ ${functionToString(
|
|
|
25109
25144
|
---------------- ${func.name} ----------------`;
|
|
25110
25145
|
}
|
|
25111
25146
|
function printFunction(func, context) {
|
|
25112
|
-
(0,
|
|
25147
|
+
(0, import_chunk_X7QCZR3F.log)(functionToString(func, context));
|
|
25113
25148
|
}
|
|
25114
25149
|
function functionToString(func, context, extra) {
|
|
25115
25150
|
const parts = [];
|
|
@@ -25540,7 +25575,7 @@ var init_bytecode = (0, import_chunk_ABYVSU2C.__esm)({
|
|
|
25540
25575
|
"use strict";
|
|
25541
25576
|
(0, import_chunk_JDC43A3I.init_ast)();
|
|
25542
25577
|
init_sdk_util();
|
|
25543
|
-
(0,
|
|
25578
|
+
(0, import_chunk_X7QCZR3F.init_util)();
|
|
25544
25579
|
init_data();
|
|
25545
25580
|
init_emit();
|
|
25546
25581
|
init_exceptions();
|
|
@@ -25826,10 +25861,10 @@ async function build_project(product, options, lineCallback) {
|
|
|
25826
25861
|
].flat();
|
|
25827
25862
|
if (!returnCommand) {
|
|
25828
25863
|
const handlers = [
|
|
25829
|
-
lineCallback || ((line) => (0,
|
|
25864
|
+
lineCallback || ((line) => (0, import_chunk_X7QCZR3F.log)(line)),
|
|
25830
25865
|
(line) => console.error(line)
|
|
25831
25866
|
];
|
|
25832
|
-
await (0,
|
|
25867
|
+
await (0, import_chunk_X7QCZR3F.spawnByLine)(exe, args, handlers, {
|
|
25833
25868
|
cwd: workspace
|
|
25834
25869
|
});
|
|
25835
25870
|
}
|
|
@@ -25839,7 +25874,7 @@ var init_build = (0, import_chunk_ABYVSU2C.__esm)({
|
|
|
25839
25874
|
"src/build.ts"() {
|
|
25840
25875
|
"use strict";
|
|
25841
25876
|
init_sdk_util();
|
|
25842
|
-
(0,
|
|
25877
|
+
(0, import_chunk_X7QCZR3F.init_util)();
|
|
25843
25878
|
}
|
|
25844
25879
|
});
|
|
25845
25880
|
var require_ms = (0, import_chunk_ABYVSU2C.__commonJS)({
|
|
@@ -27104,7 +27139,7 @@ function peg$parse2(input, options) {
|
|
|
27104
27139
|
var peg$r1 = /^[A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376-\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06E5-\u06E6\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4-\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u09FC\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60-\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E46\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEF\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7B9\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD-\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/;
|
|
27105
27140
|
var peg$r2 = /^[0-9A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376-\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u05D0-\u05EA\u05EF-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u07FD\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D3-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7-\u09C8\u09CB-\u09CE\u09D7\u09DC-\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u09FE\u0A01-\u0A03\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A3C\u0A3E-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47-\u0B48\u0B4B-\u0B4D\u0B56-\u0B57\u0B5C-\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82-\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5-\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1-\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82-\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18-\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772-\u1773\u1780-\u17D3\u17D7\u17DC-\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1878\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F-\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEF\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7B9\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC-\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33-\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/;
|
|
27106
27141
|
var peg$r3 = /^[\-\u200C-\u200D]/;
|
|
27107
|
-
var peg$r4 = /^[
|
|
27142
|
+
var peg$r4 = /^[*.-\/:]/;
|
|
27108
27143
|
var peg$r5 = /^[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376-\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E-\u066F\u0671-\u06D3\u06D5\u06E5-\u06E6\u06EE-\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4-\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F-\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC-\u09DD\u09DF-\u09E1\u09F0-\u09F1\u09FC\u0A05-\u0A0A\u0A0F-\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32-\u0A33\u0A35-\u0A36\u0A38-\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2-\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0-\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F-\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32-\u0B33\u0B35-\u0B39\u0B3D\u0B5C-\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99-\u0B9A\u0B9C\u0B9E-\u0B9F\u0BA3-\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60-\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0-\u0CE1\u0CF1-\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32-\u0E33\u0E40-\u0E46\u0E81-\u0E82\u0E84\u0E87-\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA-\u0EAB\u0EAD-\u0EB0\u0EB2-\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065-\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE-\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5-\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEF\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7B9\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD-\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/;
|
|
27109
27144
|
var peg$r6 = /^[\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962-\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7-\u09C8\u09CB-\u09CD\u09D7\u09E2-\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47-\u0A48\u0A4B-\u0A4D\u0A51\u0A70-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2-\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47-\u0B48\u0B4B-\u0B4D\u0B56-\u0B57\u0B62-\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55-\u0C56\u0C62-\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5-\u0CD6\u0CE2-\u0CE3\u0D00-\u0D03\u0D3B-\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62-\u0D63\u0D82-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2-\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB-\u0EBC\u0EC8-\u0ECD\u0F18-\u0F19\u0F35\u0F37\u0F39\u0F3E-\u0F3F\u0F71-\u0F84\u0F86-\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885-\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABD\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099-\u309A\uA66F\uA674-\uA67D\uA69E-\uA69F\uA6F0-\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880-\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C-\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7-\uAAB8\uAABE-\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5-\uAAF6\uABE3-\uABEA\uABEC-\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/;
|
|
27110
27145
|
var peg$r7 = /^[\t\v-\f \xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF]/;
|
|
@@ -27140,7 +27175,7 @@ function peg$parse2(input, options) {
|
|
|
27140
27175
|
var peg$e16 = peg$literalExpectation("$", false);
|
|
27141
27176
|
var peg$e17 = peg$literalExpectation("(", false);
|
|
27142
27177
|
var peg$e18 = peg$classExpectation(["-", ["\u200C", "\u200D"]], false, false);
|
|
27143
|
-
var peg$e19 = peg$classExpectation(["*", [".", "/"]], false, false);
|
|
27178
|
+
var peg$e19 = peg$classExpectation(["*", [".", "/"], ":"], false, false);
|
|
27144
27179
|
var peg$e20 = peg$classExpectation([["A", "Z"], ["a", "z"], "\xAA", "\xB5", "\xBA", ["\xC0", "\xD6"], ["\xD8", "\xF6"], ["\xF8", "\u02C1"], ["\u02C6", "\u02D1"], ["\u02E0", "\u02E4"], "\u02EC", "\u02EE", ["\u0370", "\u0374"], ["\u0376", "\u0377"], ["\u037A", "\u037D"], "\u037F", "\u0386", ["\u0388", "\u038A"], "\u038C", ["\u038E", "\u03A1"], ["\u03A3", "\u03F5"], ["\u03F7", "\u0481"], ["\u048A", "\u052F"], ["\u0531", "\u0556"], "\u0559", ["\u0560", "\u0588"], ["\u05D0", "\u05EA"], ["\u05EF", "\u05F2"], ["\u0620", "\u064A"], ["\u066E", "\u066F"], ["\u0671", "\u06D3"], "\u06D5", ["\u06E5", "\u06E6"], ["\u06EE", "\u06EF"], ["\u06FA", "\u06FC"], "\u06FF", "\u0710", ["\u0712", "\u072F"], ["\u074D", "\u07A5"], "\u07B1", ["\u07CA", "\u07EA"], ["\u07F4", "\u07F5"], "\u07FA", ["\u0800", "\u0815"], "\u081A", "\u0824", "\u0828", ["\u0840", "\u0858"], ["\u0860", "\u086A"], ["\u08A0", "\u08B4"], ["\u08B6", "\u08BD"], ["\u0904", "\u0939"], "\u093D", "\u0950", ["\u0958", "\u0961"], ["\u0971", "\u0980"], ["\u0985", "\u098C"], ["\u098F", "\u0990"], ["\u0993", "\u09A8"], ["\u09AA", "\u09B0"], "\u09B2", ["\u09B6", "\u09B9"], "\u09BD", "\u09CE", ["\u09DC", "\u09DD"], ["\u09DF", "\u09E1"], ["\u09F0", "\u09F1"], "\u09FC", ["\u0A05", "\u0A0A"], ["\u0A0F", "\u0A10"], ["\u0A13", "\u0A28"], ["\u0A2A", "\u0A30"], ["\u0A32", "\u0A33"], ["\u0A35", "\u0A36"], ["\u0A38", "\u0A39"], ["\u0A59", "\u0A5C"], "\u0A5E", ["\u0A72", "\u0A74"], ["\u0A85", "\u0A8D"], ["\u0A8F", "\u0A91"], ["\u0A93", "\u0AA8"], ["\u0AAA", "\u0AB0"], ["\u0AB2", "\u0AB3"], ["\u0AB5", "\u0AB9"], "\u0ABD", "\u0AD0", ["\u0AE0", "\u0AE1"], "\u0AF9", ["\u0B05", "\u0B0C"], ["\u0B0F", "\u0B10"], ["\u0B13", "\u0B28"], ["\u0B2A", "\u0B30"], ["\u0B32", "\u0B33"], ["\u0B35", "\u0B39"], "\u0B3D", ["\u0B5C", "\u0B5D"], ["\u0B5F", "\u0B61"], "\u0B71", "\u0B83", ["\u0B85", "\u0B8A"], ["\u0B8E", "\u0B90"], ["\u0B92", "\u0B95"], ["\u0B99", "\u0B9A"], "\u0B9C", ["\u0B9E", "\u0B9F"], ["\u0BA3", "\u0BA4"], ["\u0BA8", "\u0BAA"], ["\u0BAE", "\u0BB9"], "\u0BD0", ["\u0C05", "\u0C0C"], ["\u0C0E", "\u0C10"], ["\u0C12", "\u0C28"], ["\u0C2A", "\u0C39"], "\u0C3D", ["\u0C58", "\u0C5A"], ["\u0C60", "\u0C61"], "\u0C80", ["\u0C85", "\u0C8C"], ["\u0C8E", "\u0C90"], ["\u0C92", "\u0CA8"], ["\u0CAA", "\u0CB3"], ["\u0CB5", "\u0CB9"], "\u0CBD", "\u0CDE", ["\u0CE0", "\u0CE1"], ["\u0CF1", "\u0CF2"], ["\u0D05", "\u0D0C"], ["\u0D0E", "\u0D10"], ["\u0D12", "\u0D3A"], "\u0D3D", "\u0D4E", ["\u0D54", "\u0D56"], ["\u0D5F", "\u0D61"], ["\u0D7A", "\u0D7F"], ["\u0D85", "\u0D96"], ["\u0D9A", "\u0DB1"], ["\u0DB3", "\u0DBB"], "\u0DBD", ["\u0DC0", "\u0DC6"], ["\u0E01", "\u0E30"], ["\u0E32", "\u0E33"], ["\u0E40", "\u0E46"], ["\u0E81", "\u0E82"], "\u0E84", ["\u0E87", "\u0E88"], "\u0E8A", "\u0E8D", ["\u0E94", "\u0E97"], ["\u0E99", "\u0E9F"], ["\u0EA1", "\u0EA3"], "\u0EA5", "\u0EA7", ["\u0EAA", "\u0EAB"], ["\u0EAD", "\u0EB0"], ["\u0EB2", "\u0EB3"], "\u0EBD", ["\u0EC0", "\u0EC4"], "\u0EC6", ["\u0EDC", "\u0EDF"], "\u0F00", ["\u0F40", "\u0F47"], ["\u0F49", "\u0F6C"], ["\u0F88", "\u0F8C"], ["\u1000", "\u102A"], "\u103F", ["\u1050", "\u1055"], ["\u105A", "\u105D"], "\u1061", ["\u1065", "\u1066"], ["\u106E", "\u1070"], ["\u1075", "\u1081"], "\u108E", ["\u10A0", "\u10C5"], "\u10C7", "\u10CD", ["\u10D0", "\u10FA"], ["\u10FC", "\u1248"], ["\u124A", "\u124D"], ["\u1250", "\u1256"], "\u1258", ["\u125A", "\u125D"], ["\u1260", "\u1288"], ["\u128A", "\u128D"], ["\u1290", "\u12B0"], ["\u12B2", "\u12B5"], ["\u12B8", "\u12BE"], "\u12C0", ["\u12C2", "\u12C5"], ["\u12C8", "\u12D6"], ["\u12D8", "\u1310"], ["\u1312", "\u1315"], ["\u1318", "\u135A"], ["\u1380", "\u138F"], ["\u13A0", "\u13F5"], ["\u13F8", "\u13FD"], ["\u1401", "\u166C"], ["\u166F", "\u167F"], ["\u1681", "\u169A"], ["\u16A0", "\u16EA"], ["\u16EE", "\u16F8"], ["\u1700", "\u170C"], ["\u170E", "\u1711"], ["\u1720", "\u1731"], ["\u1740", "\u1751"], ["\u1760", "\u176C"], ["\u176E", "\u1770"], ["\u1780", "\u17B3"], "\u17D7", "\u17DC", ["\u1820", "\u1878"], ["\u1880", "\u1884"], ["\u1887", "\u18A8"], "\u18AA", ["\u18B0", "\u18F5"], ["\u1900", "\u191E"], ["\u1950", "\u196D"], ["\u1970", "\u1974"], ["\u1980", "\u19AB"], ["\u19B0", "\u19C9"], ["\u1A00", "\u1A16"], ["\u1A20", "\u1A54"], "\u1AA7", ["\u1B05", "\u1B33"], ["\u1B45", "\u1B4B"], ["\u1B83", "\u1BA0"], ["\u1BAE", "\u1BAF"], ["\u1BBA", "\u1BE5"], ["\u1C00", "\u1C23"], ["\u1C4D", "\u1C4F"], ["\u1C5A", "\u1C7D"], ["\u1C80", "\u1C88"], ["\u1C90", "\u1CBA"], ["\u1CBD", "\u1CBF"], ["\u1CE9", "\u1CEC"], ["\u1CEE", "\u1CF1"], ["\u1CF5", "\u1CF6"], ["\u1D00", "\u1DBF"], ["\u1E00", "\u1F15"], ["\u1F18", "\u1F1D"], ["\u1F20", "\u1F45"], ["\u1F48", "\u1F4D"], ["\u1F50", "\u1F57"], "\u1F59", "\u1F5B", "\u1F5D", ["\u1F5F", "\u1F7D"], ["\u1F80", "\u1FB4"], ["\u1FB6", "\u1FBC"], "\u1FBE", ["\u1FC2", "\u1FC4"], ["\u1FC6", "\u1FCC"], ["\u1FD0", "\u1FD3"], ["\u1FD6", "\u1FDB"], ["\u1FE0", "\u1FEC"], ["\u1FF2", "\u1FF4"], ["\u1FF6", "\u1FFC"], "\u2071", "\u207F", ["\u2090", "\u209C"], "\u2102", "\u2107", ["\u210A", "\u2113"], "\u2115", ["\u2119", "\u211D"], "\u2124", "\u2126", "\u2128", ["\u212A", "\u212D"], ["\u212F", "\u2139"], ["\u213C", "\u213F"], ["\u2145", "\u2149"], "\u214E", ["\u2160", "\u2188"], ["\u2C00", "\u2C2E"], ["\u2C30", "\u2C5E"], ["\u2C60", "\u2CE4"], ["\u2CEB", "\u2CEE"], ["\u2CF2", "\u2CF3"], ["\u2D00", "\u2D25"], "\u2D27", "\u2D2D", ["\u2D30", "\u2D67"], "\u2D6F", ["\u2D80", "\u2D96"], ["\u2DA0", "\u2DA6"], ["\u2DA8", "\u2DAE"], ["\u2DB0", "\u2DB6"], ["\u2DB8", "\u2DBE"], ["\u2DC0", "\u2DC6"], ["\u2DC8", "\u2DCE"], ["\u2DD0", "\u2DD6"], ["\u2DD8", "\u2DDE"], "\u2E2F", ["\u3005", "\u3007"], ["\u3021", "\u3029"], ["\u3031", "\u3035"], ["\u3038", "\u303C"], ["\u3041", "\u3096"], ["\u309D", "\u309F"], ["\u30A1", "\u30FA"], ["\u30FC", "\u30FF"], ["\u3105", "\u312F"], ["\u3131", "\u318E"], ["\u31A0", "\u31BA"], ["\u31F0", "\u31FF"], ["\u3400", "\u4DB5"], ["\u4E00", "\u9FEF"], ["\uA000", "\uA48C"], ["\uA4D0", "\uA4FD"], ["\uA500", "\uA60C"], ["\uA610", "\uA61F"], ["\uA62A", "\uA62B"], ["\uA640", "\uA66E"], ["\uA67F", "\uA69D"], ["\uA6A0", "\uA6EF"], ["\uA717", "\uA71F"], ["\uA722", "\uA788"], ["\uA78B", "\uA7B9"], ["\uA7F7", "\uA801"], ["\uA803", "\uA805"], ["\uA807", "\uA80A"], ["\uA80C", "\uA822"], ["\uA840", "\uA873"], ["\uA882", "\uA8B3"], ["\uA8F2", "\uA8F7"], "\uA8FB", ["\uA8FD", "\uA8FE"], ["\uA90A", "\uA925"], ["\uA930", "\uA946"], ["\uA960", "\uA97C"], ["\uA984", "\uA9B2"], "\uA9CF", ["\uA9E0", "\uA9E4"], ["\uA9E6", "\uA9EF"], ["\uA9FA", "\uA9FE"], ["\uAA00", "\uAA28"], ["\uAA40", "\uAA42"], ["\uAA44", "\uAA4B"], ["\uAA60", "\uAA76"], "\uAA7A", ["\uAA7E", "\uAAAF"], "\uAAB1", ["\uAAB5", "\uAAB6"], ["\uAAB9", "\uAABD"], "\uAAC0", "\uAAC2", ["\uAADB", "\uAADD"], ["\uAAE0", "\uAAEA"], ["\uAAF2", "\uAAF4"], ["\uAB01", "\uAB06"], ["\uAB09", "\uAB0E"], ["\uAB11", "\uAB16"], ["\uAB20", "\uAB26"], ["\uAB28", "\uAB2E"], ["\uAB30", "\uAB5A"], ["\uAB5C", "\uAB65"], ["\uAB70", "\uABE2"], ["\uAC00", "\uD7A3"], ["\uD7B0", "\uD7C6"], ["\uD7CB", "\uD7FB"], ["\uF900", "\uFA6D"], ["\uFA70", "\uFAD9"], ["\uFB00", "\uFB06"], ["\uFB13", "\uFB17"], "\uFB1D", ["\uFB1F", "\uFB28"], ["\uFB2A", "\uFB36"], ["\uFB38", "\uFB3C"], "\uFB3E", ["\uFB40", "\uFB41"], ["\uFB43", "\uFB44"], ["\uFB46", "\uFBB1"], ["\uFBD3", "\uFD3D"], ["\uFD50", "\uFD8F"], ["\uFD92", "\uFDC7"], ["\uFDF0", "\uFDFB"], ["\uFE70", "\uFE74"], ["\uFE76", "\uFEFC"], ["\uFF21", "\uFF3A"], ["\uFF41", "\uFF5A"], ["\uFF66", "\uFFBE"], ["\uFFC2", "\uFFC7"], ["\uFFCA", "\uFFCF"], ["\uFFD2", "\uFFD7"], ["\uFFDA", "\uFFDC"]], false, false);
|
|
27145
27180
|
var peg$e21 = peg$classExpectation([["\u0300", "\u036F"], ["\u0483", "\u0487"], ["\u0591", "\u05BD"], "\u05BF", ["\u05C1", "\u05C2"], ["\u05C4", "\u05C5"], "\u05C7", ["\u0610", "\u061A"], ["\u064B", "\u065F"], "\u0670", ["\u06D6", "\u06DC"], ["\u06DF", "\u06E4"], ["\u06E7", "\u06E8"], ["\u06EA", "\u06ED"], "\u0711", ["\u0730", "\u074A"], ["\u07A6", "\u07B0"], ["\u07EB", "\u07F3"], "\u07FD", ["\u0816", "\u0819"], ["\u081B", "\u0823"], ["\u0825", "\u0827"], ["\u0829", "\u082D"], ["\u0859", "\u085B"], ["\u08D3", "\u08E1"], ["\u08E3", "\u0903"], ["\u093A", "\u093C"], ["\u093E", "\u094F"], ["\u0951", "\u0957"], ["\u0962", "\u0963"], ["\u0981", "\u0983"], "\u09BC", ["\u09BE", "\u09C4"], ["\u09C7", "\u09C8"], ["\u09CB", "\u09CD"], "\u09D7", ["\u09E2", "\u09E3"], "\u09FE", ["\u0A01", "\u0A03"], "\u0A3C", ["\u0A3E", "\u0A42"], ["\u0A47", "\u0A48"], ["\u0A4B", "\u0A4D"], "\u0A51", ["\u0A70", "\u0A71"], "\u0A75", ["\u0A81", "\u0A83"], "\u0ABC", ["\u0ABE", "\u0AC5"], ["\u0AC7", "\u0AC9"], ["\u0ACB", "\u0ACD"], ["\u0AE2", "\u0AE3"], ["\u0AFA", "\u0AFF"], ["\u0B01", "\u0B03"], "\u0B3C", ["\u0B3E", "\u0B44"], ["\u0B47", "\u0B48"], ["\u0B4B", "\u0B4D"], ["\u0B56", "\u0B57"], ["\u0B62", "\u0B63"], "\u0B82", ["\u0BBE", "\u0BC2"], ["\u0BC6", "\u0BC8"], ["\u0BCA", "\u0BCD"], "\u0BD7", ["\u0C00", "\u0C04"], ["\u0C3E", "\u0C44"], ["\u0C46", "\u0C48"], ["\u0C4A", "\u0C4D"], ["\u0C55", "\u0C56"], ["\u0C62", "\u0C63"], ["\u0C81", "\u0C83"], "\u0CBC", ["\u0CBE", "\u0CC4"], ["\u0CC6", "\u0CC8"], ["\u0CCA", "\u0CCD"], ["\u0CD5", "\u0CD6"], ["\u0CE2", "\u0CE3"], ["\u0D00", "\u0D03"], ["\u0D3B", "\u0D3C"], ["\u0D3E", "\u0D44"], ["\u0D46", "\u0D48"], ["\u0D4A", "\u0D4D"], "\u0D57", ["\u0D62", "\u0D63"], ["\u0D82", "\u0D83"], "\u0DCA", ["\u0DCF", "\u0DD4"], "\u0DD6", ["\u0DD8", "\u0DDF"], ["\u0DF2", "\u0DF3"], "\u0E31", ["\u0E34", "\u0E3A"], ["\u0E47", "\u0E4E"], "\u0EB1", ["\u0EB4", "\u0EB9"], ["\u0EBB", "\u0EBC"], ["\u0EC8", "\u0ECD"], ["\u0F18", "\u0F19"], "\u0F35", "\u0F37", "\u0F39", ["\u0F3E", "\u0F3F"], ["\u0F71", "\u0F84"], ["\u0F86", "\u0F87"], ["\u0F8D", "\u0F97"], ["\u0F99", "\u0FBC"], "\u0FC6", ["\u102B", "\u103E"], ["\u1056", "\u1059"], ["\u105E", "\u1060"], ["\u1062", "\u1064"], ["\u1067", "\u106D"], ["\u1071", "\u1074"], ["\u1082", "\u108D"], "\u108F", ["\u109A", "\u109D"], ["\u135D", "\u135F"], ["\u1712", "\u1714"], ["\u1732", "\u1734"], ["\u1752", "\u1753"], ["\u1772", "\u1773"], ["\u17B4", "\u17D3"], "\u17DD", ["\u180B", "\u180D"], ["\u1885", "\u1886"], "\u18A9", ["\u1920", "\u192B"], ["\u1930", "\u193B"], ["\u1A17", "\u1A1B"], ["\u1A55", "\u1A5E"], ["\u1A60", "\u1A7C"], "\u1A7F", ["\u1AB0", "\u1ABD"], ["\u1B00", "\u1B04"], ["\u1B34", "\u1B44"], ["\u1B6B", "\u1B73"], ["\u1B80", "\u1B82"], ["\u1BA1", "\u1BAD"], ["\u1BE6", "\u1BF3"], ["\u1C24", "\u1C37"], ["\u1CD0", "\u1CD2"], ["\u1CD4", "\u1CE8"], "\u1CED", ["\u1CF2", "\u1CF4"], ["\u1CF7", "\u1CF9"], ["\u1DC0", "\u1DF9"], ["\u1DFB", "\u1DFF"], ["\u20D0", "\u20DC"], "\u20E1", ["\u20E5", "\u20F0"], ["\u2CEF", "\u2CF1"], "\u2D7F", ["\u2DE0", "\u2DFF"], ["\u302A", "\u302F"], ["\u3099", "\u309A"], "\uA66F", ["\uA674", "\uA67D"], ["\uA69E", "\uA69F"], ["\uA6F0", "\uA6F1"], "\uA802", "\uA806", "\uA80B", ["\uA823", "\uA827"], ["\uA880", "\uA881"], ["\uA8B4", "\uA8C5"], ["\uA8E0", "\uA8F1"], "\uA8FF", ["\uA926", "\uA92D"], ["\uA947", "\uA953"], ["\uA980", "\uA983"], ["\uA9B3", "\uA9C0"], "\uA9E5", ["\uAA29", "\uAA36"], "\uAA43", ["\uAA4C", "\uAA4D"], ["\uAA7B", "\uAA7D"], "\uAAB0", ["\uAAB2", "\uAAB4"], ["\uAAB7", "\uAAB8"], ["\uAABE", "\uAABF"], "\uAAC1", ["\uAAEB", "\uAAEF"], ["\uAAF5", "\uAAF6"], ["\uABE3", "\uABEA"], ["\uABEC", "\uABED"], "\uFB1E", ["\uFE00", "\uFE0F"], ["\uFE20", "\uFE2F"]], false, false);
|
|
27146
27181
|
var peg$e22 = peg$otherExpectation("whitespace");
|
|
@@ -28812,7 +28847,7 @@ async function resolve_literals(qualifier, default_source, deviceInfo, cache) {
|
|
|
28812
28847
|
);
|
|
28813
28848
|
if (!(0, import_chunk_JDC43A3I.hasProperty)(cache.resolvedPaths, resolved)) {
|
|
28814
28849
|
if (/[*?[\]{}]/.test(resolved)) {
|
|
28815
|
-
cache.resolvedPaths[resolved] = (0,
|
|
28850
|
+
cache.resolvedPaths[resolved] = (0, import_chunk_X7QCZR3F.globSome)(resolved, () => true);
|
|
28816
28851
|
} else {
|
|
28817
28852
|
cache.resolvedPaths[resolved] = fs5.stat(resolved).then(
|
|
28818
28853
|
() => true,
|
|
@@ -28891,12 +28926,12 @@ async function read_resource_files(targets, cache) {
|
|
|
28891
28926
|
if (!(0, import_chunk_JDC43A3I.hasProperty)(resourceGroupPromises, key)) {
|
|
28892
28927
|
resourceGroupPromises[key] = Promise.all(
|
|
28893
28928
|
p.qualifier.resourcePath.map(
|
|
28894
|
-
(pattern) => (0,
|
|
28929
|
+
(pattern) => (0, import_chunk_X7QCZR3F.globa)(pattern, { mark: true })
|
|
28895
28930
|
)
|
|
28896
28931
|
).then(
|
|
28897
28932
|
(patterns) => Promise.all(
|
|
28898
28933
|
patterns.flat().map(
|
|
28899
|
-
(path7) => path7.endsWith("/") ? (0,
|
|
28934
|
+
(path7) => path7.endsWith("/") ? (0, import_chunk_X7QCZR3F.globa)(`${path7}**/*.xml`, { mark: true }) : path7
|
|
28900
28935
|
)
|
|
28901
28936
|
)
|
|
28902
28937
|
).then(
|
|
@@ -28956,7 +28991,7 @@ async function find_build_instructions_in_resource(file, rez, buildDependencies)
|
|
|
28956
28991
|
const sourceExcludes = excludes.map((e) => e.file?.value.value).filter((f) => f != null).map((f) => path2.resolve(dir, f).replace(/\\/g, "/"));
|
|
28957
28992
|
const filePatterns = excludes.map((e) => e.dir?.value.value).filter((f) => f != null).map((f) => path2.join(dir, f, "**", "*.mc").replace(/\\/g, "/"));
|
|
28958
28993
|
if (filePatterns.length) {
|
|
28959
|
-
const files = (await Promise.all(filePatterns.map((p) => (0,
|
|
28994
|
+
const files = (await Promise.all(filePatterns.map((p) => (0, import_chunk_X7QCZR3F.globa)(p)))).flat();
|
|
28960
28995
|
sourceExcludes.push(...files);
|
|
28961
28996
|
}
|
|
28962
28997
|
const excludeAnnotations = excludes.map((e) => e.annotation?.value.value).filter((f) => f != null);
|
|
@@ -29133,15 +29168,15 @@ function identify_optimizer_groups(targets, options) {
|
|
|
29133
29168
|
function find_barrels(barrelPath, buildDependencies) {
|
|
29134
29169
|
return (Array.isArray(barrelPath) ? (
|
|
29135
29170
|
// This is a sublist. The barrel has more than one jungle file.
|
|
29136
|
-
Promise.all(barrelPath.map((path7) => (0,
|
|
29171
|
+
Promise.all(barrelPath.map((path7) => (0, import_chunk_X7QCZR3F.globa)(path7, { mark: true }))).then(
|
|
29137
29172
|
(paths) => [
|
|
29138
29173
|
paths.flat().filter((path7) => path7.endsWith(".jungle")).join(";")
|
|
29139
29174
|
]
|
|
29140
29175
|
)
|
|
29141
|
-
) : (0,
|
|
29176
|
+
) : (0, import_chunk_X7QCZR3F.globa)(barrelPath, { mark: true }).then(
|
|
29142
29177
|
(paths) => Promise.all(
|
|
29143
29178
|
paths.map(
|
|
29144
|
-
(path7) => path7.endsWith("/") ? (0,
|
|
29179
|
+
(path7) => path7.endsWith("/") ? (0, import_chunk_X7QCZR3F.globa)(`${path7}**/*.barrel`) : path7
|
|
29145
29180
|
)
|
|
29146
29181
|
)
|
|
29147
29182
|
).then(
|
|
@@ -29149,7 +29184,7 @@ function find_barrels(barrelPath, buildDependencies) {
|
|
|
29149
29184
|
(path7) => path7.endsWith(".jungle") || path7.endsWith(".barrel")
|
|
29150
29185
|
)
|
|
29151
29186
|
)).then((paths) => {
|
|
29152
|
-
(0,
|
|
29187
|
+
(0, import_chunk_X7QCZR3F.forEach)(
|
|
29153
29188
|
barrelPath,
|
|
29154
29189
|
(path7) => /[*?[\]{}]/.test(path7) || (buildDependencies[path7] = true)
|
|
29155
29190
|
);
|
|
@@ -29426,7 +29461,7 @@ var init_jungles = (0, import_chunk_ABYVSU2C.__esm)({
|
|
|
29426
29461
|
init_api();
|
|
29427
29462
|
init_manifest();
|
|
29428
29463
|
init_sdk_util();
|
|
29429
|
-
(0,
|
|
29464
|
+
(0, import_chunk_X7QCZR3F.init_util)();
|
|
29430
29465
|
depth = 0;
|
|
29431
29466
|
}
|
|
29432
29467
|
});
|
|
@@ -29454,7 +29489,7 @@ async function launchSimulator(force = true) {
|
|
|
29454
29489
|
await new Promise((r) => setTimeout(r, 200));
|
|
29455
29490
|
}
|
|
29456
29491
|
} catch (e) {
|
|
29457
|
-
(0,
|
|
29492
|
+
(0, import_chunk_X7QCZR3F.log)(e);
|
|
29458
29493
|
}
|
|
29459
29494
|
}
|
|
29460
29495
|
function checkIfSimulatorRunning() {
|
|
@@ -29485,10 +29520,10 @@ function simulateProgram(prg, device, test = false, logger2) {
|
|
|
29485
29520
|
}
|
|
29486
29521
|
}
|
|
29487
29522
|
return getSdkPath().then(
|
|
29488
|
-
(sdk) => (0,
|
|
29523
|
+
(sdk) => (0, import_chunk_X7QCZR3F.spawnByLine)(
|
|
29489
29524
|
path3.resolve(sdk, "bin", isWin ? "monkeydo.bat" : "monkeydo"),
|
|
29490
29525
|
args,
|
|
29491
|
-
logger2 || ((line) => (0,
|
|
29526
|
+
logger2 || ((line) => (0, import_chunk_X7QCZR3F.log)(line))
|
|
29492
29527
|
).then(() => {
|
|
29493
29528
|
return;
|
|
29494
29529
|
})
|
|
@@ -29498,7 +29533,7 @@ var init_launch = (0, import_chunk_ABYVSU2C.__esm)({
|
|
|
29498
29533
|
"src/launch.ts"() {
|
|
29499
29534
|
"use strict";
|
|
29500
29535
|
init_sdk_util();
|
|
29501
|
-
(0,
|
|
29536
|
+
(0, import_chunk_X7QCZR3F.init_util)();
|
|
29502
29537
|
}
|
|
29503
29538
|
});
|
|
29504
29539
|
async function analyze_module_types(state) {
|
|
@@ -29519,7 +29554,7 @@ async function analyze_module_types(state) {
|
|
|
29519
29554
|
for (const module2 of modulesSet) {
|
|
29520
29555
|
modulesSet.delete(module2);
|
|
29521
29556
|
const istate = buildTypeInfo(state, module2, false);
|
|
29522
|
-
await (0,
|
|
29557
|
+
await (0, import_chunk_X7QCZR3F.log)();
|
|
29523
29558
|
if (istate?.typeMap) {
|
|
29524
29559
|
moduleMap.set(module2, istate);
|
|
29525
29560
|
istate.dependencies?.forEach((flags, other) => {
|
|
@@ -29598,7 +29633,7 @@ var init_module_types = (0, import_chunk_ABYVSU2C.__esm)({
|
|
|
29598
29633
|
init_interp();
|
|
29599
29634
|
init_sub_type();
|
|
29600
29635
|
init_types();
|
|
29601
|
-
(0,
|
|
29636
|
+
(0, import_chunk_X7QCZR3F.init_logger)();
|
|
29602
29637
|
}
|
|
29603
29638
|
});
|
|
29604
29639
|
function relative_path_no_dotdot(relative2) {
|
|
@@ -29619,7 +29654,7 @@ async function getCodeWorkspaceSettings(folder) {
|
|
|
29619
29654
|
let curDir = folder;
|
|
29620
29655
|
try {
|
|
29621
29656
|
while (curDir) {
|
|
29622
|
-
const code_workspaces = await (0,
|
|
29657
|
+
const code_workspaces = await (0, import_chunk_X7QCZR3F.globa)(
|
|
29623
29658
|
path4.resolve(curDir, "*.code-workspace"),
|
|
29624
29659
|
{ onlyFiles: true }
|
|
29625
29660
|
);
|
|
@@ -29747,7 +29782,7 @@ async function createLocalBarrels(targets, options) {
|
|
|
29747
29782
|
optBarrelDir
|
|
29748
29783
|
};
|
|
29749
29784
|
return promise2.then(
|
|
29750
|
-
() => (0,
|
|
29785
|
+
() => (0, import_chunk_X7QCZR3F.copyRecursiveAsNeeded)(
|
|
29751
29786
|
rawBarrelDir,
|
|
29752
29787
|
optBarrelDir,
|
|
29753
29788
|
(src) => !src.endsWith(".mc")
|
|
@@ -30048,7 +30083,7 @@ async function filesFromPaths(workspace, buildDir, inPaths, extension) {
|
|
|
30048
30083
|
const filter = buildDir.startsWith(workspace);
|
|
30049
30084
|
const paths = (await Promise.all(
|
|
30050
30085
|
inPaths?.map(
|
|
30051
|
-
(pattern) => (0,
|
|
30086
|
+
(pattern) => (0, import_chunk_X7QCZR3F.globa)(pattern, { cwd: workspace, mark: true }).then(
|
|
30052
30087
|
(paths2) => paths2.map((p) => ({
|
|
30053
30088
|
path: p,
|
|
30054
30089
|
filter: filter && /^\*\*[\\/]\*\.mc$/i.test(path4.relative(workspace, pattern))
|
|
@@ -30058,7 +30093,7 @@ async function filesFromPaths(workspace, buildDir, inPaths, extension) {
|
|
|
30058
30093
|
)).flat();
|
|
30059
30094
|
const files = await Promise.all(
|
|
30060
30095
|
paths.map(
|
|
30061
|
-
(result) => result.path.endsWith("/") ? (0,
|
|
30096
|
+
(result) => result.path.endsWith("/") ? (0, import_chunk_X7QCZR3F.globa)(`${result.path}**/*${extension}`, {
|
|
30062
30097
|
cwd: workspace,
|
|
30063
30098
|
mark: true
|
|
30064
30099
|
}).then(
|
|
@@ -30185,7 +30220,7 @@ async function generateOneConfig(buildConfig, manifestXML, dependencyFiles, conf
|
|
|
30185
30220
|
})
|
|
30186
30221
|
);
|
|
30187
30222
|
}
|
|
30188
|
-
const actualOptimizedFiles = (await (0,
|
|
30223
|
+
const actualOptimizedFiles = (await (0, import_chunk_X7QCZR3F.globa)(path4.join(output, "**", "*.mc"), { mark: true })).filter((file) => !file.endsWith("/")).sort();
|
|
30189
30224
|
const {
|
|
30190
30225
|
hasTests,
|
|
30191
30226
|
diagnostics: prevDiagnostics,
|
|
@@ -30201,13 +30236,13 @@ async function generateOneConfig(buildConfig, manifestXML, dependencyFiles, conf
|
|
|
30201
30236
|
const sdk = await getSdkPath();
|
|
30202
30237
|
const match = sdk.match(/-(\d+\.\d+\.\d+)/);
|
|
30203
30238
|
if ((match && parseSdkVersion(match[1])) === prevSdkVersion) {
|
|
30204
|
-
const source_time = await (0,
|
|
30239
|
+
const source_time = await (0, import_chunk_X7QCZR3F.last_modified)(
|
|
30205
30240
|
Object.keys(fnMap).concat(dependencyFiles)
|
|
30206
30241
|
);
|
|
30207
|
-
const opt_time = await (0,
|
|
30242
|
+
const opt_time = await (0, import_chunk_X7QCZR3F.first_modified)(
|
|
30208
30243
|
Object.values(fnMap).map((v) => v.output)
|
|
30209
30244
|
);
|
|
30210
|
-
if (source_time < opt_time &&
|
|
30245
|
+
if (source_time < opt_time && 1732126457866 < opt_time) {
|
|
30211
30246
|
return {
|
|
30212
30247
|
hasTests,
|
|
30213
30248
|
diagnostics: prevDiagnostics,
|
|
@@ -30245,7 +30280,7 @@ async function generateOneConfig(buildConfig, manifestXML, dependencyFiles, conf
|
|
|
30245
30280
|
hasTests: hasTests2,
|
|
30246
30281
|
diagnostics,
|
|
30247
30282
|
sdkVersion,
|
|
30248
|
-
optimizerVersion: "1.1.
|
|
30283
|
+
optimizerVersion: "1.1.81",
|
|
30249
30284
|
...Object.fromEntries(
|
|
30250
30285
|
configOptionsToCheck.map((option) => [option, config[option]])
|
|
30251
30286
|
)
|
|
@@ -30259,7 +30294,7 @@ function getProjectAnalysis(targets, analysis, manifestXML, options) {
|
|
|
30259
30294
|
return getConfig(options).then(
|
|
30260
30295
|
(options2) => getProjectAnalysisHelper(targets, analysis, manifestXML, options2)
|
|
30261
30296
|
).catch(
|
|
30262
|
-
(ex) => Promise.reject(ex instanceof
|
|
30297
|
+
(ex) => Promise.reject(ex instanceof import_chunk_X7QCZR3F.AwaitedError ? ex.resolve() : ex)
|
|
30263
30298
|
);
|
|
30264
30299
|
}
|
|
30265
30300
|
async function getProjectAnalysisHelper(targets, analysis, manifestXML, options) {
|
|
@@ -30384,7 +30419,7 @@ var init_optimizer = (0, import_chunk_ABYVSU2C.__esm)({
|
|
|
30384
30419
|
init_sdk_util();
|
|
30385
30420
|
init_interp();
|
|
30386
30421
|
init_module_types();
|
|
30387
|
-
(0,
|
|
30422
|
+
(0, import_chunk_X7QCZR3F.init_util)();
|
|
30388
30423
|
init_worker_pool();
|
|
30389
30424
|
init_optimizer_types();
|
|
30390
30425
|
init_types();
|
|
@@ -30444,7 +30479,7 @@ async function performTask(task) {
|
|
|
30444
30479
|
throw new Error(`Invalid task type ${type}`);
|
|
30445
30480
|
}
|
|
30446
30481
|
return Promise.resolve(handler(task.data)).then(
|
|
30447
|
-
(result) =>
|
|
30482
|
+
(result) => import_chunk_X7QCZR3F.logPromise.then(() => result)
|
|
30448
30483
|
);
|
|
30449
30484
|
}
|
|
30450
30485
|
var workerTaskHandlers;
|
|
@@ -30454,7 +30489,7 @@ var init_worker_task = (0, import_chunk_ABYVSU2C.__esm)({
|
|
|
30454
30489
|
init_optimizer();
|
|
30455
30490
|
init_readprg();
|
|
30456
30491
|
init_sdk_util();
|
|
30457
|
-
(0,
|
|
30492
|
+
(0, import_chunk_X7QCZR3F.init_logger)();
|
|
30458
30493
|
workerTaskHandlers = {
|
|
30459
30494
|
buildOptimizedProject(data) {
|
|
30460
30495
|
return buildOptimizedProject(data.product, data.options);
|
|
@@ -30672,7 +30707,7 @@ async function optimizeProgram(filepath, devKey, output, config) {
|
|
|
30672
30707
|
}
|
|
30673
30708
|
function optimizeProgramBuffer(filepath, view, debugXml, apiDebugXml, key, config) {
|
|
30674
30709
|
const { sections } = readPrgWithOffsets(view);
|
|
30675
|
-
(0,
|
|
30710
|
+
(0, import_chunk_X7QCZR3F.logger)("readprg", 5, sections);
|
|
30676
30711
|
const symbolTable = new SymbolTable();
|
|
30677
30712
|
if ((0, import_chunk_JDC43A3I.hasProperty)(sections, 1461170197 .toString())) {
|
|
30678
30713
|
symbolTable.parse(sections[
|
|
@@ -30972,7 +31007,7 @@ var init_readprg = (0, import_chunk_ABYVSU2C.__esm)({
|
|
|
30972
31007
|
init_signer();
|
|
30973
31008
|
init_symbols();
|
|
30974
31009
|
init_sdk_util();
|
|
30975
|
-
(0,
|
|
31010
|
+
(0, import_chunk_X7QCZR3F.init_util)();
|
|
30976
31011
|
init_worker_pool();
|
|
30977
31012
|
}
|
|
30978
31013
|
});
|
|
@@ -30984,7 +31019,7 @@ function getSdkPath() {
|
|
|
30984
31019
|
});
|
|
30985
31020
|
}
|
|
30986
31021
|
async function getDeviceInfo() {
|
|
30987
|
-
const files = await (0,
|
|
31022
|
+
const files = await (0, import_chunk_X7QCZR3F.globa)(`${connectiq}/Devices/*/compiler.json`);
|
|
30988
31023
|
if (!files.length) {
|
|
30989
31024
|
throw new Error(
|
|
30990
31025
|
`No devices found at '${connectiq}/Devices'. Check your sdk is correctly installed`
|
|
@@ -31052,7 +31087,7 @@ async function getFunctionDocumentation() {
|
|
|
31052
31087
|
var isWin, appSupport, connectiq;
|
|
31053
31088
|
var init_sdk_util = (0, import_chunk_ABYVSU2C.__esm)({
|
|
31054
31089
|
"src/sdk-util.ts"() {
|
|
31055
|
-
(0,
|
|
31090
|
+
(0, import_chunk_X7QCZR3F.init_util)();
|
|
31056
31091
|
init_xml_util();
|
|
31057
31092
|
init_readprg();
|
|
31058
31093
|
init_bytecode();
|