private void GenerateExecute(ClassFileWriter cfw)
{
cfw.StartMethod("exec", "(Lorg/mozilla/javascript/Context;" + "Lorg/mozilla/javascript/Scriptable;" + ")Ljava/lang/Object;", (short)(ClassFileWriter.ACC_PUBLIC | ClassFileWriter.ACC_FINAL));
int CONTEXT_ARG = 1;
int SCOPE_ARG = 2;
cfw.AddLoadThis();
cfw.AddALoad(CONTEXT_ARG);
cfw.AddALoad(SCOPE_ARG);
cfw.Add(ByteCode.DUP);
cfw.Add(ByteCode.ACONST_NULL);
cfw.AddInvoke(ByteCode.INVOKEVIRTUAL, cfw.GetClassName(), "call", "(Lorg/mozilla/javascript/Context;" + "Lorg/mozilla/javascript/Scriptable;" + "Lorg/mozilla/javascript/Scriptable;" + "[Ljava/lang/Object;" + ")Ljava/lang/Object;");
cfw.Add(ByteCode.ARETURN);
// 3 = this + context + scope
cfw.StopMethod((short)3);
}