--- parser3/src/include/pa_request.h 2010/05/25 03:58:17 1.201 +++ parser3/src/include/pa_request.h 2010/09/04 23:33:21 1.205 @@ -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/09/04 23:33:21 $"; #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 @@ -363,11 +365,15 @@ public: // status read methods } */ + /// public for ^reflection:copy[] + void put_element(Value& ncontext, const String& name, Value* value); + /// 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, @@ -413,7 +419,6 @@ private: // compile.C private: // execute.C - void put_element(Value& ncontext, const String& name, Value* value); Value& get_element(Value& ncontext, const String& name); private: // defaults