--- parser3/src/main/execute.C 2001/03/08 15:19:37 1.74 +++ parser3/src/main/execute.C 2001/03/08 15:20:46 1.75 @@ -1,5 +1,5 @@ /* - $Id: execute.C,v 1.74 2001/03/08 15:19:37 paf Exp $ + $Id: execute.C,v 1.75 2001/03/08 15:20:46 paf Exp $ */ #include "pa_array.h" @@ -278,16 +278,14 @@ void Request::execute(const Array& ops) VClass *read_class=rcontext->get_class(); if(read_class && read_class->is_or_derived_from(*called_class)) // yes self=rcontext; // class dynamic call - else { // no, not me or relative of mine (total stranger) - // constructing? - if(wcontext->constructing()) { // yes - // constructor call: $some(^class:method(..)) + else // no, not me or relative of mine (total stranger) + if(wcontext->constructing()) { // constructing? + // yes, constructor call: $some(^class:method(..)) self=NEW VObject(pool(), *called_class); frame->write(*self); - } else { // no - self=&frame->junction.self; // static or simple dynamic call - } - } + } else + self=&frame->junction.self; // no, static or simple dynamic call + frame->set_self(*self); root=rcontext=wcontext=frame; {