aiscript icon indicating copy to clipboard operation
aiscript copied to clipboard

名前空間上で属性が評価されていない

Open poppingmoon opened this issue 1 month ago • 0 comments

#892 でパーサーが名前空間内の属性付き宣言をパースできるようになりましたが、インタープリターの collectNsMember では属性が無視されています。

__eval 内の宣言についての部分を見ると、右辺の式を評価した後に、宣言に付いている属性を評価して、右辺の値の attr パラメータを属性の値に書き換えていることがわかります。

https://github.com/aiscript-dev/aiscript/blob/2f103d2d639704b7012763503272ec9d2144f54b/src/interpreter/index.ts#L651-L662

一方で、 collectNsMember の対応する部分を見ると、式を評価した後、そのままスコープに追加していることがわかります。

https://github.com/aiscript-dev/aiscript/blob/2f103d2d639704b7012763503272ec9d2144f54b/src/interpreter/index.ts#L251-L271

poppingmoon avatar Nov 30 '25 16:11 poppingmoon