| OLD | NEW |
| 1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 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 "use strict"; | 5 "use strict"; |
| 6 | 6 |
| 7 // If true, prints all messages sent and received by inspector. | 7 // If true, prints all messages sent and received by inspector. |
| 8 const printProtocolMessages = false; | 8 const printProtocolMessages = false; |
| 9 | 9 |
| 10 // The active wrapper instance. | 10 // The active wrapper instance. |
| (...skipping 296 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 307 const id = this.getNextMessageId(); | 307 const id = this.getNextMessageId(); |
| 308 const msg = JSON.stringify({ | 308 const msg = JSON.stringify({ |
| 309 id: id, | 309 id: id, |
| 310 method: method, | 310 method: method, |
| 311 params: params, | 311 params: params, |
| 312 }); | 312 }); |
| 313 return { msgid : id, msg: msg }; | 313 return { msgid : id, msg: msg }; |
| 314 } | 314 } |
| 315 | 315 |
| 316 receiveMessage(message) { | 316 receiveMessage(message) { |
| 317 if (printProtocolMessages) print(message); | |
| 318 | |
| 319 const parsedMessage = JSON.parse(message); | 317 const parsedMessage = JSON.parse(message); |
| 318 if (printProtocolMessages) { |
| 319 print(JSON.stringify(parsedMessage, undefined, 1)); |
| 320 } |
| 320 if (parsedMessage.id !== undefined) { | 321 if (parsedMessage.id !== undefined) { |
| 321 this.receivedMessages.set(parsedMessage.id, parsedMessage); | 322 this.receivedMessages.set(parsedMessage.id, parsedMessage); |
| 322 } | 323 } |
| 323 | 324 |
| 324 this.dispatchMessage(parsedMessage); | 325 this.dispatchMessage(parsedMessage); |
| 325 } | 326 } |
| 326 | 327 |
| 327 sendMessage(message) { | 328 sendMessage(message) { |
| 328 if (printProtocolMessages) print(message); | 329 if (printProtocolMessages) print(message); |
| 329 send(message); | 330 send(message); |
| (...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 600 this.sendMessage(msg); | 601 this.sendMessage(msg); |
| 601 this.takeReplyChecked(msgid); | 602 this.takeReplyChecked(msgid); |
| 602 } | 603 } |
| 603 | 604 |
| 604 execStateFrame(frame) { | 605 execStateFrame(frame) { |
| 605 const scriptid = parseInt(frame.location.scriptId); | 606 const scriptid = parseInt(frame.location.scriptId); |
| 606 const line = frame.location.lineNumber; | 607 const line = frame.location.lineNumber; |
| 607 const column = frame.location.columnNumber; | 608 const column = frame.location.columnNumber; |
| 608 const loc = %ScriptLocationFromLine2(scriptid, line, column, 0); | 609 const loc = %ScriptLocationFromLine2(scriptid, line, column, 0); |
| 609 const func = { name : () => frame.functionName }; | 610 const func = { name : () => frame.functionName }; |
| 611 const index = JSON.parse(frame.callFrameId).ordinal; |
| 610 | 612 |
| 611 function allScopes() { | 613 function allScopes() { |
| 612 const scopes = []; | 614 const scopes = []; |
| 613 for (let i = 0; i < frame.scopeChain.length; i++) { | 615 for (let i = 0; i < frame.scopeChain.length; i++) { |
| 614 scopes.push(this.execStateScope(frame, i)); | 616 scopes.push(this.execStateScope(frame, i)); |
| 615 } | 617 } |
| 616 return scopes; | 618 return scopes; |
| 617 }; | 619 }; |
| 618 | 620 |
| 619 return { sourceColumn : () => loc.column, | 621 return { sourceColumn : () => loc.column, |
| 620 sourceLine : () => loc.line + 1, | 622 sourceLine : () => loc.line + 1, |
| 621 sourceLineText : () => loc.sourceText, | 623 sourceLineText : () => loc.sourceText, |
| 622 evaluate : (expr) => this.evaluateOnCallFrame(frame, expr), | 624 evaluate : (expr) => this.evaluateOnCallFrame(frame, expr), |
| 623 functionName : () => frame.functionName, | 625 functionName : () => frame.functionName, |
| 624 func : () => func, | 626 func : () => func, |
| 627 index : () => index, |
| 625 localCount : () => this.execStateFrameLocalCount(frame), | 628 localCount : () => this.execStateFrameLocalCount(frame), |
| 626 localName : (ix) => this.execStateFrameLocalName(frame, ix), | 629 localName : (ix) => this.execStateFrameLocalName(frame, ix), |
| 627 localValue: (ix) => this.execStateFrameLocalValue(frame, ix), | 630 localValue: (ix) => this.execStateFrameLocalValue(frame, ix), |
| 628 receiver : () => this.evaluateOnCallFrame(frame, "this"), | 631 receiver : () => this.evaluateOnCallFrame(frame, "this"), |
| 629 restart : () => this.execStateFrameRestart(frame), | 632 restart : () => this.execStateFrameRestart(frame), |
| 630 scopeCount : () => frame.scopeChain.length, | 633 scopeCount : () => frame.scopeChain.length, |
| 631 scope : (index) => this.execStateScope(frame, index), | 634 scope : (index) => this.execStateScope(frame, index), |
| 632 allScopes : allScopes.bind(this) | 635 allScopes : allScopes.bind(this) |
| 633 }; | 636 }; |
| 634 } | 637 } |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 764 debug.instance = new DebugWrapper(); | 767 debug.instance = new DebugWrapper(); |
| 765 debug.instance.enable(); | 768 debug.instance.enable(); |
| 766 } | 769 } |
| 767 return debug.instance; | 770 return debug.instance; |
| 768 }}); | 771 }}); |
| 769 | 772 |
| 770 Object.defineProperty(debug, 'ScopeType', { get: function() { | 773 Object.defineProperty(debug, 'ScopeType', { get: function() { |
| 771 const instance = debug.Debug; | 774 const instance = debug.Debug; |
| 772 return instance.ScopeType; | 775 return instance.ScopeType; |
| 773 }}); | 776 }}); |
| OLD | NEW |