| Index: pkg/analyzer/test/src/summary/resynthesize_test.dart | 
| diff --git a/pkg/analyzer/test/src/summary/resynthesize_test.dart b/pkg/analyzer/test/src/summary/resynthesize_test.dart | 
| index 7ad3f5beee8c6aee9529aba182551f30f951aac2..7f1d44bc0f82eb57afcf1cdbc0a3aba260e12e30 100644 | 
| --- a/pkg/analyzer/test/src/summary/resynthesize_test.dart | 
| +++ b/pkg/analyzer/test/src/summary/resynthesize_test.dart | 
| @@ -3030,6 +3030,51 @@ main(F f) {} | 
| checkLibrary('export "a.dart";'); | 
| } | 
|  | 
| +  test_export_configurations_useDefault() { | 
| +    context.declaredVariables.define('dart.library.io', 'false'); | 
| +    addLibrarySource('/foo.dart', 'class A {}'); | 
| +    addLibrarySource('/foo_io.dart', 'class A {}'); | 
| +    addLibrarySource('/foo_html.dart', 'class A {}'); | 
| +    LibraryElementImpl library = checkLibrary(r''' | 
| +export 'foo.dart' | 
| +  if (dart.library.io) 'foo_io.dart' | 
| +  if (dart.library.html) 'foo_html.dart'; | 
| +'''); | 
| +    expect(library.exports[0].uri, 'foo.dart'); | 
| +    expect(library.exports[0].exportedLibrary.source.shortName, 'foo.dart'); | 
| +  } | 
| + | 
| +  test_export_configurations_useFirst() { | 
| +    context.declaredVariables.define('dart.library.io', 'true'); | 
| +    context.declaredVariables.define('dart.library.html', 'true'); | 
| +    addLibrarySource('/foo.dart', 'class A {}'); | 
| +    addLibrarySource('/foo_io.dart', 'class A {}'); | 
| +    addLibrarySource('/foo_html.dart', 'class A {}'); | 
| +    LibraryElementImpl library = checkLibrary(r''' | 
| +export 'foo.dart' | 
| +  if (dart.library.io) 'foo_io.dart' | 
| +  if (dart.library.html) 'foo_html.dart'; | 
| +'''); | 
| +    expect(library.exports[0].uri, 'foo_io.dart'); | 
| +    expect(library.exports[0].exportedLibrary.source.shortName, 'foo_io.dart'); | 
| +  } | 
| + | 
| +  test_export_configurations_useSecond() { | 
| +    context.declaredVariables.define('dart.library.io', 'false'); | 
| +    context.declaredVariables.define('dart.library.html', 'true'); | 
| +    addLibrarySource('/foo.dart', 'class A {}'); | 
| +    addLibrarySource('/foo_io.dart', 'class A {}'); | 
| +    addLibrarySource('/foo_html.dart', 'class A {}'); | 
| +    LibraryElementImpl library = checkLibrary(r''' | 
| +export 'foo.dart' | 
| +  if (dart.library.io) 'foo_io.dart' | 
| +  if (dart.library.html) 'foo_html.dart'; | 
| +'''); | 
| +    ExportElement export = library.exports[0]; | 
| +    expect(export.uri, 'foo_html.dart'); | 
| +    expect(export.exportedLibrary.source.shortName, 'foo_html.dart'); | 
| +  } | 
| + | 
| test_export_function() { | 
| addLibrarySource('/a.dart', 'f() {}'); | 
| checkLibrary('export "a.dart";'); | 
| @@ -3080,6 +3125,47 @@ main(F f) {} | 
| checkLibrary('export "a.dart";'); | 
| } | 
|  | 
| +  test_exportImport_configurations_useDefault() { | 
| +    context.declaredVariables.define('dart.library.io', 'false'); | 
| +    addLibrarySource('/foo.dart', 'class A {}'); | 
| +    addLibrarySource('/foo_io.dart', 'class A {}'); | 
| +    addLibrarySource('/foo_html.dart', 'class A {}'); | 
| +    addLibrarySource( | 
| +        '/bar.dart', | 
| +        r''' | 
| +export 'foo.dart' | 
| +  if (dart.library.io) 'foo_io.dart' | 
| +  if (dart.library.html) 'foo_html.dart'; | 
| +'''); | 
| +    LibraryElementImpl library = checkLibrary(r''' | 
| +import 'bar.dart'; | 
| +class B extends A {} | 
| +'''); | 
| +    var typeA = library.definingCompilationUnit.getType('B').supertype; | 
| +    expect(typeA.element.source.shortName, 'foo.dart'); | 
| +  } | 
| + | 
| +  test_exportImport_configurations_useFirst() { | 
| +    context.declaredVariables.define('dart.library.io', 'true'); | 
| +    context.declaredVariables.define('dart.library.html', 'true'); | 
| +    addLibrarySource('/foo.dart', 'class A {}'); | 
| +    addLibrarySource('/foo_io.dart', 'class A {}'); | 
| +    addLibrarySource('/foo_html.dart', 'class A {}'); | 
| +    addLibrarySource( | 
| +        '/bar.dart', | 
| +        r''' | 
| +export 'foo.dart' | 
| +  if (dart.library.io) 'foo_io.dart' | 
| +  if (dart.library.html) 'foo_html.dart'; | 
| +'''); | 
| +    var library = checkLibrary(r''' | 
| +import 'bar.dart'; | 
| +class B extends A {} | 
| +'''); | 
| +    var typeA = library.definingCompilationUnit.getType('B').supertype; | 
| +    expect(typeA.element.source.shortName, 'foo_io.dart'); | 
| +  } | 
| + | 
| test_exports() { | 
| addLibrarySource('/a.dart', 'library a;'); | 
| addLibrarySource('/b.dart', 'library b;'); | 
| @@ -3394,6 +3480,39 @@ get x => null;'''); | 
| checkLibrary('void set x(int value) {} int get x => 0;'); | 
| } | 
|  | 
| +  test_import_configurations_useDefault() { | 
| +    context.declaredVariables.define('dart.library.io', 'false'); | 
| +    addLibrarySource('/foo.dart', 'class A {}'); | 
| +    addLibrarySource('/foo_io.dart', 'class A {}'); | 
| +    addLibrarySource('/foo_html.dart', 'class A {}'); | 
| +    var library = checkLibrary(r''' | 
| +import 'foo.dart' | 
| +  if (dart.library.io) 'foo_io.dart' | 
| +  if (dart.library.html) 'foo_html.dart'; | 
| + | 
| +class B extends A {} | 
| +'''); | 
| +    var typeA = library.definingCompilationUnit.getType('B').supertype; | 
| +    expect(typeA.element.source.shortName, 'foo.dart'); | 
| +  } | 
| + | 
| +  test_import_configurations_useFirst() { | 
| +    context.declaredVariables.define('dart.library.io', 'true'); | 
| +    context.declaredVariables.define('dart.library.html', 'true'); | 
| +    addLibrarySource('/foo.dart', 'class A {}'); | 
| +    addLibrarySource('/foo_io.dart', 'class A {}'); | 
| +    addLibrarySource('/foo_html.dart', 'class A {}'); | 
| +    var library = checkLibrary(r''' | 
| +import 'foo.dart' | 
| +  if (dart.library.io) 'foo_io.dart' | 
| +  if (dart.library.html) 'foo_html.dart'; | 
| + | 
| +class B extends A {} | 
| +'''); | 
| +    var typeA = library.definingCompilationUnit.getType('B').supertype; | 
| +    expect(typeA.element.source.shortName, 'foo_io.dart'); | 
| +  } | 
| + | 
| test_import_deferred() { | 
| addLibrarySource('/a.dart', 'f() {}'); | 
| checkLibrary('import "a.dart" deferred as p; main() { p.f(); }'); | 
|  |