Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1362)

Unified Diff: src/symbol.js

Issue 1398733002: Move builtin JavaScript sources into own directory. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Also move macros.py file. Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/string-iterator.js ('k') | src/templates.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/symbol.js
diff --git a/src/symbol.js b/src/symbol.js
deleted file mode 100644
index 1596169685e49e186a591f8358e108382b98f078..0000000000000000000000000000000000000000
--- a/src/symbol.js
+++ /dev/null
@@ -1,134 +0,0 @@
-// Copyright 2013 the V8 project authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-(function(global, utils) {
-
-"use strict";
-
-%CheckIsBootstrapping();
-
-// -------------------------------------------------------------------
-// Imports
-
-var GlobalObject = global.Object;
-var GlobalSymbol = global.Symbol;
-var hasInstanceSymbol = utils.ImportNow("has_instance_symbol");
-var isConcatSpreadableSymbol =
- utils.ImportNow("is_concat_spreadable_symbol");
-var isRegExpSymbol = utils.ImportNow("is_regexp_symbol");
-var iteratorSymbol = utils.ImportNow("iterator_symbol");
-var ObjectGetOwnPropertyKeys;
-var toPrimitiveSymbol = utils.ImportNow("to_primitive_symbol");
-var toStringTagSymbol = utils.ImportNow("to_string_tag_symbol");
-var unscopablesSymbol = utils.ImportNow("unscopables_symbol");
-
-utils.Import(function(from) {
- ObjectGetOwnPropertyKeys = from.ObjectGetOwnPropertyKeys;
-});
-
-// -------------------------------------------------------------------
-
-// 19.4.3.4 Symbol.prototype [ @@toPrimitive ] ( hint )
-function SymbolToPrimitive(hint) {
- if (!(IS_SYMBOL(this) || IS_SYMBOL_WRAPPER(this))) {
- throw MakeTypeError(kIncompatibleMethodReceiver,
- "Symbol.prototype [ @@toPrimitive ]", this);
- }
- return %_ValueOf(this);
-}
-
-
-function SymbolToString() {
- if (!(IS_SYMBOL(this) || IS_SYMBOL_WRAPPER(this))) {
- throw MakeTypeError(kIncompatibleMethodReceiver,
- "Symbol.prototype.toString", this);
- }
- return %SymbolDescriptiveString(%_ValueOf(this));
-}
-
-
-function SymbolValueOf() {
- if (!(IS_SYMBOL(this) || IS_SYMBOL_WRAPPER(this))) {
- throw MakeTypeError(kIncompatibleMethodReceiver,
- "Symbol.prototype.valueOf", this);
- }
- return %_ValueOf(this);
-}
-
-
-function SymbolFor(key) {
- key = TO_STRING(key);
- var registry = %SymbolRegistry();
- if (IS_UNDEFINED(registry.for[key])) {
- var symbol = %CreateSymbol(key);
- registry.for[key] = symbol;
- registry.keyFor[symbol] = key;
- }
- return registry.for[key];
-}
-
-
-function SymbolKeyFor(symbol) {
- if (!IS_SYMBOL(symbol)) throw MakeTypeError(kSymbolKeyFor, symbol);
- return %SymbolRegistry().keyFor[symbol];
-}
-
-
-// ES6 19.1.2.8
-function ObjectGetOwnPropertySymbols(obj) {
- obj = TO_OBJECT(obj);
-
- // TODO(arv): Proxies use a shared trap for String and Symbol keys.
-
- return ObjectGetOwnPropertyKeys(obj, PROPERTY_ATTRIBUTES_STRING);
-}
-
-// -------------------------------------------------------------------
-
-%FunctionSetPrototype(GlobalSymbol, new GlobalObject());
-
-utils.InstallConstants(GlobalSymbol, [
- // TODO(rossberg): expose when implemented.
- // "hasInstance", hasInstanceSymbol,
- // "isConcatSpreadable", isConcatSpreadableSymbol,
- // "isRegExp", isRegExpSymbol,
- "iterator", iteratorSymbol,
- "toPrimitive", toPrimitiveSymbol,
- // TODO(dslomov, caitp): Currently defined in harmony-tostring.js ---
- // Move here when shipping
- // "toStringTag", toStringTagSymbol,
- "unscopables", unscopablesSymbol,
-]);
-
-utils.InstallFunctions(GlobalSymbol, DONT_ENUM, [
- "for", SymbolFor,
- "keyFor", SymbolKeyFor
-]);
-
-%AddNamedProperty(
- GlobalSymbol.prototype, "constructor", GlobalSymbol, DONT_ENUM);
-%AddNamedProperty(
- GlobalSymbol.prototype, toStringTagSymbol, "Symbol", DONT_ENUM | READ_ONLY);
-
-utils.InstallFunctions(GlobalSymbol.prototype, DONT_ENUM | READ_ONLY, [
- toPrimitiveSymbol, SymbolToPrimitive
-]);
-
-utils.InstallFunctions(GlobalSymbol.prototype, DONT_ENUM, [
- "toString", SymbolToString,
- "valueOf", SymbolValueOf
-]);
-
-utils.InstallFunctions(GlobalObject, DONT_ENUM, [
- "getOwnPropertySymbols", ObjectGetOwnPropertySymbols
-]);
-
-// -------------------------------------------------------------------
-// Exports
-
-utils.Export(function(to) {
- to.SymbolToString = SymbolToString;
-})
-
-})
« no previous file with comments | « src/string-iterator.js ('k') | src/templates.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698