Instance & Dynamic property map changes to HashTable complete.

git-svn-id: svn://10.0.0.236/trunk@139528 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
rogerl%netscape.com
2003-03-15 19:36:12 +00:00
parent 1b405dae1c
commit b76d8fbb79
8 changed files with 163 additions and 156 deletions

View File

@@ -66,10 +66,11 @@ js2val String_Constructor(JS2Metadata *meta, const js2val /*thisValue*/, js2val
strInst->mValue = meta->engine->allocStringPtr(meta->toString(argv[0]));
else
strInst->mValue = meta->engine->allocStringPtr("");
const DynamicPropertyMap::value_type e(*meta->engine->length_StringAtom,
DynamicPropertyBinding *dpb = new DynamicPropertyBinding(*meta->engine->length_StringAtom,
DynamicPropertyValue(meta->engine->allocNumber(strInst->mValue->length()),
DynamicPropertyValue::READONLY | DynamicPropertyValue::PERMANENT));
strInst->dynamicProperties.insert(e);
strInst->dynamicProperties.insert(dpb->name, dpb);
JS2Object::removeRoot(ri);
return thatValue;
}
@@ -798,10 +799,11 @@ void initStringObject(JS2Metadata *meta)
StringInstance *strInst = new StringInstance(meta, meta->objectClass->prototype, meta->stringClass);
meta->stringClass->prototype = strInst;
strInst->mValue = meta->engine->allocStringPtr("");
const DynamicPropertyMap::value_type e(*meta->engine->length_StringAtom,
DynamicPropertyBinding *dpb = new DynamicPropertyBinding(*meta->engine->length_StringAtom,
DynamicPropertyValue(meta->engine->allocNumber(strInst->mValue->length()),
DynamicPropertyValue::READONLY | DynamicPropertyValue::PERMANENT));
strInst->dynamicProperties.insert(e);
strInst->dynamicProperties.insert(dpb->name, dpb);
meta->initBuiltinClass(meta->stringClass, &prototypeFunctions[0], &staticFunctions[0], String_Constructor, String_Call);
}