[vm] Consider a reload with no changed files as a reload for _getUnusedChangesInLastReload.

Add missing messages for various vm-service error codes.

Bug: https://github.com/flutter/flutter/issues/12300
Change-Id: I1f3607f94c5ab2fb770813f0502c3b1c9c40fdf4
Reviewed-on: https://dart-review.googlesource.com/11642
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
This commit is contained in:
Ryan Macnak
2017-10-09 16:31:05 +00:00
committed by commit-bot@chromium.org
parent f10ff8ae82
commit 140dfd6d89
3 changed files with 26 additions and 4 deletions
@@ -54,9 +54,9 @@ var tests = [
print(e);
});
// Reload to v2.
// Reload to v1 (null change).
var response = await childIsolate.reloadSources(
rootLibUri: v2Uri.toString(),
rootLibUri: v1Uri.toString(),
);
print(response);
expect(response['success'], isTrue);
@@ -65,6 +65,19 @@ var tests = [
response = await childIsolate.invokeRpc("_getUnusedChangesInLastReload", {});
print(response);
var unused = response['unused'].map((ea) => ea.toString());
expect(unused, unorderedEquals([]));
// Reload to v2.
response = await childIsolate.reloadSources(
rootLibUri: v2Uri.toString(),
);
print(response);
expect(response['success'], isTrue);
// Fetch unused.
response = await childIsolate.invokeRpc("_getUnusedChangesInLastReload", {});
print(response);
unused = response['unused'].map((ea) => ea.toString());
expect(unused, unorderedEquals([
'Class(C)',
'Class(NewClass)',
+3
View File
@@ -600,6 +600,9 @@ void IsolateReloadContext::Reload(bool force_reload,
if (!modified_libs_->Contains(old_root_lib.index())) {
ASSERT(modified_libs_->IsEmpty());
reload_skipped_ = true;
// Inform GetUnusedChangesInLastReload that a reload has happened.
I->object_store()->set_changed_in_last_reload(
GrowableObjectArray::Handle(GrowableObjectArray::New()));
ReportOnJSON(js_);
TIR_Print("---- SKIPPING RELOAD (No libraries were modified)\n");
return;
+8 -2
View File
@@ -138,6 +138,10 @@ static const char* GetJSONRpcErrorMessage(intptr_t code) {
return "Feature is disabled";
case kCannotAddBreakpoint:
return "Cannot add breakpoint";
case kStreamAlreadySubscribed:
return "Stream already subscribed";
case kStreamNotSubscribed:
return "Stream not subscribed";
case kIsolateMustBeRunnable:
return "Isolate must be runnable";
case kIsolateMustBePaused:
@@ -146,14 +150,16 @@ static const char* GetJSONRpcErrorMessage(intptr_t code) {
return "Cannot resume execution";
case kIsolateIsReloading:
return "Isolate is reloading";
case kIsolateReloadBarred:
return "Isolate cannot be reloaded";
case kIsolateMustHaveReloaded:
return "Isolate must have reloaded";
case kFileSystemAlreadyExists:
return "File system already exists";
case kFileSystemDoesNotExist:
return "File system does not exist";
case kFileDoesNotExist:
return "File does not exist";
case kIsolateReloadBarred:
return "Isolate cannot be reloaded";
default:
return "Extension error";
}