--- parser3/src/main/execute.C 2001/04/25 11:02:57 1.148 +++ parser3/src/main/execute.C 2001/04/27 17:18:02 1.148.2.1 @@ -5,7 +5,7 @@ Author: Alexander Petrosyan (http://design.ru/paf) - $Id: execute.C,v 1.148 2001/04/25 11:02:57 paf Exp $ + $Id: execute.C,v 1.148.2.1 2001/04/27 17:18:02 paf Exp $ */ #include "pa_config_includes.h" @@ -379,13 +379,9 @@ void Request::execute(const Array& ops) else // no, not me or relative of mine (total stranger) if(frame->is_constructor) { // this is a constructor call - // some stateless_object derivates with constructors - if(called_class==table_class) - self=NEW VTable(pool()); - else if(called_class==file_class) - self=NEW VFile(pool()); - else if(called_class==image_class) - self=NEW VImage(pool()); + // some stateless_object creatable derivates + if(Value *value=called_class.create_new_value(pool())) + self=value; else // stateful object self=NEW VObject(pool(), *called_class); frame->write(*self,