| Index: src/inspector/debugger-script.js
|
| diff --git a/src/inspector/debugger-script.js b/src/inspector/debugger-script.js
|
| index 9eedd48ec0cd489b334494bff474c72d8e5a6557..4518855b4e45e45518f008fed9f202f1b1ccf5e3 100644
|
| --- a/src/inspector/debugger-script.js
|
| +++ b/src/inspector/debugger-script.js
|
| @@ -42,6 +42,7 @@ DebuggerScript._scopeTypeNames.set(ScopeType.Closure, "closure");
|
| DebuggerScript._scopeTypeNames.set(ScopeType.Catch, "catch");
|
| DebuggerScript._scopeTypeNames.set(ScopeType.Block, "block");
|
| DebuggerScript._scopeTypeNames.set(ScopeType.Script, "script");
|
| +DebuggerScript._scopeTypeNames.set(ScopeType.Eval, "eval");
|
|
|
| /**
|
| * @param {function()} fun
|
| @@ -530,15 +531,19 @@ DebuggerScript._buildScopeObject = function(scopeType, scopeObject)
|
| case ScopeType.Catch:
|
| case ScopeType.Block:
|
| case ScopeType.Script:
|
| + case ScopeType.Eval:
|
| // For transient objects we create a "persistent" copy that contains
|
| // the same properties.
|
| // Reset scope object prototype to null so that the proto properties
|
| // don't appear in the local scope section.
|
| var properties = /** @type {!ObjectMirror} */(MakeMirror(scopeObject, true /* transient */)).properties();
|
| // Almost always Script scope will be empty, so just filter out that noise.
|
| - // Also drop empty Block scopes, should we get any.
|
| - if (!properties.length && (scopeType === ScopeType.Script || scopeType === ScopeType.Block))
|
| + // Also drop empty Block, Eval and Script scopes, should we get any.
|
| + if (!properties.length && (scopeType === ScopeType.Script ||
|
| + scopeType === ScopeType.Block ||
|
| + scopeType === ScopeType.Eval)) {
|
| break;
|
| + }
|
| result = { __proto__: null };
|
| for (var j = 0; j < properties.length; j++) {
|
| var name = properties[j].name();
|
|
|