--- parser3/src/include/pa_request.h 2016/04/04 21:28:11 1.223 +++ parser3/src/include/pa_request.h 2016/09/19 22:23:56 1.226 @@ -8,7 +8,7 @@ #ifndef PA_REQUEST_H #define PA_REQUEST_H -#define IDENT_PA_REQUEST_H "$Id: pa_request.h,v 1.223 2016/04/04 21:28:11 moko Exp $" +#define IDENT_PA_REQUEST_H "$Id: pa_request.h,v 1.226 2016/09/19 22:23:56 moko Exp $" #include "pa_pool.h" #include "pa_hash.h" @@ -112,7 +112,7 @@ private: ///@{ core data /// classes - HashString fclasses; + HashString fclasses; /// already used files to avoid cyclic uses HashString used_files; @@ -180,9 +180,9 @@ public: ~Request(); /// global classes - HashString& classes() { return fclasses; } - Value* get_class(const String& name); - void put_class(Value *aclass){ classes().put(aclass->type(), aclass); } + HashString& classes() { return fclasses; } + VStateless_class* get_class(const String& name); + void put_class(VStateless_class *aclass){ classes().put(aclass->type(), aclass); } /** core request processing @@ -198,7 +198,7 @@ public: void execute(ArrayOperation& ops); // execute.C void op_call(VMethodFrame &frame); void op_call_write(VMethodFrame &frame); - Value& construct(Value &class_value, const Method &method); + Value& construct(VStateless_class &class_value, const Method &method); /// execute ops with anti-recoursion check void recoursion_checked_execute(/*const String& name, */ArrayOperation& ops) { @@ -287,6 +287,11 @@ public: } DEFINE_DUAL(assign) + /// appending sure value + void write_value(Value& avalue) { + wcontext->write(avalue); + } + /// returns relative to @a path path to @a file const String& relative(const char* apath, const String& relative_name);