OLD | NEW |
1 // Copyright 2009 the V8 project authors. All rights reserved. | 1 // Copyright 2009 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 "use strict"; | 5 "use strict"; |
6 | 6 |
7 // This file relies on the fact that the following declarations have been made | 7 // This file relies on the fact that the following declarations have been made |
8 // in runtime.js: | 8 // in runtime.js: |
9 // var $Array = global.Array; | 9 // var $Array = global.Array; |
10 // var $String = global.String; | 10 // var $String = global.String; |
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
213 } | 213 } |
214 return JSONSerialize('', {'': value}, replacer, new InternalArray(), "", gap); | 214 return JSONSerialize('', {'': value}, replacer, new InternalArray(), "", gap); |
215 } | 215 } |
216 | 216 |
217 | 217 |
218 // ------------------------------------------------------------------- | 218 // ------------------------------------------------------------------- |
219 | 219 |
220 function SetUpJSON() { | 220 function SetUpJSON() { |
221 %CheckIsBootstrapping(); | 221 %CheckIsBootstrapping(); |
222 | 222 |
| 223 %AddNamedProperty($JSON, symbolToStringTag, "JSON", READ_ONLY | DONT_ENUM); |
| 224 |
223 // Set up non-enumerable properties of the JSON object. | 225 // Set up non-enumerable properties of the JSON object. |
224 InstallFunctions($JSON, DONT_ENUM, $Array( | 226 InstallFunctions($JSON, DONT_ENUM, $Array( |
225 "parse", JSONParse, | 227 "parse", JSONParse, |
226 "stringify", JSONStringify | 228 "stringify", JSONStringify |
227 )); | 229 )); |
228 } | 230 } |
229 | 231 |
230 SetUpJSON(); | 232 SetUpJSON(); |
231 | 233 |
232 | 234 |
233 // ------------------------------------------------------------------- | 235 // ------------------------------------------------------------------- |
234 // JSON Builtins | 236 // JSON Builtins |
235 | 237 |
236 function JSONSerializeAdapter(key, object) { | 238 function JSONSerializeAdapter(key, object) { |
237 var holder = {}; | 239 var holder = {}; |
238 holder[key] = object; | 240 holder[key] = object; |
239 // No need to pass the actual holder since there is no replacer function. | 241 // No need to pass the actual holder since there is no replacer function. |
240 return JSONSerialize(key, holder, UNDEFINED, new InternalArray(), "", ""); | 242 return JSONSerialize(key, holder, UNDEFINED, new InternalArray(), "", ""); |
241 } | 243 } |
OLD | NEW |