Skip to content

Commit 2c89e4b

Browse files
committed
define関数を削除し、defineSyncをdefineに名前変更
1 parent eb13dad commit 2c89e4b

1 file changed

Lines changed: 6 additions & 33 deletions

File tree

src/interpreter/index.ts

Lines changed: 6 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,7 @@ export class Interpreter {
309309
) {
310310
value.name = nsScope.getNsPrefix() + node.dest.name;
311311
}
312-
this.defineSync(nsScope, node.dest, value, node.mut);
312+
this.define(nsScope, node.dest, value, node.mut);
313313

314314
break;
315315
}
@@ -668,7 +668,7 @@ export class Interpreter {
668668
) {
669669
value.name = node.dest.name;
670670
}
671-
await this.define(scope, node.dest, value, node.mut);
671+
this.define(scope, node.dest, value, node.mut);
672672
return NULL;
673673
}
674674

@@ -1212,7 +1212,7 @@ export class Interpreter {
12121212
) {
12131213
value.name = node.dest.name;
12141214
}
1215-
this.defineSync(scope, node.dest, value, node.mut);
1215+
this.define(scope, node.dest, value, node.mut);
12161216
return NULL;
12171217
}
12181218

@@ -1667,34 +1667,7 @@ export class Interpreter {
16671667
}
16681668

16691669
@autobind
1670-
private async define(scope: Scope, dest: Ast.Expression, value: Value, isMutable: boolean): Promise<void> {
1671-
switch (dest.type) {
1672-
case 'identifier': {
1673-
scope.add(dest.name, { isMutable, value });
1674-
break;
1675-
}
1676-
case 'arr': {
1677-
assertArray(value);
1678-
await Promise.all(dest.value.map(
1679-
(item, index) => this.define(scope, item, value.value[index] ?? NULL, isMutable),
1680-
));
1681-
break;
1682-
}
1683-
case 'obj': {
1684-
assertObject(value);
1685-
await Promise.all([...dest.value].map(
1686-
([key, item]) => this.define(scope, item, value.value.get(key) ?? NULL, isMutable),
1687-
));
1688-
break;
1689-
}
1690-
default: {
1691-
throw new AiScriptRuntimeError('The left-hand side of an definition expression must be a variable.');
1692-
}
1693-
}
1694-
}
1695-
1696-
@autobind
1697-
private defineSync(scope: Scope, dest: Ast.Expression, value: Value, isMutable: boolean): void {
1670+
private define(scope: Scope, dest: Ast.Expression, value: Value, isMutable: boolean): void {
16981671
switch (dest.type) {
16991672
case 'identifier': {
17001673
scope.add(dest.name, { isMutable, value });
@@ -1703,14 +1676,14 @@ export class Interpreter {
17031676
case 'arr': {
17041677
assertArray(value);
17051678
dest.value.map(
1706-
(item, index) => this.defineSync(scope, item, value.value[index] ?? NULL, isMutable),
1679+
(item, index) => this.define(scope, item, value.value[index] ?? NULL, isMutable),
17071680
);
17081681
break;
17091682
}
17101683
case 'obj': {
17111684
assertObject(value);
17121685
[...dest.value].map(
1713-
([key, item]) => this.defineSync(scope, item, value.value.get(key) ?? NULL, isMutable),
1686+
([key, item]) => this.define(scope, item, value.value.get(key) ?? NULL, isMutable),
17141687
);
17151688
break;
17161689
}

0 commit comments

Comments
 (0)