OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 if (mirror.isSet() || mirror.isIterator()) { | 137 if (mirror.isSet() || mirror.isIterator()) { |
138 var result = []; | 138 var result = []; |
139 var values = mirror.isSet() ? /** @type {!SetMirror} */(mirror).values()
: /** @type {!IteratorMirror} */(mirror).preview(); | 139 var values = mirror.isSet() ? /** @type {!SetMirror} */(mirror).values()
: /** @type {!IteratorMirror} */(mirror).preview(); |
140 for (var i = 0; i < values.length; ++i) | 140 for (var i = 0; i < values.length; ++i) |
141 result.push({ value: values[i] }); | 141 result.push({ value: values[i] }); |
142 return result; | 142 return result; |
143 } | 143 } |
144 } | 144 } |
145 | 145 |
146 /** | 146 /** |
147 * @param {string|undefined} contextData | |
148 * @return {number} | |
149 */ | |
150 DebuggerScript._executionContextId = function(contextData) | |
151 { | |
152 if (!contextData) | |
153 return 0; | |
154 var match = contextData.match(/^[^,]*,([^,]*),.*$/); | |
155 if (!match) | |
156 return 0; | |
157 return parseInt(match[1], 10) || 0; | |
158 } | |
159 | |
160 /** | |
161 * @param {!ExecutionState} execState | 147 * @param {!ExecutionState} execState |
162 * @param {!BreakpointInfo} info | 148 * @param {!BreakpointInfo} info |
163 * @return {string|undefined} | 149 * @return {string|undefined} |
164 */ | 150 */ |
165 DebuggerScript.setBreakpoint = function(execState, info) | 151 DebuggerScript.setBreakpoint = function(execState, info) |
166 { | 152 { |
167 var breakId = Debug.setScriptBreakPointById(info.sourceID, info.lineNumber,
info.columnNumber, info.condition, undefined, Debug.BreakPositionAlignment.State
ment); | 153 var breakId = Debug.setScriptBreakPointById(info.sourceID, info.lineNumber,
info.columnNumber, info.condition, undefined, Debug.BreakPositionAlignment.State
ment); |
168 var locations = Debug.findBreakPointActualLocations(breakId); | 154 var locations = Debug.findBreakPointActualLocations(breakId); |
169 if (!locations.length) | 155 if (!locations.length) |
170 return undefined; | 156 return undefined; |
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
478 { | 464 { |
479 return ensureLocation().column; | 465 return ensureLocation().column; |
480 } | 466 } |
481 | 467 |
482 /** | 468 /** |
483 * @return {number} | 469 * @return {number} |
484 */ | 470 */ |
485 function contextId() | 471 function contextId() |
486 { | 472 { |
487 var mirror = ensureFuncMirror(); | 473 var mirror = ensureFuncMirror(); |
488 // Old V8 do not have context() function on these objects | |
489 if (!mirror.context) | |
490 return DebuggerScript._executionContextId(mirror.script().value().co
ntext_data); | |
491 var context = mirror.context(); | 474 var context = mirror.context(); |
492 if (context) | 475 if (context && context.data()) |
493 return DebuggerScript._executionContextId(context.data()); | 476 return Number(context.data()); |
494 return 0; | 477 return 0; |
495 } | 478 } |
496 | 479 |
497 /** | 480 /** |
498 * @return {number} | 481 * @return {number} |
499 */ | 482 */ |
500 function sourceID() | 483 function sourceID() |
501 { | 484 { |
502 var script = ensureScriptMirror(); | 485 var script = ensureScriptMirror(); |
503 return script.id(); | 486 return script.id(); |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
586 break; | 569 break; |
587 } | 570 } |
588 return result; | 571 return result; |
589 } | 572 } |
590 | 573 |
591 // We never resolve Mirror by its handle so to avoid memory leaks caused by Mirr
ors in the cache we disable it. | 574 // We never resolve Mirror by its handle so to avoid memory leaks caused by Mirr
ors in the cache we disable it. |
592 ToggleMirrorCache(false); | 575 ToggleMirrorCache(false); |
593 | 576 |
594 return DebuggerScript; | 577 return DebuggerScript; |
595 })(); | 578 })(); |
OLD | NEW |