Only call non-null constructors.

This commit is contained in:
beard%netscape.com 2000-06-25 17:04:38 +00:00
Родитель 40e53d46ea
Коммит 07d6ee2613
2 изменённых файлов: 16 добавлений и 12 удалений

Просмотреть файл

@ -657,12 +657,14 @@ JSValue Context::interpret(ICodeModule* iCode, const JSValues& args)
thisClass = thisClass->getSuperClass(); thisClass = thisClass->getSuperClass();
while (thisClass) { while (thisClass) {
ctor = thisClass->getConstructor(); ctor = thisClass->getConstructor();
mLinkage = new Linkage(mLinkage, mPC, if (ctor) {
mActivation, voidRegister); mLinkage = new Linkage(mLinkage, mPC,
mActivation = new Activation(ctor, args); mActivation, voidRegister);
registers = &mActivation->mRegisters; mActivation = new Activation(ctor, args);
mPC = ctor->its_iCode->begin(); registers = &mActivation->mRegisters;
endPC = ctor->its_iCode->end(); mPC = ctor->its_iCode->begin();
endPC = ctor->its_iCode->end();
}
thisClass = thisClass->getSuperClass(); thisClass = thisClass->getSuperClass();
} }
continue; continue;

Просмотреть файл

@ -657,12 +657,14 @@ JSValue Context::interpret(ICodeModule* iCode, const JSValues& args)
thisClass = thisClass->getSuperClass(); thisClass = thisClass->getSuperClass();
while (thisClass) { while (thisClass) {
ctor = thisClass->getConstructor(); ctor = thisClass->getConstructor();
mLinkage = new Linkage(mLinkage, mPC, if (ctor) {
mActivation, voidRegister); mLinkage = new Linkage(mLinkage, mPC,
mActivation = new Activation(ctor, args); mActivation, voidRegister);
registers = &mActivation->mRegisters; mActivation = new Activation(ctor, args);
mPC = ctor->its_iCode->begin(); registers = &mActivation->mRegisters;
endPC = ctor->its_iCode->end(); mPC = ctor->its_iCode->begin();
endPC = ctor->its_iCode->end();
}
thisClass = thisClass->getSuperClass(); thisClass = thisClass->getSuperClass();
} }
continue; continue;