| Index: src/debug-delay.js
|
| ===================================================================
|
| --- src/debug-delay.js (revision 915)
|
| +++ src/debug-delay.js (working copy)
|
| @@ -322,6 +322,10 @@
|
| // Convert the line and column into an absolute position within the script.
|
| var pos = Debug.findScriptSourcePosition(script, this.line(), column);
|
|
|
| + // If the position is not found in the script (the script might be shorter
|
| + // than it used to be) just ignore it.
|
| + if (pos === null) return;
|
| +
|
| // Create a break point object and set the break point.
|
| break_point = MakeBreakPoint(pos, this.line(), this.column(), this);
|
| break_point.setIgnoreCount(this.ignoreCount());
|
| @@ -443,7 +447,8 @@
|
| // Returns the character position in a script based on a line number and an
|
| // optional position within that line.
|
| Debug.findScriptSourcePosition = function(script, opt_line, opt_column) {
|
| - return script.locationFromLine(opt_line, opt_column).position;
|
| + var location = script.locationFromLine(opt_line, opt_column);
|
| + return location ? location.position : null;
|
| }
|
|
|
|
|
| @@ -727,6 +732,16 @@
|
| }
|
|
|
|
|
| +BreakEvent.prototype.executionState = function() {
|
| + return this.exec_state_;
|
| +};
|
| +
|
| +
|
| +BreakEvent.prototype.eventType = function() {
|
| + return Debug.DebugEvent.Break;
|
| +};
|
| +
|
| +
|
| BreakEvent.prototype.func = function() {
|
| return this.exec_state_.frame(0).func();
|
| };
|
| @@ -799,12 +814,24 @@
|
| return new ExceptionEvent(exec_state, exception, uncaught);
|
| }
|
|
|
| +
|
| function ExceptionEvent(exec_state, exception, uncaught) {
|
| this.exec_state_ = exec_state;
|
| this.exception_ = exception;
|
| this.uncaught_ = uncaught;
|
| }
|
|
|
| +
|
| +ExceptionEvent.prototype.executionState = function() {
|
| + return this.exec_state_;
|
| +};
|
| +
|
| +
|
| +ExceptionEvent.prototype.eventType = function() {
|
| + return Debug.DebugEvent.Exception;
|
| +};
|
| +
|
| +
|
| ExceptionEvent.prototype.uncaught = function() {
|
| return this.uncaught_;
|
| }
|
| @@ -855,18 +882,28 @@
|
| };
|
|
|
|
|
| -function MakeCompileEvent(script_source, script_name, script_function) {
|
| - return new CompileEvent(script_source, script_name, script_function);
|
| +function MakeCompileEvent(script_source, script_name, script_function, before) {
|
| + return new CompileEvent(script_source, script_name, script_function, before);
|
| }
|
|
|
|
|
| -function CompileEvent(script_source, script_name, script_function) {
|
| +function CompileEvent(script_source, script_name, script_function, before) {
|
| this.scriptSource = script_source;
|
| this.scriptName = script_name;
|
| this.scriptFunction = script_function;
|
| + this.before = before;
|
| }
|
|
|
|
|
| +CompileEvent.prototype.eventType = function() {
|
| + if (this.before) {
|
| + return Debug.DebugEvent.BeforeComplie;
|
| + } else {
|
| + return Debug.DebugEvent.AfterComplie;
|
| + }
|
| +};
|
| +
|
| +
|
| function MakeNewFunctionEvent(func) {
|
| return new NewFunctionEvent(func);
|
| }
|
| @@ -876,6 +913,12 @@
|
| this.func = func;
|
| }
|
|
|
| +
|
| +NewFunctionEvent.prototype.eventType = function() {
|
| + return Debug.DebugEvent.NewFunction;
|
| +};
|
| +
|
| +
|
| NewFunctionEvent.prototype.name = function() {
|
| return this.func.name;
|
| };
|
|
|