On Mon, Sep 17, 2007 at 02:26:13PM +0800, zou lunkai wrote: > strk, > > see tests: > > var x1 = Number(268); > var x2 = new Number(268); > > Compiled with makeswf, dumped with listswf. got: > > SWFACTION_CONSTANTPOOL > [000] Number > [001] x1 > [002] x2 > SWFACTION_PUSH > [000] Constant: 1 "x1" > [001] Integer: 268 > [002] Integer: 1 > [003] Constant: 0 "Number" > SWFACTION_CALLFUNCTION > SWFACTION_DEFINELOCAL > SWFACTION_PUSH > [000] Constant: 2 "x2" > [001] Integer: 268 > [002] Integer: 1 > [003] Constant: 0 "Number" > SWFACTION_NEWOBJECT > SWFACTION_DEFINELOCAL > SWFACTION_END > > So, x1 is the result of CALLFUNCTION and x2 is the result of NEWOBJECT. > Shouldn't they have different types as we expect?
Yes, but in Gnash this only works for user-defined constructors, not for built-ins which are instead expected to return new objects (design failure). There are TODOs here and there warning about this... in particular talking about having built-ins and user-defined funx behave the same --strk; _______________________________________________ Gnash-commit mailing list Gnash-commit@gnu.org http://lists.gnu.org/mailman/listinfo/gnash-commit