--- parser3/src/include/pa_request.h 2010/05/25 03:58:17 1.201 +++ parser3/src/include/pa_request.h 2010/08/30 10:49:05 1.204 @@ -8,7 +8,7 @@ #ifndef PA_REQUEST_H #define PA_REQUEST_H -static const char * const IDENT_REQUEST_H="$Date: 2010/05/25 03:58:17 $"; +static const char * const IDENT_REQUEST_H="$Date: 2010/08/30 10:49:05 $"; #include "pa_pool.h" #include "pa_hash.h" @@ -206,7 +206,8 @@ public: void execute(ArrayOperation& ops); // execute.C void op_call(VMethodFrame &frame); void op_call_write(VMethodFrame &frame); - void op_call(VMethodFrame &frame, bool constructing); + Value& construct(Value &class_value, const Method &method); + /// execute ops with anti-recoursion check void recoursion_checked_execute(/*const String& name, */ArrayOperation& ops) { // anti_endless_execute_recoursion @@ -239,6 +240,7 @@ public: int line_no_offset=0); /// processes any code-junction there may be inside of @a value + StringOrValue process_getter(Junction& junction); // execute.C StringOrValue process(Value& input_value, bool intercept_string=true); // execute.C void process_write(Value& input_value); // execute.C //@{ convinient helpers @@ -366,8 +368,9 @@ public: // status read methods /// for @main[] const String* execute_virtual_method(Value& aself, const String& method_name); - /// for @postprocess[body] - StringOrValue execute_method(VMethodFrame& amethodFrame, const Method& method); + /// executes parser method, use op_call(frame) to execute native method + void execute_method(VMethodFrame& aframe); + //{ for @conf[filespec] and @auto[filespec] and parser://method/call const String* execute_method(Value& aself, const Method& method, Value* optional_param,