JScriptCodeGenerator

http://d.hatena.ne.jp/akiramei/20060720/p1
前回の続き。

JScriptCodeGenerator(というか、JScript関連のCodeDom)を実装してみましたが、やはり動かず。よくよく見てみると、JScriptのソースをmjsに食わせているだけなので、その部分だけ実装してあげれば良かっただけでした。

で、S2から渡されてくるJScriptのソースは、

package Seasar.Framework.Util.JScript
{
    class Evaluator
    {
        public static function Eval(expr : String,unsafe : boolean, self : Object,
        out : Object, err : Object, container : Object, appSettings : Object) : Object
        {
            if(unsafe)
            {
                return eval(expr,'unsafe');
            }
            else
            {
                return eval(expr);
            }
        }
    }
}

こんなの。これをmjsコンパイルすると、

Unhandled Exception: System.Exception: must create expr stm with
at Microsoft.JScript.Parser.Statement (Microsoft.JScript.AST parent) [0x00000]
at Microsoft.JScript.Parser.Parse () [0x00000]
at Microsoft.JScript.Parser.Parse (System.String source_string,
System.String source_location, Int32 line_number) [0x00000]
at Microsoft.JScript.Parser.ParseAll () [0x00000]
at Microsoft.JScript.Vsa.VsaEngine.Compile () [0x00000]
at Mono.JScript.Driver.Main (System.String[] args) [0x00000]

エラー・・・

JScriptのCodeDomを実装するという、壮大な空回りで疲れ切って調べる気力が出ません。(^^;

そのCodeDom自体、一度も動かしていないソースなので公開する訳にもいかず、かといってテストする意欲も湧かず。このまま墓場行きの予感・・・ご飯食べて、気力回復。(^^;

追記:JScriptのTODOを見たら、

- Add support for the extensions from MS for JScript .Net (classes,
packages, interfaces, etc. This is included at the MS SDK docs - mostly).

そりゃ、動かないよね。(^^;