[ES6] Add Reflect namespace and add Reflect.deleteProperty
authorutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 26 Jul 2015 05:12:26 +0000 (05:12 +0000)
committerutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 26 Jul 2015 05:12:26 +0000 (05:12 +0000)
commit2e9f7e819eae9a934ce5bae0345546076f9d348a
treed48877d33dbf8c54776f59e325279f05fb0213cf
parent92e4c1205b72bbaddd5106909123d221bd69c630
[ES6] Add Reflect namespace and add Reflect.deleteProperty
https://bugs.webkit.org/show_bug.cgi?id=147287

Reviewed by Sam Weinig.

This patch just creates the namespace for ES6 Reflect APIs.
And add template files to implement the actual code.

Not to keep the JS generated properties C array empty,
we added one small method, Reflect.deleteProperty in this patch.

* CMakeLists.txt:
* DerivedSources.make:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* builtins/ReflectObject.js: Added.
(deleteProperty):
* runtime/CommonIdentifiers.h:
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
* runtime/ReflectObject.cpp: Added.
(JSC::ReflectObject::ReflectObject):
(JSC::ReflectObject::finishCreation):
(JSC::ReflectObject::getOwnPropertySlot):
* runtime/ReflectObject.h: Added.
(JSC::ReflectObject::create):
(JSC::ReflectObject::createStructure):
* tests/stress/reflect-delete-property.js: Added.
(shouldBe):
(shouldThrow):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187401 268f45cc-cd09-0410-ab3c-d52691b4dbfc
12 files changed:
Source/JavaScriptCore/CMakeLists.txt
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/DerivedSources.make
Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj
Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters
Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
Source/JavaScriptCore/builtins/ReflectObject.js [new file with mode: 0644]
Source/JavaScriptCore/runtime/CommonIdentifiers.h
Source/JavaScriptCore/runtime/JSGlobalObject.cpp
Source/JavaScriptCore/runtime/ReflectObject.cpp [new file with mode: 0644]
Source/JavaScriptCore/runtime/ReflectObject.h [new file with mode: 0644]
Source/JavaScriptCore/tests/stress/reflect-delete-property.js [new file with mode: 0644]