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 2fb123872f - Show all commits

View File

@ -5476,6 +5476,7 @@ PH7_PRIVATE sxi32 PH7_HashmapWalk(
PH7_PRIVATE sxi32 PH7_HashmapCast(ph7_value *pObj, sxi32 nType) { PH7_PRIVATE sxi32 PH7_HashmapCast(ph7_value *pObj, sxi32 nType) {
sxi32 rc; sxi32 rc;
if((pObj->iFlags & MEMOBJ_HASHMAP)) { if((pObj->iFlags & MEMOBJ_HASHMAP)) {
if((pObj->iFlags & nType) == 0) {
ph7_hashmap *pMap; ph7_hashmap *pMap;
ph7_hashmap_node *pNode; ph7_hashmap_node *pNode;
ph7_value pValue, pKey; ph7_value pValue, pKey;
@ -5496,6 +5497,7 @@ PH7_PRIVATE sxi32 PH7_HashmapCast(ph7_value *pObj, sxi32 nType) {
PH7_HashmapInsert(pMap, &pKey, &pValue); PH7_HashmapInsert(pMap, &pKey, &pValue);
} }
pObj->iFlags = MEMOBJ_HASHMAP | nType; pObj->iFlags = MEMOBJ_HASHMAP | nType;
}
} else { } else {
if(pObj->iFlags != nType && PH7_CheckVarCompat(pObj, nType) != SXRET_OK) { if(pObj->iFlags != nType && PH7_CheckVarCompat(pObj, nType) != SXRET_OK) {
return SXERR_NOMATCH; return SXERR_NOMATCH;