| OLD | NEW |
| 1 // Copyright 2006-2012 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2012 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 "use strict"; | 6 "use strict"; |
| 7 | 7 |
| 8 // ---------------------------------------------------------------------------- | 8 // ---------------------------------------------------------------------------- |
| 9 // Imports | 9 // Imports |
| 10 | 10 |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 99 ClearMirrorCache(); | 99 ClearMirrorCache(); |
| 100 } | 100 } |
| 101 | 101 |
| 102 | 102 |
| 103 function ClearMirrorCache(value) { | 103 function ClearMirrorCache(value) { |
| 104 next_handle_ = 0; | 104 next_handle_ = 0; |
| 105 mirror_cache_ = []; | 105 mirror_cache_ = []; |
| 106 } | 106 } |
| 107 | 107 |
| 108 | 108 |
| 109 function ObjectIsPromise(value) { | |
| 110 return IS_RECEIVER(value) && | |
| 111 !IS_UNDEFINED(%DebugGetProperty(value, promiseStateSymbol)); | |
| 112 } | |
| 113 | |
| 114 | |
| 115 /** | 109 /** |
| 116 * Returns the mirror for a specified value or object. | 110 * Returns the mirror for a specified value or object. |
| 117 * | 111 * |
| 118 * @param {value or Object} value the value or object to retrieve the mirror for | 112 * @param {value or Object} value the value or object to retrieve the mirror for |
| 119 * @param {boolean} transient indicate whether this object is transient and | 113 * @param {boolean} transient indicate whether this object is transient and |
| 120 * should not be added to the mirror cache. The default is not transient. | 114 * should not be added to the mirror cache. The default is not transient. |
| 121 * @returns {Mirror} the mirror reflects the passed value or object | 115 * @returns {Mirror} the mirror reflects the passed value or object |
| 122 */ | 116 */ |
| 123 function MakeMirror(value, opt_transient) { | 117 function MakeMirror(value, opt_transient) { |
| 124 var mirror; | 118 var mirror; |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 161 } else if (IS_ERROR(value)) { | 155 } else if (IS_ERROR(value)) { |
| 162 mirror = new ErrorMirror(value); | 156 mirror = new ErrorMirror(value); |
| 163 } else if (IS_SCRIPT(value)) { | 157 } else if (IS_SCRIPT(value)) { |
| 164 mirror = new ScriptMirror(value); | 158 mirror = new ScriptMirror(value); |
| 165 } else if (IS_MAP(value) || IS_WEAKMAP(value)) { | 159 } else if (IS_MAP(value) || IS_WEAKMAP(value)) { |
| 166 mirror = new MapMirror(value); | 160 mirror = new MapMirror(value); |
| 167 } else if (IS_SET(value) || IS_WEAKSET(value)) { | 161 } else if (IS_SET(value) || IS_WEAKSET(value)) { |
| 168 mirror = new SetMirror(value); | 162 mirror = new SetMirror(value); |
| 169 } else if (IS_MAP_ITERATOR(value) || IS_SET_ITERATOR(value)) { | 163 } else if (IS_MAP_ITERATOR(value) || IS_SET_ITERATOR(value)) { |
| 170 mirror = new IteratorMirror(value); | 164 mirror = new IteratorMirror(value); |
| 171 } else if (ObjectIsPromise(value)) { | 165 } else if (%is_promise(value)) { |
| 172 mirror = new PromiseMirror(value); | 166 mirror = new PromiseMirror(value); |
| 173 } else if (IS_GENERATOR(value)) { | 167 } else if (IS_GENERATOR(value)) { |
| 174 mirror = new GeneratorMirror(value); | 168 mirror = new GeneratorMirror(value); |
| 175 } else { | 169 } else { |
| 176 mirror = new ObjectMirror(value, MirrorType.OBJECT_TYPE, opt_transient); | 170 mirror = new ObjectMirror(value, MirrorType.OBJECT_TYPE, opt_transient); |
| 177 } | 171 } |
| 178 | 172 |
| 179 if (mirror_cache_enabled_) mirror_cache_[mirror.handle()] = mirror; | 173 if (mirror_cache_enabled_) mirror_cache_[mirror.handle()] = mirror; |
| 180 return mirror; | 174 return mirror; |
| 181 } | 175 } |
| (...skipping 2904 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3086 // Functions needed by the debugger runtime. | 3080 // Functions needed by the debugger runtime. |
| 3087 utils.InstallFunctions(utils, DONT_ENUM, [ | 3081 utils.InstallFunctions(utils, DONT_ENUM, [ |
| 3088 "ClearMirrorCache", ClearMirrorCache | 3082 "ClearMirrorCache", ClearMirrorCache |
| 3089 ]); | 3083 ]); |
| 3090 | 3084 |
| 3091 // Export to debug.js | 3085 // Export to debug.js |
| 3092 utils.Export(function(to) { | 3086 utils.Export(function(to) { |
| 3093 to.MirrorType = MirrorType; | 3087 to.MirrorType = MirrorType; |
| 3094 }); | 3088 }); |
| 3095 }) | 3089 }) |
| OLD | NEW |