--- parser3/src/main/execute.C 2016/04/06 22:11:43 1.380 +++ parser3/src/main/execute.C 2016/04/06 22:52:12 1.381 @@ -21,7 +21,7 @@ #include "pa_vimage.h" #include "pa_wwrapper.h" -volatile const char * IDENT_EXECUTE_C="$Id: execute.C,v 1.380 2016/04/06 22:11:43 moko Exp $" IDENT_PA_OPCODE_H IDENT_PA_OPERATION_H IDENT_PA_VCODE_FRAME_H IDENT_PA_WWRAPPER_H; +volatile const char * IDENT_EXECUTE_C="$Id: execute.C,v 1.381 2016/04/06 22:52:12 moko Exp $" IDENT_PA_OPCODE_H IDENT_PA_OPERATION_H IDENT_PA_VCODE_FRAME_H IDENT_PA_WWRAPPER_H; //#define DEBUG_EXECUTE @@ -313,7 +313,12 @@ void Request::execute(ArrayOperation& op value=new VString(*new String(vclass->type())); } } else { - value=VVoid::get(); + // VJunction is without class, returning self + if(name==class_element_name){ + value=&ncontext; + } else if(name==class_name_element_name){ + value=new VString(*new String(ncontext.type())); + } } if(opcode==OP::OP_GET_ELEMENT__SPECIAL){ stack.push(*value);