--- parser3/src/main/execute.C 2001/05/17 15:20:15 1.159 +++ parser3/src/main/execute.C 2001/05/21 16:01:10 1.163 @@ -5,10 +5,9 @@ Author: Alexander Petrosyan (http://design.ru/paf) - $Id: execute.C,v 1.159 2001/05/17 15:20:15 parser Exp $ + $Id: execute.C,v 1.163 2001/05/21 16:01:10 parser Exp $ */ -#include "pa_config_includes.h" #include "pa_opcode.h" #include "pa_array.h" #include "pa_request.h" @@ -416,14 +415,14 @@ void Request::execute(const Array& ops) method.check_actual_numbered_params(pool(), frame->junction.self, frame->name(), frame->numbered_params()); - (*method.native_code)( + method.native_code( *this, frame->name(), frame->numbered_params()); // execute it } else { // parser code if(++anti_endless_execute_recoursion==ANTI_ENDLESS_EXECUTE_RECOURSION) { anti_endless_execute_recoursion=0; // give @exception a chance THROW(0, 0, - &method.name, + &frame->name(), "endless recursion detected"); } @@ -695,14 +694,14 @@ void Request::execute(const Array& ops) Value *Request::get_element() { const String& name=POP_NAME(); Value *ncontext=POP(); - Value *value; + Value *value/*; if(Method* method=OP.get_method(name)) { // operator? // as if that method were in self and we have normal dynamic method here Junction& junction=*NEW Junction(pool(), *self, self->get_class(), method, 0,0,0,0); value=NEW VJunction(junction); } else - value=ncontext->get_element(name); + value*/=ncontext->get_element(name); if(value) value=&process(*value, &name); // process possible code-junction else { @@ -713,7 +712,7 @@ Value *Request::get_element() { return value; } -/** intercept_string: +/** @param intercept_string - true: they want result=string value, possible object result goes to wcontext