Chromium Code Reviews| Index: runtime/vm/object_reload.cc |
| diff --git a/runtime/vm/object_reload.cc b/runtime/vm/object_reload.cc |
| index 3e52226005cff8cd1f52e387866b48e4ac56ec96..01dfc56e29cd68607b9f451b0bb73f2a13d6e74b 100644 |
| --- a/runtime/vm/object_reload.cc |
| +++ b/runtime/vm/object_reload.cc |
| @@ -527,6 +527,22 @@ bool Class::CanReload(const Class& replacement) const { |
| bool Library::CanReload(const Library& replacement) const { |
| + // If the replacement library uses deferred loading, reject it. We |
|
rmacnak
2016/07/13 22:19:54
TODO(issue number)
turnidge
2016/07/13 22:23:03
Done.
|
| + // do not yet support reloading deferred libraries. |
| + LibraryPrefix& prefix = LibraryPrefix::Handle(); |
| + LibraryPrefixIterator it(replacement); |
| + while (it.HasNext()) { |
| + prefix = it.GetNext(); |
| + if (prefix.is_deferred_load()) { |
| + const String& lib_url = String::Handle(replacement.url()); |
| + const String& prefix_name = String::Handle(prefix.name()); |
| + IRC->ReportError(String::Handle(String::NewFormatted( |
| + "Reloading support for deferred loading has not yet been implemented:" |
| + " library '%s' has deferred import '%s'", |
| + lib_url.ToCString(), prefix_name.ToCString()))); |
| + return false; |
| + } |
| + } |
| return true; |
| } |