[PATCH] jscript: throw TypeError if T in 'new T' is not an object. [try 2]

Jacek Caban jacek at codeweavers.com
Fri Oct 1 06:46:15 CDT 2010


  On 10/1/10 9:59 AM, Reece Dunn wrote:
> Hi,
>
> try 1 -- throw TypeError if T in 'new T' is not an object.
> try 2 -- handle the case when using a null dispatch pointer: `new nullDisp;`
>
> NOTE: given `new 3;` the engine should report IDS_UNSUPPORTED_ACTION
> instead of IDS_NO_PROPERTY but this requires more changes to the code
> (constr.vt is VT_EMPTY in both of these cases in engine.c).

We most likely should use to_object here. Please add a comment about it.

-        return E_FAIL;
+        return throw_type_error(ctx->parser->script, ei, V_DISPATCH(&constr) ? IDS_OBJECT_EXPECTED : IDS_NO_PROPERTY, NULL);


You can't access V_DISPATCH(&constr) here as you don't know if constr is of 
VT_DISPATCH type.


Jacek



More information about the wine-devel mailing list