Diff for /parser3/src/include/pa_request.h between versions 1.160.2.37.2.24 and 1.166

version 1.160.2.37.2.24, 2003/07/23 08:40:54 version 1.166, 2003/10/21 04:45:19
Line 92  private: Line 92  private:
                 Exception_trace(): fbottom(0) {}                  Exception_trace(): fbottom(0) {}
   
                 size_t bottom_index() { return fbottom; }                  size_t bottom_index() { return fbottom; }
                   void set_bottom_index(size_t abottom) { fbottom=abottom; }
                 element_type bottom_value() { return get(bottom_index()); }                  element_type bottom_value() { return get(bottom_index()); }
   
                 void clear() {                  void clear() {
Line 111  private: Line 112  private:
         HashStringValue fclasses;          HashStringValue fclasses;
   
         /// already used files to avoid cyclic uses          /// already used files to avoid cyclic uses
         Hash<const StringBody, bool> used_files;          Hash<const String::Body, bool> used_files;
         /// list of all used files, Operation::file_no = index to it          /// list of all used files, Operation::file_no = index to it
         Array<StringBody> file_list;          Array<String::Body> file_list;
   
         /**     endless execute(execute(... preventing counter           /**     endless execute(execute(... preventing counter 
                 @see ANTI_ENDLESS_EXECUTE_RECOURSION                  @see ANTI_ENDLESS_EXECUTE_RECOURSION
Line 143  public: Line 144  public:
         bool finterrupted;          bool finterrupted;
   
 public:  public:
         size_t register_file(StringBody file_spec);          size_t register_file(String::Body file_spec);
   
         struct Exception_details {          struct Exception_details {
                 const Trace trace;                  const Trace trace;
Line 153  public: Line 154  public:
                 Exception_details(                  Exception_details(
                         const Trace atrace,                          const Trace atrace,
                         const String* aproblem_source,                          const String* aproblem_source,
                         VHash& avhash):                          VHash& avhash): trace(atrace), problem_source(aproblem_source), vhash(avhash) {}
                         trace(atrace), problem_source(aproblem_source), vhash(avhash) {}  
   
         };          };
         Exception_details get_details(const Exception& e);          Exception_details get_details(const Exception& e);
   
Line 338  public: // charset helpers Line 337  public: // charset helpers
         /// @see Charset::transcode          /// @see Charset::transcode
         GdomeDOMString_auto_ptr transcode(const String& s);          GdomeDOMString_auto_ptr transcode(const String& s);
         /// @see Charset::transcode          /// @see Charset::transcode
         GdomeDOMString_auto_ptr transcode(const StringBody s);          GdomeDOMString_auto_ptr transcode(const String::Body s);
         /// @see Charset::transcode          /// @see Charset::transcode
         const String& transcode(GdomeDOMString* s);          const String& transcode(GdomeDOMString* s);
         /// @see Charset::transcode          /// @see Charset::transcode
Line 362  private: // compile.C Line 361  private: // compile.C
 private: // execute.C  private: // execute.C
   
         /// for @postprocess[body]          /// for @postprocess[body]
         const String& execute_method(VMethodFrame& amethodFrame, const Method& method);          StringOrValue execute_method(VMethodFrame& amethodFrame, const Method& method);
         //{ for @conf[filespec] and @auto[filespec]          //{ for @conf[filespec] and @auto[filespec]
         const String* execute_method(Value& aself,           const String* execute_method(Value& aself, 
                 const Method& method, VString* optional_param,                  const Method& method, VString* optional_param,
Line 422  class Request_context_saver { Line 421  class Request_context_saver {
         Request& fr;          Request& fr;
   
         /// exception stack trace          /// exception stack trace
         size_t exception_trace;          size_t exception_trace_top;
           size_t exception_trace_bottom;
         /// execution stack          /// execution stack
         size_t stack;          size_t stack;
           uint anti_endless_execute_recoursion;
         /// contexts          /// contexts
         VMethodFrame* method_frame;          VMethodFrame* method_frame;
         Value* rcontext;          Value* rcontext;
Line 436  class Request_context_saver { Line 437  class Request_context_saver {
   
 public:  public:
         Request_context_saver(Request& ar) :           Request_context_saver(Request& ar) : 
                 exception_trace(ar.exception_trace.top()),                        exception_trace_top(ar.exception_trace.top_index()),    
                 stack(ar.stack.top()),                  exception_trace_bottom(ar.exception_trace.bottom_index()),      
                   stack(ar.stack.top_index()),
                   anti_endless_execute_recoursion(ar.anti_endless_execute_recoursion),
                 method_frame(ar.method_frame),                  method_frame(ar.method_frame),
                 rcontext(ar.rcontext),                  rcontext(ar.rcontext),
                 wcontext(ar.wcontext),                  wcontext(ar.wcontext),
Line 445  public: Line 448  public:
                 fconnection(ar.fconnection),                  fconnection(ar.fconnection),
                 fr(ar) {}                  fr(ar) {}
         void restore() {          void restore() {
                 fr.exception_trace.top(exception_trace);                  fr.exception_trace.set_top_index(exception_trace_top);
                 fr.stack.top(stack);                  fr.exception_trace.set_bottom_index(exception_trace_bottom);
                   fr.stack.set_top_index(stack);
                   fr.anti_endless_execute_recoursion=anti_endless_execute_recoursion;
                 fr.method_frame=method_frame, fr.rcontext=rcontext; fr.wcontext=wcontext;                  fr.method_frame=method_frame, fr.rcontext=rcontext; fr.wcontext=wcontext;
                 fr.flang=flang;                  fr.flang=flang;
                 fr.fconnection=fconnection;                  fr.fconnection=fconnection;

Removed from v.1.160.2.37.2.24  
changed lines
  Added in v.1.166


E-mail: