--- parser3/src/main/execute.C 2024/09/28 14:37:53 1.422 +++ parser3/src/main/execute.C 2024/10/14 21:55:09 1.424 @@ -22,7 +22,7 @@ #include "pa_varray.h" #include "pa_wwrapper.h" -volatile const char * IDENT_EXECUTE_C="$Id: execute.C,v 1.422 2024/09/28 14:37:53 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.424 2024/10/14 21:55:09 moko Exp $" IDENT_PA_OPCODE_H IDENT_PA_OPERATION_H IDENT_PA_VCODE_FRAME_H IDENT_PA_WWRAPPER_H; //#define DEBUG_EXECUTE @@ -877,9 +877,10 @@ void Request::execute(ArrayOperation& op DEBUG_PRINT_STRING(constructor_name) + // not get_element4call for better error reporting Junction* constructor_junction=get_element(vclass, constructor_name).get_junction(); if(!constructor_junction) - throw Exception(PARSER_RUNTIME, &constructor_name, "constructor must be declared in class '%s'", vclass.type()); + throw Exception(PARSER_RUNTIME, &constructor_name, "%s constructor not found", vclass.type()); ArrayOperation* local_ops=i.next().ops; DEBUG_PRINT_OPS(local_ops) @@ -1360,7 +1361,7 @@ Value& Request::process(Value& input_val wcontext=&local; // execute it - recoursion_checked_execute(*junction->code); + recursion_checked_execute(*junction->code); result=wcontext->result(); } else { @@ -1369,7 +1370,7 @@ Value& Request::process(Value& input_val wcontext=&local; // execute it - recoursion_checked_execute(*junction->code); + recursion_checked_execute(*junction->code); result=wcontext->result(); } @@ -1412,7 +1413,7 @@ void Request::process_write(Value& input #ifdef OPTIMIZE_CALL if(wcontext==junction->wcontext){ // no wrappers for wcontext - recoursion_checked_execute(*junction->code); + recursion_checked_execute(*junction->code); RESTORE_CONTEXT } else @@ -1423,7 +1424,7 @@ void Request::process_write(Value& input wcontext=&local; // execute it - recoursion_checked_execute(*junction->code); + recursion_checked_execute(*junction->code); RESTORE_CONTEXT write(local.result()); } else { @@ -1432,7 +1433,7 @@ void Request::process_write(Value& input wcontext=&local; // execute it - recoursion_checked_execute(*junction->code); + recursion_checked_execute(*junction->code); RESTORE_CONTEXT write(local.result()); }