@mirascript/mirascript 0.1.19 → 0.1.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-5AEWM4W6.js → chunk-4T5YE7LC.js} +241 -177
- package/dist/chunk-4T5YE7LC.js.map +6 -0
- package/dist/{chunk-RLWIIOH5.js → chunk-BV5YXQYA.js} +1 -1
- package/dist/{chunk-RLWIIOH5.js.map → chunk-BV5YXQYA.js.map} +1 -1
- package/dist/chunk-OVTSNACH.js +152 -0
- package/dist/chunk-OVTSNACH.js.map +6 -0
- package/dist/{chunk-BFSB6SQK.js → chunk-ZKL4MRMP.js} +77 -185
- package/dist/chunk-ZKL4MRMP.js.map +6 -0
- package/dist/cli/index.js +6 -5
- package/dist/cli/index.js.map +1 -1
- package/dist/compiler/emit/constants.d.ts +1 -2
- package/dist/compiler/emit/constants.d.ts.map +1 -1
- package/dist/compiler/emit/consts.d.ts +2 -2
- package/dist/compiler/emit/consts.d.ts.map +1 -1
- package/dist/compiler/emit/index.d.ts +2 -3
- package/dist/compiler/emit/index.d.ts.map +1 -1
- package/dist/compiler/emit/sourcemap.d.ts +1 -2
- package/dist/compiler/emit/sourcemap.d.ts.map +1 -1
- package/dist/compiler/emit-script.d.ts +10 -0
- package/dist/compiler/emit-script.d.ts.map +1 -0
- package/dist/compiler/generate-bytecode.d.ts +4 -2
- package/dist/compiler/generate-bytecode.d.ts.map +1 -1
- package/dist/compiler/index.d.ts +1 -6
- package/dist/compiler/index.d.ts.map +1 -1
- package/dist/compiler/load-module.d.ts +2 -0
- package/dist/compiler/load-module.d.ts.map +1 -0
- package/dist/compiler/worker.js +1 -1
- package/dist/helpers/constants.d.ts +2 -0
- package/dist/helpers/constants.d.ts.map +1 -1
- package/dist/helpers/serialize.d.ts.map +1 -1
- package/dist/helpers/utils.d.ts.map +1 -1
- package/dist/index.js +6 -11
- package/dist/subtle.d.ts +3 -1
- package/dist/subtle.d.ts.map +1 -1
- package/dist/subtle.js +3 -3
- package/dist/vm/checkpoint.d.ts +1 -1
- package/dist/vm/checkpoint.d.ts.map +1 -1
- package/dist/vm/helpers.d.ts +6 -1
- package/dist/vm/helpers.d.ts.map +1 -1
- package/dist/vm/lib/global/json.d.ts.map +1 -1
- package/dist/vm/lib/helpers.d.ts +1 -1
- package/dist/vm/lib/helpers.d.ts.map +1 -1
- package/dist/vm/types/context.d.ts +7 -16
- package/dist/vm/types/context.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/compiler/emit/constants.ts +1 -2
- package/src/compiler/emit/consts.ts +166 -29
- package/src/compiler/emit/index.ts +40 -32
- package/src/compiler/emit/sourcemap.ts +21 -76
- package/src/compiler/emit-script.ts +30 -0
- package/src/compiler/generate-bytecode.ts +5 -8
- package/src/compiler/index.ts +2 -30
- package/src/compiler/load-module.ts +3 -0
- package/src/helpers/constants.ts +2 -0
- package/src/helpers/serialize.ts +1 -4
- package/src/helpers/utils.ts +2 -7
- package/src/subtle.ts +3 -1
- package/src/vm/checkpoint.ts +42 -17
- package/src/vm/helpers.ts +12 -5
- package/src/vm/lib/global/json.ts +2 -0
- package/src/vm/lib/helpers.ts +2 -1
- package/src/vm/types/context.ts +42 -29
- package/src/vm/types/wrapper.ts +3 -3
- package/dist/chunk-5AEWM4W6.js.map +0 -6
- package/dist/chunk-BFSB6SQK.js.map +0 -6
- package/dist/chunk-RIT53WVY.js +0 -1
- package/dist/chunk-RIT53WVY.js.map +0 -6
- package/dist/compiler/emit/globals.d.ts +0 -17
- package/dist/compiler/emit/globals.d.ts.map +0 -1
- package/src/compiler/emit/globals.ts +0 -39
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"globals.d.ts","sourceRoot":"","sources":["../../../src/compiler/emit/globals.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,cAAc;AACd,MAAM,MAAM,UAAU,GAAG;IACrB,eAAe;IACf,CAAC,EAAE,MAAM,CAAC;IACV,6BAA6B;IAC7B,CAAC,EAAE,MAAM,CAAC;IACV,sBAAsB;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,YAAY;IACZ,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,8BAA8B;AAC9B,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAEhD,eAAe;AACf,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAkBzE"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { toString } from '../../helpers/convert/to-string.js';
|
|
2
|
-
import { toJsLiteral } from './consts.js';
|
|
3
|
-
import type { Emitter } from './index.js';
|
|
4
|
-
|
|
5
|
-
/** 全局变量描述符 */
|
|
6
|
-
export type GlobalDesc = {
|
|
7
|
-
/** 变量编译后的名称 */
|
|
8
|
-
v: string;
|
|
9
|
-
/** 变量名字的字面量,是一个 JS 字符串字面量 */
|
|
10
|
-
l: string;
|
|
11
|
-
/** 变量的表达式,用于获取全局变量 */
|
|
12
|
-
e: string;
|
|
13
|
-
/** 变量的名称 */
|
|
14
|
-
n: string;
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
/** 全局变量映射,key 为变量名在常量表中的索引 */
|
|
18
|
-
export type GlobalMap = Map<number, GlobalDesc>;
|
|
19
|
-
|
|
20
|
-
/** 获取全局变量映射 */
|
|
21
|
-
export function readGlobal(emitter: Emitter, constIdx: number): GlobalDesc {
|
|
22
|
-
const { globals } = emitter;
|
|
23
|
-
const cached = globals.get(constIdx);
|
|
24
|
-
if (cached) return cached;
|
|
25
|
-
const constName = emitter.constVals[constIdx]!;
|
|
26
|
-
let name, lit;
|
|
27
|
-
if (typeof constName == 'string') {
|
|
28
|
-
name = constName;
|
|
29
|
-
lit = emitter.constLits[constIdx]!;
|
|
30
|
-
} else {
|
|
31
|
-
name = toString(constName, undefined);
|
|
32
|
-
lit = toJsLiteral(name);
|
|
33
|
-
}
|
|
34
|
-
const val = `g${globals.size + 1}`;
|
|
35
|
-
const expr = `(${val} === undefined ? (${val} = global.get(${lit})) : ${val})`;
|
|
36
|
-
const desc: GlobalDesc = { v: val, l: lit, e: expr, n: name };
|
|
37
|
-
globals.set(constIdx, desc);
|
|
38
|
-
return desc;
|
|
39
|
-
}
|