Typehinting merge #50

Merged
belliash merged 298 commits from typehinting into master 2019-04-17 11:27:52 +02:00
Showing only changes of commit 66a7e957c9 - Show all commits

View File

@ -395,8 +395,9 @@ PH7_PRIVATE sxi32 PH7_MemObjSafeStore(ph7_value *pSrc, ph7_value *pDest) {
PH7_MemObjStore(pSrc, pDest); PH7_MemObjStore(pSrc, pDest);
pDest->iFlags |= MEMOBJ_MIXED; pDest->iFlags |= MEMOBJ_MIXED;
} else if(pSrc->iFlags & MEMOBJ_NULL) { } else if(pSrc->iFlags & MEMOBJ_NULL) {
/* Temporarily do no allow to assign a NULL value to array */ PH7_MemObjToHashmap(pSrc);
return SXERR_NOMATCH; MemObjSetType(pSrc, pDest->iFlags);
PH7_MemObjStore(pSrc, pDest);
} else { } else {
return SXERR_NOMATCH; return SXERR_NOMATCH;
} }
@ -414,8 +415,9 @@ PH7_PRIVATE sxi32 PH7_MemObjSafeStore(ph7_value *pSrc, ph7_value *pDest) {
} else if((pDest->iFlags & MEMOBJ_HASHMAP)) { } else if((pDest->iFlags & MEMOBJ_HASHMAP)) {
/* [] */ /* [] */
if(pSrc->iFlags & MEMOBJ_NULL) { if(pSrc->iFlags & MEMOBJ_NULL) {
/* Temporarily do no allow to assign a NULL value to array */ PH7_MemObjToHashmap(pSrc);
return SXERR_NOMATCH; MemObjSetType(pSrc, pDest->iFlags);
PH7_MemObjStore(pSrc, pDest);
} else if(pSrc->iFlags & MEMOBJ_HASHMAP) { } else if(pSrc->iFlags & MEMOBJ_HASHMAP) {
if(PH7_HashmapCast(pSrc, pDest->iFlags ^ MEMOBJ_HASHMAP) != SXRET_OK) { if(PH7_HashmapCast(pSrc, pDest->iFlags ^ MEMOBJ_HASHMAP) != SXRET_OK) {
return SXERR_NOMATCH; return SXERR_NOMATCH;