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 var $jsonSerializeAdapter; | 5 var $jsonSerializeAdapter; |
6 | 6 |
7 (function(global, shared, exports) { | 7 (function(global, shared, exports) { |
8 | 8 |
9 "use strict"; | 9 "use strict"; |
10 | 10 |
11 %CheckIsBootstrapping(); | 11 %CheckIsBootstrapping(); |
12 | 12 |
| 13 // ------------------------------------------------------------------- |
| 14 // Imports |
| 15 |
13 var GlobalJSON = global.JSON; | 16 var GlobalJSON = global.JSON; |
| 17 var InternalArray = shared.InternalArray; |
14 | 18 |
15 // ------------------------------------------------------------------- | 19 // ------------------------------------------------------------------- |
16 | 20 |
17 function Revive(holder, name, reviver) { | 21 function Revive(holder, name, reviver) { |
18 var val = holder[name]; | 22 var val = holder[name]; |
19 if (IS_OBJECT(val)) { | 23 if (IS_OBJECT(val)) { |
20 if (IS_ARRAY(val)) { | 24 if (IS_ARRAY(val)) { |
21 var length = val.length; | 25 var length = val.length; |
22 for (var i = 0; i < length; i++) { | 26 for (var i = 0; i < length; i++) { |
23 var newElement = Revive(val, %_NumberToString(i), reviver); | 27 var newElement = Revive(val, %_NumberToString(i), reviver); |
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
233 // JSON Builtins | 237 // JSON Builtins |
234 | 238 |
235 $jsonSerializeAdapter = function(key, object) { | 239 $jsonSerializeAdapter = function(key, object) { |
236 var holder = {}; | 240 var holder = {}; |
237 holder[key] = object; | 241 holder[key] = object; |
238 // No need to pass the actual holder since there is no replacer function. | 242 // No need to pass the actual holder since there is no replacer function. |
239 return JSONSerialize(key, holder, UNDEFINED, new InternalArray(), "", ""); | 243 return JSONSerialize(key, holder, UNDEFINED, new InternalArray(), "", ""); |
240 } | 244 } |
241 | 245 |
242 }) | 246 }) |
OLD | NEW |