| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 import "debug_lib.dart"; | 5 import "debug_lib.dart"; |
| 6 | 6 |
| 7 main(List<String> arguments) { | 7 main(List<String> arguments) { |
| 8 if (RunScript(testScript, arguments)) return; | 8 if (RunScript(testScript, arguments)) return; |
| 9 | 9 |
| 10 Foo foo = new Foo(); | 10 Foo foo = new Foo(); |
| 11 | 11 |
| 12 print("Hello from debuggee"); | 12 print("Hello from debuggee"); |
| 13 } | 13 } |
| 14 | 14 |
| 15 class Foo { | 15 class Foo { |
| 16 String toString() { | 16 String toString() { |
| 17 throw 'I always throw'; | 17 throw 'I always throw'; |
| 18 } | 18 } |
| 19 } | 19 } |
| 20 | 20 |
| 21 // Make sure Foo.toString() does not get called. |
| 21 var testScript = [ | 22 var testScript = [ |
| 22 MatchFrame(0, "main"), | 23 MatchFrame(0, "main"), |
| 23 SetBreakpoint(12), | 24 SetBreakpoint(12), |
| 24 Resume(), | 25 Resume(), |
| 25 MatchFrame(0, "main"), | 26 MatchFrame(0, "main"), |
| 26 MatchLocals({"foo": "#ERROR"}), | 27 MatchLocals({"foo": "object of type Foo"}), |
| 27 Resume(), | 28 Resume(), |
| 28 ]; | 29 ]; |
| OLD | NEW |