@mirascript/mirascript 0.1.22 → 0.1.23

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.
Files changed (97) hide show
  1. package/bench/index.ts +45 -0
  2. package/dist/{chunk-PECLT2P6.js → chunk-CHS52AEC.js} +35 -9
  3. package/dist/chunk-CHS52AEC.js.map +6 -0
  4. package/dist/{chunk-4T5YE7LC.js → chunk-K7JDJG3G.js} +26 -31
  5. package/dist/chunk-K7JDJG3G.js.map +6 -0
  6. package/dist/chunk-X6LYEGOK.js +69 -0
  7. package/dist/chunk-X6LYEGOK.js.map +6 -0
  8. package/dist/{chunk-7HH5Y4QO.js → chunk-XWQWKD67.js} +579 -529
  9. package/dist/chunk-XWQWKD67.js.map +6 -0
  10. package/dist/cli/index.js +4 -4
  11. package/dist/compiler/compile-fast.d.ts.map +1 -1
  12. package/dist/compiler/create-script.d.ts +6 -2
  13. package/dist/compiler/create-script.d.ts.map +1 -1
  14. package/dist/compiler/emit/constants.d.ts +1 -1
  15. package/dist/compiler/emit/constants.d.ts.map +1 -1
  16. package/dist/compiler/emit/index.d.ts.map +1 -1
  17. package/dist/compiler/worker.js +1 -1
  18. package/dist/helpers/analyze.d.ts +8 -0
  19. package/dist/helpers/analyze.d.ts.map +1 -0
  20. package/dist/index.js +3 -3
  21. package/dist/subtle.d.ts +3 -2
  22. package/dist/subtle.d.ts.map +1 -1
  23. package/dist/subtle.js +12 -7
  24. package/dist/vm/operations/call.d.ts +3 -0
  25. package/dist/vm/operations/call.d.ts.map +1 -0
  26. package/dist/vm/operations/common.d.ts +3 -0
  27. package/dist/vm/operations/common.d.ts.map +1 -0
  28. package/dist/vm/operations/compound.d.ts +12 -0
  29. package/dist/vm/operations/compound.d.ts.map +1 -0
  30. package/dist/vm/operations/convert.d.ts +6 -0
  31. package/dist/vm/operations/convert.d.ts.map +1 -0
  32. package/dist/vm/operations/cp.d.ts +2 -0
  33. package/dist/vm/operations/cp.d.ts.map +1 -0
  34. package/dist/vm/operations/helpers.d.ts +19 -0
  35. package/dist/vm/operations/helpers.d.ts.map +1 -0
  36. package/dist/vm/operations/index.d.ts +10 -0
  37. package/dist/vm/operations/index.d.ts.map +1 -0
  38. package/dist/vm/operations/operator.d.ts +24 -0
  39. package/dist/vm/operations/operator.d.ts.map +1 -0
  40. package/dist/vm/operations/slice.d.ts +4 -0
  41. package/dist/vm/operations/slice.d.ts.map +1 -0
  42. package/dist/vm/operations/type-check.d.ts +9 -0
  43. package/dist/vm/operations/type-check.d.ts.map +1 -0
  44. package/dist/vm/operations/utils.d.ts +11 -0
  45. package/dist/vm/operations/utils.d.ts.map +1 -0
  46. package/dist/vm/types/boundary.d.ts +2 -3
  47. package/dist/vm/types/boundary.d.ts.map +1 -1
  48. package/dist/vm/types/context.d.ts +2 -4
  49. package/dist/vm/types/context.d.ts.map +1 -1
  50. package/dist/vm/types/extern.d.ts +2 -2
  51. package/dist/vm/types/extern.d.ts.map +1 -1
  52. package/dist/vm/types/index.d.ts +1 -1
  53. package/dist/vm/types/index.d.ts.map +1 -1
  54. package/package.json +6 -4
  55. package/src/compiler/compile-fast.ts +32 -12
  56. package/src/compiler/create-script.ts +19 -5
  57. package/src/compiler/emit/constants.ts +1 -1
  58. package/src/compiler/emit/index.ts +18 -25
  59. package/src/compiler/emit/sourcemap.ts +8 -8
  60. package/src/helpers/analyze.ts +70 -0
  61. package/src/subtle.ts +3 -2
  62. package/src/vm/lib/global/sequence/all-any.ts +2 -2
  63. package/src/vm/lib/global/sequence/find.ts +2 -2
  64. package/src/vm/lib/global/sequence/map-filter.ts +1 -1
  65. package/src/vm/lib/global/sequence/sort.ts +1 -1
  66. package/src/vm/lib/global/sequence/with.ts +2 -2
  67. package/src/vm/lib/global/sequence/zip.ts +1 -1
  68. package/src/vm/lib/helpers.ts +1 -1
  69. package/src/vm/lib/mod/matrix.ts +2 -2
  70. package/src/vm/operations/call.ts +18 -0
  71. package/src/vm/operations/common.ts +6 -0
  72. package/src/vm/operations/compound.ts +148 -0
  73. package/src/vm/operations/convert.ts +24 -0
  74. package/src/vm/operations/cp.ts +1 -0
  75. package/src/vm/{helpers.ts → operations/helpers.ts} +17 -18
  76. package/src/vm/operations/index.ts +9 -0
  77. package/src/vm/operations/operator.ts +131 -0
  78. package/src/vm/operations/slice.ts +41 -0
  79. package/src/vm/operations/type-check.ts +38 -0
  80. package/src/vm/operations/utils.ts +66 -0
  81. package/src/vm/types/boundary.ts +18 -13
  82. package/src/vm/types/context.ts +72 -38
  83. package/src/vm/types/extern.ts +5 -4
  84. package/src/vm/types/index.ts +1 -1
  85. package/dist/chunk-4T5YE7LC.js.map +0 -6
  86. package/dist/chunk-7HH5Y4QO.js.map +0 -6
  87. package/dist/chunk-PECLT2P6.js.map +0 -6
  88. package/dist/chunk-RNLB52WP.js +0 -1
  89. package/dist/chunk-RNLB52WP.js.map +0 -6
  90. package/dist/vm/env.d.ts +0 -3
  91. package/dist/vm/env.d.ts.map +0 -1
  92. package/dist/vm/helpers.d.ts +0 -20
  93. package/dist/vm/helpers.d.ts.map +0 -1
  94. package/dist/vm/operations.d.ts +0 -49
  95. package/dist/vm/operations.d.ts.map +0 -1
  96. package/src/vm/env.ts +0 -16
  97. package/src/vm/operations.ts +0 -412
package/bench/index.ts ADDED
@@ -0,0 +1,45 @@
1
+ import { Bench } from 'tinybench';
2
+ import { compile, compileSync, createVmContext } from '@mirascript/mirascript';
3
+
4
+ const bench = new Bench({ name: 'simple benchmark', time: 1000 });
5
+ const source = `sin(x) + cos(y + PI / 2)`;
6
+ const env = { x: 1, y: 2 };
7
+
8
+ bench
9
+ .add('compile', async () => {
10
+ await compile(source);
11
+ })
12
+ .add('compileSync', () => {
13
+ compileSync(source);
14
+ });
15
+
16
+ bench.add('createVmContext', () => {
17
+ return createVmContext(env);
18
+ });
19
+
20
+ const vmContext = createVmContext(env);
21
+ const script = compileSync(source);
22
+ bench.add('run', () => {
23
+ return script(vmContext);
24
+ });
25
+
26
+ bench.add('nativeCompile', () => {
27
+ // eslint-disable-next-line @typescript-eslint/no-implied-eval
28
+ return new Function('context', `const {sin,cos,PI,x,y} = context; return ${source};`);
29
+ });
30
+ bench.add('nativeCreateContext', () => {
31
+ return { __proto__: Math, ...env };
32
+ });
33
+ const nativeContext = { __proto__: Math, ...env };
34
+ // eslint-disable-next-line @typescript-eslint/no-implied-eval
35
+ const nativeScript = new Function('context', `const {sin,cos,PI,x,y} = context; return ${source};`) as (
36
+ context: Record<string, unknown>,
37
+ ) => unknown;
38
+
39
+ bench.add('nativeRun', () => {
40
+ return nativeScript(nativeContext);
41
+ });
42
+
43
+ await bench.run();
44
+ // eslint-disable-next-line no-console
45
+ console.table(bench.table());
@@ -1,16 +1,17 @@
1
1
  import {
2
- GlobalFallback,
2
+ $GlobalFallback,
3
3
  createScript,
4
4
  emitScript,
5
5
  keywords,
6
6
  reportDiagnostic,
7
7
  wrapScript
8
- } from "./chunk-7HH5Y4QO.js";
8
+ } from "./chunk-XWQWKD67.js";
9
9
  import {
10
+ defineProperty,
10
11
  generateBytecode,
11
12
  generateBytecodeSync,
12
13
  isFinite
13
- } from "./chunk-4T5YE7LC.js";
14
+ } from "./chunk-K7JDJG3G.js";
14
15
 
15
16
  // src/compiler/compile-fast.ts
16
17
  var REG_NUMBER_FULL = /^(?:[+-])?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?$/;
@@ -24,11 +25,28 @@ function constantFiniteNumber(value) {
24
25
  return () => 0;
25
26
  }
26
27
  }
27
- return new Function(`return () => ${value};`)();
28
+ const f = () => value;
29
+ defineProperty(f, "toString", {
30
+ value: () => {
31
+ return `() => ${value};`;
32
+ },
33
+ writable: false,
34
+ enumerable: false,
35
+ configurable: false
36
+ });
37
+ return f;
28
38
  }
29
39
  function constantString(value) {
30
- const code = JSON.stringify(value);
31
- return new Function(`return () => ${code};`)();
40
+ const f = () => value;
41
+ defineProperty(f, "toString", {
42
+ value: () => {
43
+ return `() => ${JSON.stringify(value)};`;
44
+ },
45
+ writable: false,
46
+ enumerable: false,
47
+ configurable: false
48
+ });
49
+ return f;
32
50
  }
33
51
  function nan() {
34
52
  return () => 0 / 0;
@@ -50,8 +68,16 @@ function nil() {
50
68
  return () => null;
51
69
  }
52
70
  function globalVariable(id) {
53
- const code = `return (global = GlobalFallback()) => global.get(\`${id}\`);`;
54
- return new Function("GlobalFallback", code)(GlobalFallback);
71
+ const f = (global = $GlobalFallback()) => global.get(id);
72
+ defineProperty(f, "toString", {
73
+ value: () => {
74
+ return `(global = $GlobalFallback()) => global.get(${JSON.stringify(id)});`;
75
+ },
76
+ writable: false,
77
+ enumerable: false,
78
+ configurable: false
79
+ });
80
+ return f;
55
81
  }
56
82
  var kw;
57
83
  function compileScriptFast(code, options) {
@@ -201,4 +227,4 @@ export {
201
227
  compile,
202
228
  compileSync
203
229
  };
204
- //# sourceMappingURL=chunk-PECLT2P6.js.map
230
+ //# sourceMappingURL=chunk-CHS52AEC.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/compiler/compile-fast.ts", "../src/compiler/worker-manager.ts", "../src/compiler/index.ts"],
4
+ "mappings": "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",
5
+ "names": ["worker"]
6
+ }
@@ -736,7 +736,7 @@ function readConsts(constChunk) {
736
736
  import { SourceMapGenerator } from "source-map-js";
737
737
 
738
738
  // src/compiler/emit/constants.ts
739
- var SCRIPT_PREFIX = `return ((global = GlobalFallback()) => { try { CpEnter();`;
739
+ var SCRIPT_PREFIX = `((global = $GlobalFallback()) => { try { $CpEnter();`;
740
740
 
741
741
  // src/compiler/emit/sourcemap.ts
742
742
  var ORIGIN = `mira://MiraScript/`;
@@ -799,20 +799,19 @@ function createSourceMap(source, sourcemaps, codeLines, functions, options) {
799
799
  source: fileName
800
800
  });
801
801
  }
802
- let fnNames = `'use strict';`;
803
802
  if (typeof source === "string") {
804
803
  const lines = source.split(/\r?\n/);
805
- for (let i = 0; i < functions.length; i++) {
806
- const index = functions[i];
807
- const mapping = sourcemaps[index];
808
- const line = mapping ? lines[mapping.startLineNumber - 1] : void 0;
809
- const fnName = mapping && line ? line.slice(mapping.startColumn - 1, mapping.endColumn - 1) : "";
810
- fnNames += `var fnName_${i} = ${fnName ? toJsLiteral(fnName) : "null"};`;
804
+ for (const codeLineNo of functions) {
805
+ const mapping = sourcemaps[codeLineNo];
806
+ const sourceLine = mapping ? lines[mapping.startLineNumber - 1] : void 0;
807
+ const fnName = mapping && sourceLine ? sourceLine.slice(mapping.startColumn - 1, mapping.endColumn - 1) : "";
808
+ if (!fnName) continue;
809
+ const codeLine = codeLines[codeLineNo];
810
+ codeLines[codeLineNo] = codeLine.replace(`= $Fn(null,`, `= $Fn(${toJsLiteral(fnName)},`);
811
811
  }
812
812
  }
813
813
  const sourceURL = hasSchema ? fileName : `${ORIGIN}${fileName}`;
814
814
  const dataUrl = toDataUrl(map.toString());
815
- codeLines.unshift(fnNames);
816
815
  codeLines.push(
817
816
  // Prevent source map from being recognized as of this file
818
817
  `${SOURCE_URL}=${sourceURL}.js`,
@@ -915,7 +914,7 @@ var Emitter = class {
915
914
  continue;
916
915
  }
917
916
  this.codeOffset++;
918
- const body = this.ident(-1) + `} finally { CpExit(); } });`;
917
+ const body = this.ident(-1) + `} finally { $CpExit(); } });`;
919
918
  this.codeLines.push(body);
920
919
  this.closureCounter--;
921
920
  this.identCounter--;
@@ -985,7 +984,7 @@ var Emitter = class {
985
984
  }
986
985
  const value = read();
987
986
  const opt = opcode === OpCode.FieldOpt;
988
- code = opt ? `...ElementOpt(${field_name}, ${this.rv(value)}),` : `[${field_name}]: Element(${this.rv(value)}),`;
987
+ code = opt ? `...$ElOpt(${field_name}, ${this.rv(value)}),` : `[${field_name}]: $El(${this.rv(value)}),`;
989
988
  break;
990
989
  }
991
990
  case OpCode.FieldOptDyn:
@@ -993,7 +992,7 @@ var Emitter = class {
993
992
  const field = read();
994
993
  const value = read();
995
994
  const opt = opcode === OpCode.FieldOptDyn;
996
- code = opt ? `...ElementOpt(${this.rv(field)}, ${this.rv(value)}),` : `[${this.rv(field)}]: Element(${this.rv(value)}),`;
995
+ code = opt ? `...$ElOpt(${this.rv(field)}, ${this.rv(value)}),` : `[${this.rv(field)}]: $El(${this.rv(value)}),`;
997
996
  break;
998
997
  }
999
998
  case OpCode.FieldOptIndex:
@@ -1001,7 +1000,7 @@ var Emitter = class {
1001
1000
  const field = this.readIndex(wide);
1002
1001
  const value = read();
1003
1002
  const opt = opcode === OpCode.FieldOptIndex;
1004
- code = opt ? `...ElementOpt(${field}, ${this.rv(value)}),` : `[${field}]: Element(${this.rv(value)}),`;
1003
+ code = opt ? `...$ElOpt(${field}, ${this.rv(value)}),` : `[${field}]: $El(${this.rv(value)}),`;
1005
1004
  break;
1006
1005
  }
1007
1006
  case OpCode.Spread: {
@@ -1038,25 +1037,25 @@ var Emitter = class {
1038
1037
  switch (opcode) {
1039
1038
  case OpCode.Item: {
1040
1039
  const value = read();
1041
- code = `Element(${this.rv(value)}),`;
1040
+ code = `$El(${this.rv(value)}),`;
1042
1041
  break;
1043
1042
  }
1044
1043
  case OpCode.ItemRange: {
1045
1044
  const start = this.readIndex(wide);
1046
1045
  const end = this.readIndex(wide);
1047
- code = `...ArrayRange(${start}, ${end}),`;
1046
+ code = `...$ArrayRange(${start}, ${end}),`;
1048
1047
  break;
1049
1048
  }
1050
1049
  case OpCode.ItemRangeDyn: {
1051
1050
  const start = read();
1052
1051
  const end = read();
1053
- code = `...ArrayRange(${this.rv(start)}, ${this.rv(end)}),`;
1052
+ code = `...$ArrayRange(${this.rv(start)}, ${this.rv(end)}),`;
1054
1053
  break;
1055
1054
  }
1056
1055
  case OpCode.ItemRangeExclusiveDyn: {
1057
1056
  const start = read();
1058
1057
  const end = read();
1059
- code = `...ArrayRangeExclusive(${this.rv(start)}, ${this.rv(end)}),`;
1058
+ code = `...$ArrayRangeExclusive(${this.rv(start)}, ${this.rv(end)}),`;
1060
1059
  break;
1061
1060
  }
1062
1061
  case OpCode.Spread: {
@@ -1102,7 +1101,7 @@ var Emitter = class {
1102
1101
  const args = createArray(argn, (i) => {
1103
1102
  const wv = this.wv(i + 1, -1);
1104
1103
  if (varg && i === argn - 1) {
1105
- return `...vargs`;
1104
+ return `...args`;
1106
1105
  }
1107
1106
  return `${wv} = null`;
1108
1107
  });
@@ -1114,16 +1113,13 @@ var Emitter = class {
1114
1113
  if (script) {
1115
1114
  code = `${SCRIPT_PREFIX} var ${regs};`;
1116
1115
  } else {
1117
- if (!this.options.sourceMap) {
1118
- code = `${this.wv(reg)} = Function(null ,(${args.join(", ")}) => { try { CpEnter(); var ${regs};`;
1119
- } else {
1120
- const index = this.functions.length;
1116
+ if (this.options.sourceMap) {
1121
1117
  this.functions.push(this.codeLines.length);
1122
- code = `${this.wv(reg)} = Function(fnName_${index} ,(${args.join(", ")}) => { try { CpEnter(); var ${regs};`;
1123
1118
  }
1119
+ code = `${this.wv(reg)} = $Fn(null, (${args.join(", ")}) => { try { $CpEnter(); var ${regs};`;
1124
1120
  }
1125
1121
  if (varg) {
1126
- code += ` var ${this.wv(argn, -1)} = Vargs(vargs);`;
1122
+ code += ` var ${this.wv(argn, -1)} = $VArgs(args);`;
1127
1123
  }
1128
1124
  break;
1129
1125
  }
@@ -1316,7 +1312,7 @@ var Emitter = class {
1316
1312
  reg = read();
1317
1313
  const level = read();
1318
1314
  const up = read();
1319
- code = `${this.wv(reg)} = Upvalue(${this.rv(up, level)});`;
1315
+ code = `${this.wv(reg)} = $Upvalue(${this.rv(up, level)});`;
1320
1316
  break;
1321
1317
  }
1322
1318
  case OpCode.SetUpvalue: {
@@ -1410,7 +1406,7 @@ var Emitter = class {
1410
1406
  const regs = createArray(nreg - 1, (i) => this.wv(i + 2, -1));
1411
1407
  regs.unshift("_");
1412
1408
  const ir = this.wv(1, -1);
1413
- code = `for (let ${ir} of $Iterable(${this.rv(iterable)})) { ${ir} ??= null; Cp(); let ${regs.join(", ")};`;
1409
+ code = `for (let ${ir} of $Iterable(${this.rv(iterable)})) { ${ir} ??= null; $Cp(); let ${regs.join(", ")};`;
1414
1410
  break;
1415
1411
  }
1416
1412
  case OpCode.LoopRange:
@@ -1422,14 +1418,14 @@ var Emitter = class {
1422
1418
  const regs = createArray(nreg - 1, (i2) => this.wv(i2 + 2, -1));
1423
1419
  regs.unshift("_");
1424
1420
  const i = this.wv(1, -1);
1425
- code = `for (let start = $ToNumber(${this.rv(start)}), end = $ToNumber(${this.rv(end)}), ${i} = start; ${i} ${exclusive ? "<" : "<="} end; ${i} += 1) { Cp(); let ${regs.join(", ")};`;
1421
+ code = `for (let start = $ToNumber(${this.rv(start)}), end = $ToNumber(${this.rv(end)}), ${i} = start; ${i} ${exclusive ? "<" : "<="} end; ${i} += 1) { $Cp(); let ${regs.join(", ")};`;
1426
1422
  break;
1427
1423
  }
1428
1424
  case OpCode.Loop: {
1429
1425
  const nreg = read();
1430
1426
  const regs = createArray(nreg, (i) => this.wv(i + 1, -1));
1431
1427
  regs.unshift("_");
1432
- code = `while (true) { Cp(); let ${regs.join(", ")};`;
1428
+ code = `while (true) { $Cp(); let ${regs.join(", ")};`;
1433
1429
  break;
1434
1430
  }
1435
1431
  case OpCode.Break: {
@@ -1493,8 +1489,6 @@ var Emitter = class {
1493
1489
  addSourceMap() {
1494
1490
  if (this.options.sourceMap) {
1495
1491
  createSourceMap(this.source, this.sourcemaps, this.codeLines, this.functions, this.options);
1496
- } else {
1497
- this.codeLines.unshift(`'use strict';`);
1498
1492
  }
1499
1493
  }
1500
1494
  };
@@ -1640,6 +1634,7 @@ function formatDiagnostics(diagnostics, source, fileName) {
1640
1634
 
1641
1635
  export {
1642
1636
  __export,
1637
+ REG_IDENTIFIER,
1643
1638
  VM_ARRAY_MAX_LENGTH,
1644
1639
  kVmScript,
1645
1640
  kVmFunction,
@@ -1704,4 +1699,4 @@ export {
1704
1699
  parseDiagnostics,
1705
1700
  formatDiagnostics
1706
1701
  };
1707
- //# sourceMappingURL=chunk-4T5YE7LC.js.map
1702
+ //# sourceMappingURL=chunk-K7JDJG3G.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/helpers/constants.ts", "../src/helpers/utils.ts", "../src/helpers/types.ts", "../src/helpers/serialize.ts", "../src/helpers/error.ts", "../src/compiler/generate-bytecode.ts", "../src/compiler/emit/index.ts", "../src/helpers/convert/to-string.ts", "../src/compiler/emit/consts.ts", "../src/compiler/emit/sourcemap.ts", "../src/compiler/emit/constants.ts", "../src/compiler/diagnostic.ts"],
4
+ "mappings": "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",
5
+ "names": ["entries", "keys", "value", "entries", "a", "b", "c", "e", "g", "i", "k", "m", "i", "getModule", "getModule"]
6
+ }
@@ -0,0 +1,69 @@
1
+ import {
2
+ DiagnosticCode,
3
+ REG_IDENTIFIER,
4
+ generateBytecodeSync,
5
+ parseDiagnostics
6
+ } from "./chunk-K7JDJG3G.js";
7
+
8
+ // src/helpers/analyze.ts
9
+ var REG_SPILT = /\s*!?\s*\.\s*/u;
10
+ var REG_CHAIN = new RegExp(
11
+ String.raw`^(${REG_IDENTIFIER.source})(?:${REG_SPILT.source}(?:\d+|${REG_IDENTIFIER.source}))*`,
12
+ "u"
13
+ );
14
+ var { parseInt } = Number;
15
+ function analyzeGlobalReferences(expression, mode) {
16
+ if (expression.trim() === "") {
17
+ return [];
18
+ }
19
+ const [code, diagnostics] = generateBytecodeSync(expression, {
20
+ input_mode: mode || "Script",
21
+ diagnostic_position_encoding: "Utf16",
22
+ // 需要设为 true 以便在编译失败时返回空的 bytecode
23
+ diagnostic_error: true,
24
+ diagnostic_warning: false,
25
+ diagnostic_info: false,
26
+ diagnostic_hint: false,
27
+ diagnostic_reference: false,
28
+ diagnostic_tag: true,
29
+ diagnostic_sourcemap: false,
30
+ trivia: false
31
+ });
32
+ if (code == null || diagnostics.length === 0) {
33
+ return [];
34
+ }
35
+ const parsedDiagnostics = parseDiagnostics(expression, diagnostics);
36
+ const globals = parsedDiagnostics.tags.filter((t) => t.code === DiagnosticCode.GlobalVariable);
37
+ if (globals.length === 0) {
38
+ return [];
39
+ }
40
+ const lines = expression.split(/\r?\n/);
41
+ const result = /* @__PURE__ */ new Set();
42
+ for (const global of globals) {
43
+ const line = lines[global.range.startLineNumber - 1];
44
+ if (!line) continue;
45
+ const access = line.slice(global.range.startColumn - 1);
46
+ const chain = REG_CHAIN.exec(access);
47
+ if (chain == null) continue;
48
+ const globalName = chain[1];
49
+ if (globalName?.length !== global.range.endColumn - global.range.startColumn) continue;
50
+ const chainStr = chain[0].split(REG_SPILT).join(".");
51
+ result.add(chainStr);
52
+ }
53
+ const accessChains = [];
54
+ for (const chainStr of result) {
55
+ const parts = chainStr.split(".").map((part) => {
56
+ if (/^\d/.test(part)) {
57
+ return parseInt(part, 10);
58
+ }
59
+ return part;
60
+ });
61
+ accessChains.push(parts);
62
+ }
63
+ return accessChains;
64
+ }
65
+
66
+ export {
67
+ analyzeGlobalReferences
68
+ };
69
+ //# sourceMappingURL=chunk-X6LYEGOK.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/helpers/analyze.ts"],
4
+ "mappings": ";;;;;;;;AAQA,IAAM,YAAY;AAClB,IAAM,YAAY,IAAI;AAAA,EAClB,OAAO,QAAQ,eAAe,MAAM,OAAO,UAAU,MAAM,UAAU,eAAe,MAAM;AAAA,EAC1F;AACJ;AAEA,IAAM,EAAE,SAAS,IAAI;AAId,SAAS,wBAAwB,YAAoB,MAA0C;AAClG,MAAI,WAAW,KAAK,MAAM,IAAI;AAC1B,WAAO,CAAC;AAAA,EACZ;AACA,QAAM,CAAC,MAAM,WAAW,IAAI,qBAAqB,YAAY;AAAA,IACzD,YAAY,QAAQ;AAAA,IACpB,8BAA8B;AAAA;AAAA,IAE9B,kBAAkB;AAAA,IAClB,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,IACjB,iBAAiB;AAAA,IACjB,sBAAsB;AAAA,IACtB,gBAAgB;AAAA,IAChB,sBAAsB;AAAA,IACtB,QAAQ;AAAA,EACZ,CAAC;AACD,MAAI,QAAQ,QAAQ,YAAY,WAAW,GAAG;AAC1C,WAAO,CAAC;AAAA,EACZ;AACA,QAAM,oBAAoB,iBAAiB,YAAY,WAAW;AAClE,QAAM,UAAU,kBAAkB,KAAK,OAAO,CAAC,MAAM,EAAE,SAAS,eAAe,cAAc;AAC7F,MAAI,QAAQ,WAAW,GAAG;AACtB,WAAO,CAAC;AAAA,EACZ;AACA,QAAM,QAAQ,WAAW,MAAM,OAAO;AACtC,QAAM,SAAS,oBAAI,IAAY;AAC/B,aAAW,UAAU,SAAS;AAE1B,UAAM,OAAO,MAAM,OAAO,MAAM,kBAAkB,CAAC;AACnD,QAAI,CAAC,KAAM;AACX,UAAM,SAAS,KAAK,MAAM,OAAO,MAAM,cAAc,CAAC;AACtD,UAAM,QAAQ,UAAU,KAAK,MAAM;AACnC,QAAI,SAAS,KAAM;AACnB,UAAM,aAAa,MAAM,CAAC;AAC1B,QAAI,YAAY,WAAW,OAAO,MAAM,YAAY,OAAO,MAAM,YAAa;AAC9E,UAAM,WAAW,MAAM,CAAC,EAAE,MAAM,SAAS,EAAE,KAAK,GAAG;AACnD,WAAO,IAAI,QAAQ;AAAA,EACvB;AACA,QAAM,eAAuC,CAAC;AAC9C,aAAW,YAAY,QAAQ;AAC3B,UAAM,QAAQ,SAAS,MAAM,GAAG,EAAE,IAAI,CAAC,SAAS;AAC5C,UAAI,MAAM,KAAK,IAAI,GAAG;AAElB,eAAO,SAAS,MAAM,EAAE;AAAA,MAC5B;AACA,aAAO;AAAA,IACX,CAAC;AACD,iBAAa,KAAK,KAAwC;AAAA,EAC9D;AACA,SAAO;AACX;",
5
+ "names": []
6
+ }