From kde-core-devel Mon Jun 18 22:23:05 2012 From: "Bernd Buschinski" Date: Mon, 18 Jun 2012 22:23:05 +0000 To: kde-core-devel Subject: Re: Review Request: kjs: FunctionObject prototype attribute should be [[Writable]]: true, [[Enumerab Message-Id: <20120618222305.26575.87894 () vidsolbach ! de> X-MARC-Message: https://marc.info/?l=kde-core-devel&m=134005842422281 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--===============5688931029072925310==" --===============5688931029072925310== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/105122/ ----------------------------------------------------------- (Updated June 18, 2012, 10:23 p.m.) Review request for kdelibs. Changes ------- ok the new patch handles 1) function foo() {}; 2) var x =3D function foo() {}; 3) var x =3D new Function(); for the 1. I need the change in nodes.cpp for the 2. I need the change in bytecode/codes.def for the 3. I need the change in function_object.cpp Description ------- kjs: FunctionObject prototype attribute should be [[Writable]]: true, [[Enu= merable]]: false, [[Configurable]]: false ECMA Edition 5.1r6 - 15.3.5.2 the prototype must have DontEnum property otherwise it shows up as enumerab= le key. I expected that this must be fixed in the function_object.cpp constructor, = but its never used in for code like function foo() {}; Diffs (updated) ----- kjs/bytecode/codes.def ae0a59f = kjs/function_object.cpp 4000212 = kjs/nodes.cpp 0b0749a = Diff: http://git.reviewboard.kde.org/r/105122/diff/ Testing ------- Thanks, Bernd Buschinski --===============5688931029072925310== Content-Type: text/html; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable
This is an automatically generated e-mail. To reply, visit: http://git.revie= wboard.kde.org/r/105122/

Review request for kdelibs.
By Bernd Buschinski.

Updated June 18, 2012, 10:23 p.m.

Changes
ok the new patch handles
1) function foo() {};
2) var x =3D function foo() {};
3) var x =3D new Function();

for the 1. I need the change in nodes.cpp

for the 2. I need the change in bytecode/codes.def

for the 3. I need the change in function_object.cpp

Descripti= on

kjs: FunctionObject prototype attribute should be [[Writable=
]]: true, [[Enumerable]]: false, [[Configurable]]: false
ECMA Edition 5.1r6 - 15.3.5.2

the prototype must have DontEnum property otherwise it shows up as enumerab=
le key.


I expected that this must be fixed in the function_object.cpp constructor, =
but its never used in for code like

function foo() {};

Diffs= (updated)

  • kjs/bytecode/codes.def (ae0a59f)
  • kjs/function_object.cpp (4000212)
  • kjs/nodes.cpp (0b0749a)

View Diff

--===============5688931029072925310==--