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 library instance_view_element; | 5 library instance_view_element; |
6 | 6 |
7 import 'dart:async'; | 7 import 'dart:async'; |
8 import 'observatory_element.dart'; | 8 import 'observatory_element.dart'; |
9 import 'package:observatory/service.dart'; | 9 import 'package:observatory/service.dart'; |
10 import 'package:polymer/polymer.dart'; | 10 import 'package:polymer/polymer.dart'; |
11 | 11 |
12 @CustomTag('instance-view') | 12 @CustomTag('instance-view') |
13 class InstanceViewElement extends ObservatoryElement { | 13 class InstanceViewElement extends ObservatoryElement { |
14 @published Instance instance; | 14 @published Instance instance; |
15 | 15 |
16 InstanceViewElement.created() : super.created(); | 16 InstanceViewElement.created() : super.created(); |
17 | 17 |
| 18 instanceChanged(oldValue) { |
| 19 if (instance != null) { |
| 20 // We load typeClass and typeArguments because we want to |
| 21 // display this info. |
| 22 if (instance.typeClass != null) { |
| 23 instance.typeClass.load(); |
| 24 } |
| 25 if (instance.typeArguments != null) { |
| 26 instance.typeArguments.load(); |
| 27 } |
| 28 } |
| 29 } |
| 30 |
18 Future<ServiceObject> evaluate(String expression) { | 31 Future<ServiceObject> evaluate(String expression) { |
19 return instance.evaluate(expression); | 32 return instance.evaluate(expression); |
20 } | 33 } |
21 | 34 |
22 Future setBreakOnActivation() { | 35 Future setBreakOnActivation() { |
23 return instance.isolate.addBreakOnActivation(instance) | 36 return instance.isolate.addBreakOnActivation(instance) |
24 .then((_) => refresh()); | 37 .then((_) => refresh()); |
25 } | 38 } |
26 | 39 |
27 Future clearBreakOnActivation() { | 40 Future clearBreakOnActivation() { |
28 return instance.isolate.removeBreakpoint(instance.activationBreakpoint) | 41 return instance.isolate.removeBreakpoint(instance.activationBreakpoint) |
29 .then((_) => refresh()); | 42 .then((_) => refresh()); |
30 } | 43 } |
31 | 44 |
32 Future refresh() { | 45 Future refresh() { |
33 return instance.reload(); | 46 return instance.reload(); |
34 } | 47 } |
35 } | 48 } |
OLD | NEW |