--- parser3/src/classes/hash.C 2005/06/06 08:45:11 1.73 +++ parser3/src/classes/hash.C 2005/08/09 08:14:47 1.75 @@ -1,11 +1,11 @@ /** @file Parser: @b hash parser class. - Copyright (c) 2001-2004 ArtLebedev Group (http://www.artlebedev.com) + Copyright (c) 2001-2005 ArtLebedev Group (http://www.artlebedev.com) Author: Alexandr Petrosian (http://paf.design.ru) */ -static const char * const IDENT_HASH_C="$Date: 2005/06/06 08:45:11 $"; +static const char * const IDENT_HASH_C="$Date: 2005/08/09 08:14:47 $"; #include "classes.h" #include "pa_vmethod_frame.h" @@ -22,7 +22,7 @@ static const char * const IDENT_HASH_C=" class MHash: public Methoded { public: // VStateless_class - Value* create_new_value(Pool&) { return new VHash(); } + Value* create_new_value(Pool&, HashStringValue&) { return new VHash(); } public: MHash(); @@ -339,8 +339,8 @@ static void one_foreach_cycle( Foreach_info *info) { info->vkey->set_string(*new String(akey, String::L_TAINTED)); Value& ncontext=*info->r->get_method_frame()->caller(); - ncontext.put_element(*info->key_var_name, info->vkey, false); - ncontext.put_element(*info->value_var_name, avalue, false); + ncontext.put_element(ncontext, *info->key_var_name, info->vkey, false); + ncontext.put_element(ncontext, *info->value_var_name, avalue, false); StringOrValue sv_processed=info->r->process(*info->body_code); const String* s_processed=sv_processed.get_string();