зеркало из https://github.com/mozilla/gecko-dev.git
Fixed array length delete
This commit is contained in:
Родитель
5f8d9f5117
Коммит
362bbedf99
|
@ -768,6 +768,16 @@ namespace MetaData {
|
|||
return result;
|
||||
}
|
||||
|
||||
bool JS2ArrayClass::Delete(JS2Metadata *meta, js2val base, Multiname *multiname, Environment *env, bool *result)
|
||||
{
|
||||
if ((*multiname->name == *meta->engine->length_StringAtom) && (multiname->nsList->size() == 1) && (multiname->nsList->back() == meta->publicNamespace)) {
|
||||
*result = false;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
return JS2Class::Delete(meta, base, multiname, env, result);
|
||||
}
|
||||
|
||||
bool JS2ArrayClass::BracketRead(JS2Metadata *meta, js2val *base, js2val indexVal, Phase phase, js2val *rval)
|
||||
{
|
||||
const String *indexStr = meta->toString(indexVal);
|
||||
|
|
|
@ -819,6 +819,7 @@ public:
|
|||
|
||||
virtual bool Read(JS2Metadata *meta, js2val *base, Multiname *multiname, Environment *env, Phase phase, js2val *rval);
|
||||
virtual bool Write(JS2Metadata *meta, js2val base, Multiname *multiname, Environment *env, bool createIfMissing, js2val newValue, bool initFlag);
|
||||
virtual bool Delete(JS2Metadata *meta, js2val base, Multiname *multiname, Environment *env, bool *result);
|
||||
virtual bool BracketRead(JS2Metadata *meta, js2val *base, js2val indexVal, Phase phase, js2val *rval);
|
||||
virtual bool BracketWrite(JS2Metadata *meta, js2val base, js2val indexVal, js2val newValue);
|
||||
virtual bool BracketDelete(JS2Metadata *meta, js2val base, js2val indexVal, bool *result);
|
||||
|
|
Загрузка…
Ссылка в новой задаче