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 (function(global, utils) { | 5 (function(global, utils) { |
6 | 6 |
7 "use strict"; | 7 "use strict"; |
8 | 8 |
9 %CheckIsBootstrapping(); | 9 %CheckIsBootstrapping(); |
10 | 10 |
11 // ------------------------------------------------------------------- | 11 // ------------------------------------------------------------------- |
12 // Imports | 12 // Imports |
13 | 13 |
14 var GlobalJSON = global.JSON; | 14 var GlobalJSON = global.JSON; |
15 var InternalArray = utils.InternalArray; | 15 var InternalArray = utils.InternalArray; |
16 var MathMax; | |
17 var MathMin; | |
18 var ObjectHasOwnProperty; | 16 var ObjectHasOwnProperty; |
19 var toStringTagSymbol = utils.ImportNow("to_string_tag_symbol"); | 17 var toStringTagSymbol = utils.ImportNow("to_string_tag_symbol"); |
18 var MaxSimple; | |
Jakob Kummerow
2015/10/15 14:18:48
nit: please preserve alpha-sorting
skomski
2015/10/15 15:17:58
Done.
| |
19 var MinSimple; | |
20 | 20 |
21 utils.Import(function(from) { | 21 utils.Import(function(from) { |
22 MathMax = from.MathMax; | |
23 MathMin = from.MathMin; | |
24 ObjectHasOwnProperty = from.ObjectHasOwnProperty; | 22 ObjectHasOwnProperty = from.ObjectHasOwnProperty; |
23 MaxSimple = from.MaxSimple; | |
24 MinSimple = from.MinSimple; | |
25 }); | 25 }); |
26 | 26 |
27 // ------------------------------------------------------------------- | 27 // ------------------------------------------------------------------- |
28 | 28 |
29 function Revive(holder, name, reviver) { | 29 function Revive(holder, name, reviver) { |
30 var val = holder[name]; | 30 var val = holder[name]; |
31 if (IS_OBJECT(val)) { | 31 if (IS_OBJECT(val)) { |
32 if (IS_ARRAY(val)) { | 32 if (IS_ARRAY(val)) { |
33 var length = val.length; | 33 var length = val.length; |
34 for (var i = 0; i < length; i++) { | 34 for (var i = 0; i < length; i++) { |
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
208 if (IS_OBJECT(space)) { | 208 if (IS_OBJECT(space)) { |
209 // Unwrap 'space' if it is wrapped | 209 // Unwrap 'space' if it is wrapped |
210 if (IS_NUMBER_WRAPPER(space)) { | 210 if (IS_NUMBER_WRAPPER(space)) { |
211 space = TO_NUMBER(space); | 211 space = TO_NUMBER(space); |
212 } else if (IS_STRING_WRAPPER(space)) { | 212 } else if (IS_STRING_WRAPPER(space)) { |
213 space = TO_STRING(space); | 213 space = TO_STRING(space); |
214 } | 214 } |
215 } | 215 } |
216 var gap; | 216 var gap; |
217 if (IS_NUMBER(space)) { | 217 if (IS_NUMBER(space)) { |
218 space = MathMax(0, MathMin(TO_INTEGER(space), 10)); | 218 space = MaxSimple(0, MinSimple(TO_INTEGER(space), 10)); |
219 gap = %_SubString(" ", 0, space); | 219 gap = %_SubString(" ", 0, space); |
220 } else if (IS_STRING(space)) { | 220 } else if (IS_STRING(space)) { |
221 if (space.length > 10) { | 221 if (space.length > 10) { |
222 gap = %_SubString(space, 0, 10); | 222 gap = %_SubString(space, 0, 10); |
223 } else { | 223 } else { |
224 gap = space; | 224 gap = space; |
225 } | 225 } |
226 } else { | 226 } else { |
227 gap = ""; | 227 gap = ""; |
228 } | 228 } |
(...skipping 16 matching lines...) Expand all Loading... | |
245 function JsonSerializeAdapter(key, object) { | 245 function JsonSerializeAdapter(key, object) { |
246 var holder = {}; | 246 var holder = {}; |
247 holder[key] = object; | 247 holder[key] = object; |
248 // No need to pass the actual holder since there is no replacer function. | 248 // No need to pass the actual holder since there is no replacer function. |
249 return JSONSerialize(key, holder, UNDEFINED, new InternalArray(), "", ""); | 249 return JSONSerialize(key, holder, UNDEFINED, new InternalArray(), "", ""); |
250 } | 250 } |
251 | 251 |
252 %InstallToContext(["json_serialize_adapter", JsonSerializeAdapter]); | 252 %InstallToContext(["json_serialize_adapter", JsonSerializeAdapter]); |
253 | 253 |
254 }) | 254 }) |
OLD | NEW |