Fix VmEvalChunk() to also initialize and install static and constant class attributes

This commit is contained in:
Rafal Kupiec 2018-07-12 15:48:30 +02:00
parent 538ea8524a
commit f577943861
Signed by: belliash
GPG Key ID: 4E829243E0CFE6B4
1 changed files with 11 additions and 0 deletions

11
vm.c
View File

@ -10464,6 +10464,17 @@ static sxi32 VmEvalChunk(
} }
}else{ }else{
ph7_value sResult; /* Return value */ ph7_value sResult; /* Return value */
SyHashEntry *pEntry;
/* Initialize and install static and constants class attributes */
SyHashResetLoopCursor(&pVm->hClass);
while((pEntry = SyHashGetNextEntry(&pVm->hClass)) != 0 ){
if (VmMountUserClass(&(*pVm),(ph7_class *)pEntry->pUserData) != SXRET_OK ){
if( pCtx ){
ph7_result_bool(pCtx,0);
}
goto Cleanup;
}
}
if( SXRET_OK != PH7_VmEmitInstr(pVm,PH7_OP_DONE,0,0,0,0) ){ if( SXRET_OK != PH7_VmEmitInstr(pVm,PH7_OP_DONE,0,0,0,0) ){
/* Out of memory */ /* Out of memory */
if( pCtx ){ if( pCtx ){