| Index: pkg/analyzer/lib/src/task/dart.dart
|
| diff --git a/pkg/analyzer/lib/src/task/dart.dart b/pkg/analyzer/lib/src/task/dart.dart
|
| index 324ad51b81339490e991cf6c20a14586a75ef2ae..3fb63557fe6fc74168626628aef60fdd2c16b166 100644
|
| --- a/pkg/analyzer/lib/src/task/dart.dart
|
| +++ b/pkg/analyzer/lib/src/task/dart.dart
|
| @@ -4151,25 +4151,30 @@ class ParseDartTask extends SourceBasedAnalysisTask {
|
|
|
| // Resolve all configurations and try to choose one.
|
| if (directive is NamespaceDirectiveImpl) {
|
| - Source configurationSource;
|
| + String configuredUri;
|
| + Source configuredSource;
|
| for (Configuration configuration in directive.configurations) {
|
| - Source source = _resolveUri(isImport, configuration.libraryUri,
|
| - configuration.libraryUri.stringValue);
|
| + String configurationUri = configuration.uri.stringValue;
|
| + Source source =
|
| + _resolveUri(isImport, configuration.uri, configurationUri);
|
| configuration.uriSource = source;
|
| - if (configurationSource == null) {
|
| + if (configuredSource == null) {
|
| String variableName =
|
| configuration.name.components.map((i) => i.name).join('.');
|
| String variableValue = context.declaredVariables.get(variableName);
|
| if (configuration.value != null &&
|
| variableValue == configuration.value.stringValue ||
|
| variableValue == 'true') {
|
| - configurationSource = source;
|
| + configuredUri = configuration.uri.stringValue;
|
| + configuredSource = source;
|
| }
|
| }
|
| }
|
| - Source referencedSource = configurationSource ?? defaultSource;
|
| - directive.selectedSource = referencedSource;
|
| - return referencedSource;
|
| + String selectedUri = configuredUri ?? directive.uriContent;
|
| + Source selectedSource = configuredSource ?? defaultSource;
|
| + directive.selectedUri = selectedUri;
|
| + directive.selectedSource = selectedSource;
|
| + return selectedSource;
|
| }
|
| return defaultSource;
|
| }
|
|
|