> On April 29, 2012, 6:26 p.m., Maks Orlovich wrote: > > kjs/object.cpp, line 433 > > <http://git.reviewboard.kde.org/r/104515/diff/4/?file=58277#file58277line433> > > > > more * inconsistency
I don't get the problem here, could you please explain? > On April 29, 2012, 6:26 p.m., Maks Orlovich wrote: > > kjs/object.cpp, line 481 > > <http://git.reviewboard.kde.org/r/104515/diff/4/?file=58277#file58277line481> > > > > * same here, no clue whats wrong > On April 29, 2012, 6:26 p.m., Maks Orlovich wrote: > > kjs/object_object.cpp, line 288 > > <http://git.reviewboard.kde.org/r/104515/diff/4/?file=58278#file58278line288> > > > > This can throw, I think. Yes, we probably have zillions of bugs where > > we don't check ->hadException precisely. On that note, I would discourage > > using toString in exception error messages, for the same reason --- you can > > get an error produced just trying to construct them. Instead, you'll > > probably want to factor out the code in printInfo() in internal.cpp into > > something that can make you a string, and use that. > > Hm yes, you are right, but I would like to fix this issue later in another patch. > On April 29, 2012, 6:26 p.m., Maks Orlovich wrote: > > kjs/propertydescriptor.h, line 36 > > <http://git.reviewboard.kde.org/r/104515/diff/4/?file=58281#file58281line36> > > > > Are you sure you want them copyable? At any rate, you should never have > > a copy constructor but no operator= ok, copy-ctor removed instead I will rely on the implicit operator=, which does the right thing because all objects are POD in this case. - Bernd ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/104515/#review13085 ----------------------------------------------------------- On April 20, 2012, 11:55 a.m., Bernd Buschinski wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://git.reviewboard.kde.org/r/104515/ > ----------------------------------------------------------- > > (Updated April 20, 2012, 11:55 a.m.) > > > Review request for kdelibs. > > > Description > ------- > > KJS: Implement Object.GetOwnPropertyDescriptor & Object.DefineProperty > > This is a pretty big patch, to get Object.defineProperty perfect for > ecmascript (for all tests that only use implemented stuff, all test that use > Object.create for example will fail, as its not implemented) > > PropertyDescriptor: > Necessary for collectiong data, this introduce new CommonIdentifiers.h, this > might requiere to rebuild khtml against new kjs, otherwise it might cause > weird crashes (at least for me) > > > object.h: > Beside from adding new getPropertyDescriptor & getOwnPropertyDescriptor & > defineOwnProperty, the important changes are making > getPropertyAttributes, put/get/remove-Direct virtual. > Why do I need that? > Because put checks if the prototype already has property XYZ and uses it. Now > imagine an array that got a setter-only property via a prototype. > DefineProperty would try to use put, which uses the prototype property and it > would fail. So all custom-data classes like Array need to implement/use > put/get/remove-Direct. > > > object.cpp: > currently put on a setter-only property would always throw an exception, this > is only correct for strict-mode, as we currently do not check for strict-mode > it would make more sense to change it to default not throwing an exception. > > > array.cpp/h: > The old Array implementation did not store attributes for array indexes, I > rewrote it to also store the attributes. > + Bonus: also fix getOwnPropertyNames, as we now store attributes. > + use new attributes, reject put/delete/enum if set > > function.cpp (Arguments) > changed the default attributes how parameter are stored, according to ECMA > 10.6.11.b > > > Rest is "just" the defineProperty implementation > > > Diffs > ----- > > kjs/CMakeLists.txt 1188064 > kjs/CommonIdentifiers.h 8ee40e8 > kjs/array_instance.h 3f2b630 > kjs/array_instance.cpp fe9b8b4 > kjs/function.h 3757fe8 > kjs/function.cpp 5f39ae6 > kjs/object.h 047c242 > kjs/object.cpp c19122f > kjs/object_object.cpp 986f03f > kjs/operations.h f8a28c8 > kjs/operations.cpp d4c0066 > kjs/propertydescriptor.h PRE-CREATION > kjs/propertydescriptor.cpp PRE-CREATION > > Diff: http://git.reviewboard.kde.org/r/104515/diff/ > > > Testing > ------- > > ecmascript & daily surfing > > used valgrind on many array testcases to check for possible memleaks > > > Thanks, > > Bernd Buschinski > >
