Skip to content

Commit

Permalink
なでしこの変数管理をObjectからMapに変更する #1638 __varslistを置換
Browse files Browse the repository at this point in the history
  • Loading branch information
kujirahand committed May 1, 2024
1 parent 568ff32 commit 818268d
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 16 deletions.
2 changes: 1 addition & 1 deletion src/cnako3mod.mts
Expand Up @@ -247,7 +247,7 @@ export class CNako3 extends NakoCompiler {
const genOpt = new NakoGenOptions(
isTest,
['plugin_node.mjs'],
'self.__varslist[0][\'ナデシコ種類\']=\'cnako3\';'
'self.__setSysVar(\'ナデシコ種類\', \'cnako3\');'
)
const jscode = this.compileStandalone(src, this.filename, genOpt)
console.log(opt.output)
Expand Down
2 changes: 1 addition & 1 deletion src/plugin_turtle.mjs
Expand Up @@ -384,7 +384,7 @@ const PluginTurtle = {
josi: [['に', 'へ']],
pure: true,
fn: function (v, sys) {
sys.__varslist[0]['カメ速度'] = v
sys.__setSysVar('カメ速度', v)
}
},
'カメ移動': { // @カメの位置を[x,y]へ移動する // @かめいどう
Expand Down
8 changes: 4 additions & 4 deletions src/plugin_webworker.mjs
Expand Up @@ -298,7 +298,7 @@ const PluginWebWorker = {
if (data.indexOf('__') === -1) {
for (const modname of sys.__modList) {
const varname = modname + '__' + data
if (typeof sys.__varslist[2][varname] !== 'undefined' || typeof sys.__varslist[1][varname] !== 'undefined') {
if (typeof sys.__varslist[2].get(varname) !== 'undefined' || typeof sys.__varslist[1].get(varname) !== 'undefined') {
data = varname
break
}
Expand All @@ -310,14 +310,14 @@ const PluginWebWorker = {
modNameList.push(modname)
}
}
if (typeof sys.__varslist[2][data] !== 'undefined') {
if (typeof sys.__varslist[2].get(data) !== 'undefined') {
obj.push({
type: 'val',
name: data,
content: sys.__varslist[2][data]
content: sys.__varslist[2].get(data)
})
} else
if (typeof sys.__varslist[1][data] !== 'undefined') {
if (typeof sys.__varslist[1].get(data) !== 'undefined') {
obj.push({
type: 'func',
name: data,
Expand Down
2 changes: 1 addition & 1 deletion src/plugin_weykturtle3d.mjs
Expand Up @@ -682,7 +682,7 @@ const PluginWeykTurtle3D = {
josi: [['に', 'へ']],
pure: true,
fn: function (v, sys) {
sys.__varslist[0]['T3Dカメ速度'] = v
sys.__setSysVar('T3Dカメ速度', v)
},
return_none: true
},
Expand Down
4 changes: 2 additions & 2 deletions src/plugin_worker.mjs
Expand Up @@ -21,11 +21,11 @@ const PluginWorker = {
pure: false,
fn: function (func, sys) {
func = sys.__findVar(func, null) // 文字列指定なら関数に変換
sys.__varslist[0]['PluginWorker:ondata'] = (data, e) => {
sys.__setSysVar('PluginWorker:ondata', (data, e) => {
sys.__v0['受信データ'] = data
sys.__v0['対象イベント'] = e
return func(e, sys)
}
})
},
return_none: true
},
Expand Down
14 changes: 7 additions & 7 deletions src/wnako3webworker.mjs
Expand Up @@ -7,10 +7,10 @@ import PluginWorker from './plugin_worker.mjs'
class WebWorkerNakoCompiler extends NakoCompiler {
constructor () {
super()
this.__varslist[0]['ナデシコ種類'] = 'wwnako3'
this.__varslist[0]['PluginWorker:ondata'] = (data, event) => {
this.__setSysVar('ナデシコ種類', 'wwnako3')
this.__setSysVar('PluginWorker:ondata', (data, event) => {
throw new Error('『NAKOワーカーデータ受信時』が呼ばれていません。')
}
})
}
}

Expand Down Expand Up @@ -51,9 +51,9 @@ if (typeof (navigator) === 'object' && self && self instanceof WorkerGlobalScope
if (o.type === 'func') {
nako3Compiler.nakoFuncList[o.name] = o.content.meta
nako3Compiler.funclist[o.name] = o.content.func
nako3Compiler.__varslist[1][o.name] = () => {}
nako3Compiler.__varslist[1].set(o.name, () => {})
} else if (o.type === 'val') {
nako3Compiler.__varslist[2][o.name] = o.content
nako3Compiler.__varslist[2].set(o.name, o.content)
} else if (o.type === 'env') {
if (o.name === 'modlist') {
for (const modInfo of o.content) {
Expand All @@ -75,8 +75,8 @@ if (typeof (navigator) === 'object' && self && self instanceof WorkerGlobalScope
})
break
case 'data':
if (nako3Global.__varslist[0]['PluginWorker:ondata']) {
nako3Global.__varslist[0]['PluginWorker:ondata'].apply(nako3Global, [value, event])
if (nako3Global.__getSysVar('PluginWorker:ondata')) {
nako3Global.__getSysVar('PluginWorker:ondata').apply(nako3Global, [value, event])
}
break
}
Expand Down

0 comments on commit 818268d

Please sign in to comment.