ES6 symbols: extend V8 API to support symbols
authorrossberg@chromium.org <rossberg@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 10 Apr 2013 12:16:29 +0000 (12:16 +0000)
committerrossberg@chromium.org <rossberg@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 10 Apr 2013 12:16:29 +0000 (12:16 +0000)
commitdc72037e1095ddc5a6edbc6772bafd070b3a5687
treeeefd9e050b847febfd0c45de3c486ddba4bba488
parent5dfe7e682876df0ca37091dd71dd4207b67e8227
ES6 symbols: extend V8 API to support symbols

Specifically:
- Introduce Symbol and SymbolObject classes.
- Generalise Object::Has and Object::Delete to arbitrary Value-typed keys.
- Generalise some places in the API implementation from String to Name.

It is not possible to intercept symbol-named properties. That is consistent with the idea that symbols are private and should not leak.

R=svenpanne@chromium.org
BUG=v8:2158

Review URL: https://codereview.chromium.org/13626002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14210 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
include/v8.h
src/api.cc
src/api.h
src/handles.cc
src/handles.h
src/runtime.cc
src/runtime.h
test/cctest/test-api.cc