blob: 8fa8645bafd445bbddfe9223dfc3f764caef3686 [file] [log] [blame]
// Copyright 2016 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Test that debug-evaluate doesn't crash when this is used before super() call
// in constructor.
Debug = debug.Debug
var result;
function listener(event, exec_state, event_data, data)
{
try {
if (event == Debug.DebugEvent.Break) {
result = exec_state.frame(0).evaluate("this.a").value();
}
} catch (e) {
result = e.message;
}
}
Debug.setListener(listener);
class A { constructor () { this.a = 239; } }
class B extends A {
constructor () {
debugger;
assertTrue(result.indexOf("Cannot read property 'a' of undefined") >= 0);
super();
debugger;
assertEquals(239, result);
}
}
new B();
Debug.setListener(null);