private void GenerateMain(ClassFileWriter cfw)
{
cfw.StartMethod("main", "([Ljava/lang/String;)V", (short)(ClassFileWriter.ACC_PUBLIC | ClassFileWriter.ACC_STATIC));
// load new ScriptImpl()
cfw.Add(ByteCode.NEW, cfw.GetClassName());
cfw.Add(ByteCode.DUP);
cfw.AddInvoke(ByteCode.INVOKESPECIAL, cfw.GetClassName(), "<init>", "()V");
// load 'args'
cfw.Add(ByteCode.ALOAD_0);
// Call mainMethodClass.main(Script script, String[] args)
cfw.AddInvoke(ByteCode.INVOKESTATIC, mainMethodClass, "main", "(Lorg/mozilla/javascript/Script;[Ljava/lang/String;)V");
cfw.Add(ByteCode.RETURN);
// 1 = String[] args
cfw.StopMethod((short)1);
}