@@ -594,7 +594,7 @@ void IsolateReloadContext::Reload(bool force_reload,
594
594
intptr_t modified_scripts_count = 0 ;
595
595
596
596
FindModifiedSources (thread, force_reload, &modified_scripts,
597
- &modified_scripts_count);
597
+ &modified_scripts_count, packages_url_ );
598
598
599
599
Dart_KernelCompilationResult retval;
600
600
{
@@ -1014,7 +1014,8 @@ void IsolateReloadContext::FindModifiedSources(
1014
1014
Thread* thread,
1015
1015
bool force_reload,
1016
1016
Dart_SourceFile** modified_sources,
1017
- intptr_t * count) {
1017
+ intptr_t * count,
1018
+ const char * packages_url) {
1018
1019
Zone* zone = thread->zone ();
1019
1020
int64_t last_reload = I->last_reload_timestamp ();
1020
1021
GrowableArray<const char *> modified_sources_uris;
@@ -1046,6 +1047,15 @@ void IsolateReloadContext::FindModifiedSources(
1046
1047
}
1047
1048
}
1048
1049
1050
+ // In addition to all sources, we need to check if the .packages file
1051
+ // contents have been modified.
1052
+ if (packages_url != NULL ) {
1053
+ if (file_modified_callback_ == NULL ||
1054
+ (*file_modified_callback_)(packages_url, last_reload)) {
1055
+ modified_sources_uris.Add (packages_url);
1056
+ }
1057
+ }
1058
+
1049
1059
*count = modified_sources_uris.length ();
1050
1060
if (*count == 0 ) {
1051
1061
return ;
0 commit comments