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