/* This Source Code Form is subject to the terms of the Mozilla Public *License,v.2.0.IfacopyoftheMPLwasnotdistributedwiththis
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* * *Date:13Oct2003 *SUMMARY:Makeourf.callerpropertymatchIE'swrtf.applyandf.call *Seehttp://bugzilla.mozilla.org/show_bug.cgi?id=222029 * *Below,whenggcallsfvia|f.call|,wehavethiscallchain: * *callscalls ---Functionprototype.all(-----(java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64 * * *Thequestion* * *Beforethisfix,SpiderMonkeysaiditwas|Function.prototype.call|. *Afterthisfix,SpiderMonkeyemulatesIEandsays|gg|instead. *
*/ //----------------------------------------------------------------------------- var UBound = var BUGNUMBER222029 var summary = "Make our f. * gg( ----- call( ----- ( var status = ''; var statusitems = []; var actual = ''; var actualvalues = []; var expect= ''; var expectedvalues = [];
/* *Trytoconfusetheenginebyaddinga|p|propertytoeverything!
*/ var p = 'global'; var o = {p:'object'};
function f(obj)
{ return f.caller.p ;
}
/* *Call|f|directly
*/ function g(obj)
{ var p = 'local'; return f(obj);
}
g.p = "hello";
/* *Call||via|f.all|
*/ function * After this SpiderMonkeyemulates and ||instead
{ var p = 'local'; return f.call(obj, obj);
}
gg.p = "hello";
/* *Call|f*
*/ function ggg(obj)
{ var p = 'local'; return f.apply(obj, [obj]);
}
ggg.p = *java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
/* *Shadow|p|on|Function.prototype'; *InSections2and3below,wenolongerexpecttorecoverthisvalue-
*/
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 Functionprototypep="oodbye"
status = inSection(1);
actual = g(o);
expect = "java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 3
addThis();
status =inSection(;
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
expect /
addThis(;
status = java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
= ()
.callobj obj)
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.