--- parser3/src/main/execute.C 2001/03/27 18:06:10 1.130 +++ parser3/src/main/execute.C 2001/03/29 17:11:41 1.133 @@ -5,7 +5,7 @@ Author: Alexander Petrosyan (http://design.ru/paf) - $Id: execute.C,v 1.130 2001/03/27 18:06:10 paf Exp $ + $Id: execute.C,v 1.133 2001/03/29 17:11:41 paf Exp $ */ #include "pa_config_includes.h" @@ -21,6 +21,7 @@ #include "pa_vdouble.h" #include "pa_vbool.h" #include "pa_vtable.h" +#include "pa_vfile.h" #include @@ -87,13 +88,17 @@ void dump(Pool& pool, int level, const A for(int i=0; i(ops.quick_get(++i)); - log_printf(pool, " \"%s\" %s", value->get_string()->cstr(), value->type()); + log_printf(pool, + "%*s%s" + " \"%s\" %s", + level*4, "", opcode_name[op.code], + value->get_string()->cstr(), value->type()); + continue; } - //\log_printf(pool, "\n"); + log_printf(pool, "%*s%s", level*4, "", opcode_name[op.code]); if(op.code==OP_CURLY_CODE__STORE_PARAM || op.code==OP_EXPR_CODE__STORE_PARAM) { const Array *local_ops=reinterpret_cast(ops.quick_get(++i)); @@ -153,7 +158,7 @@ void Request::execute(const Array& ops) &frame->junction.self /* ^t.menu{} */:rcontext/* ^if() */, op.code==OP_EXPR_CODE__STORE_PARAM? 0:wcontext->somebody_entered_some_object()>1? - &frame->junction.self /* ^t.menu{} */:wcontext/* ^if() */, + frame/* ^t.menu{} */:wcontext/* ^if() */, local_ops); Value *value=NEW VJunction(j); @@ -364,6 +369,8 @@ void Request::execute(const Array& ops) // some stateless_object derivates with constructors if(called_class==table_class) self=NEW VTable(pool()); + else if(called_class==file_class) + self=NEW VFile(pool()); else // stateful object self=NEW VObject(pool(), *called_class); frame->write(*self, @@ -631,7 +638,6 @@ void Request::execute(const Array& ops) 0, "unhandled '%s' opcode", opcode_name[op.code]); } - //\log_printf(pool(), "\n"); } }