--- parser3/src/classes/op.C 2003/03/26 07:45:22 1.127.2.22.2.18 +++ parser3/src/classes/op.C 2003/04/03 06:40:38 1.127.2.22.2.23 @@ -5,7 +5,7 @@ Author: Alexandr Petrosian (http://paf.design.ru) */ -static const char* IDENT_OP_C="$Date: 2003/03/26 07:45:22 $"; +static const char* IDENT_OP_C="$Date: 2003/04/03 06:40:38 $"; #include "classes.h" #include "pa_vmethod_frame.h" @@ -31,7 +31,6 @@ static const char* IDENT_OP_C="$Date: 20 class VClassMAIN: public VClass { public: VClassMAIN(); - override ~VClassMAIN() {} }; // defines for statics @@ -189,8 +188,7 @@ static void _process(Request& r, MethodP // maybe-define new @main r.use_buf(*target_class, source.cstr(String::L_UNSPECIFIED, r.connection(false)), - *new String("later"), //new String(heap_place, place_size, true /*tainted*/), - "later"); //heap_place); + 0); // later! *new String("later"), //new String(heap_place, place_size, true /*tainted*/), // main_method main_method=target_class->get_method(main_method_name); @@ -269,7 +267,7 @@ static void _for(Request& r, MethodParam static void _eval(Request& r, MethodParams* params) { Value& expr=params->as_junction(0, "need expression"); // evaluate expresion - Value& value_result=*r.process_to_value(expr, + Value& value_result=r.process_to_value(expr, /*0/*no name YET* /,*/ true/*don't intercept string*/).as_expr_result(); if(params->count()>1) { @@ -413,7 +411,6 @@ class Cache_data: public PA_Object { public: time_t expires; }; -DECLARE_OBJECT_PTR(Cache_data); struct Locked_process_and_cache_put_action_info { Request *r; Cache_data *data; @@ -637,7 +634,8 @@ static void _try_operator(Request& r, Me if(!handled) { throw_context.restore(); // restoring throw-context [exception were not handled] throw(e); // rethrow - } + } else + throw_context.handled(); } // write out result r.write_pass_lang(result);