blob: 687dd4c44a94b7b12c8a63bc226cc9e457411a90 [file] [log] [blame]
Ben Murdoch4a90d5f2016-03-22 12:00:34 +00001// Copyright 2015 the V8 project authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// Flags: --expose-debug-as debug --allow-natives-syntax
6
7var Debug = debug.Debug;
8
9var exception = null;
10
11function listener(event, exec_state, event_data, data) {
12 if (event != Debug.DebugEvent.Break) return;
13 try {
14 var scopes = exec_state.frame().allScopes();
15 assertEquals(4, scopes.length);
16 assertEquals(debug.ScopeType.With, scopes[0].scopeType());
17 assertEquals(debug.ScopeType.Local, scopes[1].scopeType());
18 assertEquals(debug.ScopeType.Script, scopes[2].scopeType());
19 assertEquals(debug.ScopeType.Global, scopes[3].scopeType());
20 } catch (e) {
21 exception = e;
22 }
23}
24
25function f() {
26 with({}) {
27 debugger;
28 }
29}
30
31f();
32f();
33
34%OptimizeFunctionOnNextCall(f);
35Debug.setListener(listener);
36
37f();
38
39assertNull(exception);