Chromium Code Reviews| Index: runtime/observatory/lib/src/elements/debugger.dart |
| diff --git a/runtime/observatory/lib/src/elements/debugger.dart b/runtime/observatory/lib/src/elements/debugger.dart |
| index 81541ef595d7032a7b5e2d3f36859e6fee758bc9..61a8989d60b4dd1737a817f739e05a2b6f5fc4c5 100644 |
| --- a/runtime/observatory/lib/src/elements/debugger.dart |
| +++ b/runtime/observatory/lib/src/elements/debugger.dart |
| @@ -902,6 +902,7 @@ class IsolateCommand extends DebuggerCommand { |
| IsolateCommand(Debugger debugger) : super(debugger, 'isolate', [ |
| new IsolateListCommand(debugger), |
| new IsolateNameCommand(debugger), |
| + new IsolateReloadCommand(debugger), |
| ]) { |
| alias = 'i'; |
| } |
| @@ -962,10 +963,10 @@ class IsolateCommand extends DebuggerCommand { |
| } |
| return new Future.value(result); |
| } |
| - String helpShort = 'Switch the current isolate'; |
| + String helpShort = 'Switch, list, rename, or reload isolates'; |
| String helpLong = |
| - 'Switch, list, or rename isolates.\n' |
| + 'Switch the current isolate.\n' |
| '\n' |
| 'Syntax: isolate <number>\n' |
| ' isolate <name>\n'; |
| @@ -1042,14 +1043,36 @@ class IsolateNameCommand extends DebuggerCommand { |
| return debugger.isolate.setName(args[0]); |
| } |
| - String helpShort = 'Rename an isolate'; |
| + String helpShort = 'Rename the current isolate'; |
| String helpLong = |
| - 'Rename an isolate.\n' |
| + 'Rename the current isolate.\n' |
| '\n' |
| 'Syntax: isolate name <name>\n'; |
| } |
| +class IsolateReloadCommand extends DebuggerCommand { |
| + IsolateReloadCommand(Debugger debugger) : super(debugger, 'reload', []); |
|
rmacnak
2016/05/11 19:56:17
General comment: I'm a bit uneasy about the name '
Cutch
2016/05/12 15:50:13
Acknowledged.
|
| + |
| + Future run(List<String> args) async { |
| + if (debugger.isolate == null) { |
| + debugger.console.print('There is no current vm'); |
| + return; |
| + } |
| + |
| + await debugger.isolate.reloadSources(); |
| + |
| + debugger.console.print('Isolate reloading....'); |
| + } |
| + |
| + String helpShort = 'Reload the sources for the current isolate.'; |
| + |
| + String helpLong = |
| + 'Reload the sources for the current isolate.\n' |
| + '\n' |
| + 'Syntax: reload\n'; |
| +} |
| + |
| class InfoCommand extends DebuggerCommand { |
| InfoCommand(Debugger debugger) : super(debugger, 'info', [ |
| new InfoBreakpointsCommand(debugger), |
| @@ -1650,6 +1673,15 @@ class ObservatoryDebugger extends Debugger { |
| console.print("Isolate ${iso.number} renamed to '${iso.name}'"); |
| break; |
| + case ServiceEvent.kIsolateReload: |
| + var reloadError = event.reloadError; |
| + if (reloadError != null) { |
| + console.print('Isolate reload failed: ${event.reloadError}'); |
| + } else { |
| + console.print('Isolate reloaded.'); |
| + } |
| + break; |
| + |
| case ServiceEvent.kPauseStart: |
| case ServiceEvent.kPauseExit: |
| case ServiceEvent.kPauseBreakpoint: |