Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(140)

Side by Side Diff: pkg/analyzer/test/src/summary/resynthesize_common.dart

Issue 2982993003: Remove UriReferencedElement with its uri/uriOffset/uriEnd properties. (Closed)
Patch Set: Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library test.src.serialization.elements_test; 5 library test.src.serialization.elements_test;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import 'package:analyzer/dart/ast/ast.dart'; 9 import 'package:analyzer/dart/ast/ast.dart';
10 import 'package:analyzer/dart/ast/standard_resolution_map.dart'; 10 import 'package:analyzer/dart/ast/standard_resolution_map.dart';
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after
266 } 266 }
267 compareTypes(r.type, o.type, desc); 267 compareTypes(r.type, o.type, desc);
268 if (r is ClassElementImpl && o is ClassElementImpl) { 268 if (r is ClassElementImpl && o is ClassElementImpl) {
269 expect(r.hasBeenInferred, o.hasBeenInferred, reason: desc); 269 expect(r.hasBeenInferred, o.hasBeenInferred, reason: desc);
270 } 270 }
271 } 271 }
272 272
273 void compareCompilationUnitElements(CompilationUnitElementImpl resynthesized, 273 void compareCompilationUnitElements(CompilationUnitElementImpl resynthesized,
274 CompilationUnitElementImpl original) { 274 CompilationUnitElementImpl original) {
275 String desc = 'Compilation unit ${original.source.uri}'; 275 String desc = 'Compilation unit ${original.source.uri}';
276 compareUriReferencedElements(resynthesized, original, desc);
277 expect(resynthesized.source, original.source); 276 expect(resynthesized.source, original.source);
278 expect(resynthesized.librarySource, original.librarySource); 277 expect(resynthesized.librarySource, original.librarySource);
279 compareLineInfo(resynthesized.lineInfo, original.lineInfo); 278 compareLineInfo(resynthesized.lineInfo, original.lineInfo);
280 expect(resynthesized.types.length, original.types.length, 279 expect(resynthesized.types.length, original.types.length,
281 reason: '$desc.types.length'); 280 reason: '$desc.types.length');
282 for (int i = 0; i < resynthesized.types.length; i++) { 281 for (int i = 0; i < resynthesized.types.length; i++) {
283 compareClassElements( 282 compareClassElements(
284 resynthesized.types[i], original.types[i], original.types[i].name); 283 resynthesized.types[i], original.types[i], original.types[i].name);
285 } 284 }
286 expect(resynthesized.topLevelVariables.length, 285 expect(resynthesized.topLevelVariables.length,
(...skipping 469 matching lines...) Expand 10 before | Expand all | Expand 10 after
756 compareTypeParameterElements( 755 compareTypeParameterElements(
757 resynthesized.typeParameters[i], 756 resynthesized.typeParameters[i],
758 original.typeParameters[i], 757 original.typeParameters[i],
759 '$desc type parameter ${original.typeParameters[i].name}'); 758 '$desc type parameter ${original.typeParameters[i].name}');
760 } 759 }
761 compareLocalElementsOfExecutable(resynthesized, original, desc); 760 compareLocalElementsOfExecutable(resynthesized, original, desc);
762 } 761 }
763 762
764 void compareExportElements(ExportElementImpl resynthesized, 763 void compareExportElements(ExportElementImpl resynthesized,
765 ExportElementImpl original, String desc) { 764 ExportElementImpl original, String desc) {
766 compareUriReferencedElements(resynthesized, original, desc);
767 expect(resynthesized.exportedLibrary.location, 765 expect(resynthesized.exportedLibrary.location,
768 original.exportedLibrary.location); 766 original.exportedLibrary.location);
769 expect(resynthesized.combinators.length, original.combinators.length); 767 expect(resynthesized.combinators.length, original.combinators.length);
770 for (int i = 0; i < resynthesized.combinators.length; i++) { 768 for (int i = 0; i < resynthesized.combinators.length; i++) {
771 compareNamespaceCombinators( 769 compareNamespaceCombinators(
772 resynthesized.combinators[i], original.combinators[i]); 770 resynthesized.combinators[i], original.combinators[i]);
773 } 771 }
774 } 772 }
775 773
776 void compareFieldElements( 774 void compareFieldElements(
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
838 compareTypeParameterElementLists(resynthesized.typeParameters, 836 compareTypeParameterElementLists(resynthesized.typeParameters,
839 original.typeParameters, '$desc.typeParameters'); 837 original.typeParameters, '$desc.typeParameters');
840 compareParameterElementLists( 838 compareParameterElementLists(
841 resynthesized.parameters, original.parameters, '$desc.parameters'); 839 resynthesized.parameters, original.parameters, '$desc.parameters');
842 compareTypes( 840 compareTypes(
843 resynthesized.returnType, original.returnType, '$desc.returnType'); 841 resynthesized.returnType, original.returnType, '$desc.returnType');
844 } 842 }
845 843
846 void compareImportElements(ImportElementImpl resynthesized, 844 void compareImportElements(ImportElementImpl resynthesized,
847 ImportElementImpl original, String desc) { 845 ImportElementImpl original, String desc) {
848 compareUriReferencedElements(resynthesized, original, desc);
849 expect(resynthesized.importedLibrary.location, 846 expect(resynthesized.importedLibrary.location,
850 original.importedLibrary.location, 847 original.importedLibrary.location,
851 reason: '$desc importedLibrary location'); 848 reason: '$desc importedLibrary location');
852 expect(resynthesized.prefixOffset, original.prefixOffset, 849 expect(resynthesized.prefixOffset, original.prefixOffset,
853 reason: '$desc prefixOffset'); 850 reason: '$desc prefixOffset');
854 if (original.prefix == null) { 851 if (original.prefix == null) {
855 expect(resynthesized.prefix, isNull, reason: '$desc prefix'); 852 expect(resynthesized.prefix, isNull, reason: '$desc prefix');
856 } else { 853 } else {
857 comparePrefixElements( 854 comparePrefixElements(
858 resynthesized.prefix, original.prefix, original.prefix.name); 855 resynthesized.prefix, original.prefix, original.prefix.name);
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after
1142 } else if (resynthesized is BottomTypeImpl && original is BottomTypeImpl) { 1139 } else if (resynthesized is BottomTypeImpl && original is BottomTypeImpl) {
1143 expect(resynthesized, same(original)); 1140 expect(resynthesized, same(original));
1144 } else if (resynthesized.runtimeType != original.runtimeType) { 1141 } else if (resynthesized.runtimeType != original.runtimeType) {
1145 fail('Type mismatch: expected ${original.runtimeType},' 1142 fail('Type mismatch: expected ${original.runtimeType},'
1146 ' got ${resynthesized.runtimeType} ($desc)'); 1143 ' got ${resynthesized.runtimeType} ($desc)');
1147 } else { 1144 } else {
1148 fail('Unimplemented comparison for ${original.runtimeType}'); 1145 fail('Unimplemented comparison for ${original.runtimeType}');
1149 } 1146 }
1150 } 1147 }
1151 1148
1152 void compareUriReferencedElements(UriReferencedElementImpl resynthesized,
1153 UriReferencedElementImpl original, String desc) {
1154 compareElements(resynthesized, original, desc);
1155 expect(resynthesized.uri, original.uri, reason: '$desc.uri');
1156 expect(resynthesized.uriOffset, original.uriOffset,
1157 reason: '$desc.uriOffset');
1158 expect(resynthesized.uriEnd, original.uriEnd, reason: '$desc.uriEnd');
1159 }
1160
1161 void compareVariableElements( 1149 void compareVariableElements(
1162 VariableElement resynthesized, VariableElement original, String desc) { 1150 VariableElement resynthesized, VariableElement original, String desc) {
1163 compareElements(resynthesized, original, desc); 1151 compareElements(resynthesized, original, desc);
1164 compareTypes(resynthesized.type, original.type, '$desc.type'); 1152 compareTypes(resynthesized.type, original.type, '$desc.type');
1165 VariableElementImpl resynthesizedActual = 1153 VariableElementImpl resynthesizedActual =
1166 getActualElement(resynthesized, desc); 1154 getActualElement(resynthesized, desc);
1167 VariableElementImpl originalActual = getActualElement(original, desc); 1155 VariableElementImpl originalActual = getActualElement(original, desc);
1168 compareFunctionElements(resynthesizedActual.initializer, 1156 compareFunctionElements(resynthesizedActual.initializer,
1169 originalActual.initializer, '$desc.initializer'); 1157 originalActual.initializer, '$desc.initializer');
1170 if (originalActual is ConstVariableElement) { 1158 if (originalActual is ConstVariableElement) {
(...skipping 5218 matching lines...) Expand 10 before | Expand all | Expand 10 after
6389 '''); 6377 ''');
6390 if (isStrongMode) { 6378 if (isStrongMode) {
6391 checkElementText(library, r''' 6379 checkElementText(library, r'''
6392 export 'foo.dart'; 6380 export 'foo.dart';
6393 '''); 6381 ''');
6394 } else { 6382 } else {
6395 checkElementText(library, r''' 6383 checkElementText(library, r'''
6396 export 'foo.dart'; 6384 export 'foo.dart';
6397 '''); 6385 ''');
6398 } 6386 }
6399 expect(library.exports[0].uri, 'foo.dart');
6400 expect(library.exports[0].exportedLibrary.source.shortName, 'foo.dart'); 6387 expect(library.exports[0].exportedLibrary.source.shortName, 'foo.dart');
6401 } 6388 }
6402 6389
6403 test_export_configurations_useFirst() async { 6390 test_export_configurations_useFirst() async {
6404 context.declaredVariables.define('dart.library.io', 'true'); 6391 context.declaredVariables.define('dart.library.io', 'true');
6405 context.declaredVariables.define('dart.library.html', 'true'); 6392 context.declaredVariables.define('dart.library.html', 'true');
6406 addLibrarySource('/foo.dart', 'class A {}'); 6393 addLibrarySource('/foo.dart', 'class A {}');
6407 addLibrarySource('/foo_io.dart', 'class A {}'); 6394 addLibrarySource('/foo_io.dart', 'class A {}');
6408 addLibrarySource('/foo_html.dart', 'class A {}'); 6395 addLibrarySource('/foo_html.dart', 'class A {}');
6409 var library = await checkLibrary(r''' 6396 var library = await checkLibrary(r'''
6410 export 'foo.dart' 6397 export 'foo.dart'
6411 if (dart.library.io) 'foo_io.dart' 6398 if (dart.library.io) 'foo_io.dart'
6412 if (dart.library.html) 'foo_html.dart'; 6399 if (dart.library.html) 'foo_html.dart';
6413 '''); 6400 ''');
6414 if (isStrongMode) { 6401 if (isStrongMode) {
6415 checkElementText(library, r''' 6402 checkElementText(library, r'''
6416 export 'foo_io.dart'; 6403 export 'foo_io.dart';
6417 '''); 6404 ''');
6418 } else { 6405 } else {
6419 checkElementText(library, r''' 6406 checkElementText(library, r'''
6420 export 'foo_io.dart'; 6407 export 'foo_io.dart';
6421 '''); 6408 ''');
6422 } 6409 }
6423 expect(library.exports[0].uri, 'foo_io.dart');
6424 expect(library.exports[0].exportedLibrary.source.shortName, 'foo_io.dart'); 6410 expect(library.exports[0].exportedLibrary.source.shortName, 'foo_io.dart');
6425 } 6411 }
6426 6412
6427 test_export_configurations_useSecond() async { 6413 test_export_configurations_useSecond() async {
6428 context.declaredVariables.define('dart.library.io', 'false'); 6414 context.declaredVariables.define('dart.library.io', 'false');
6429 context.declaredVariables.define('dart.library.html', 'true'); 6415 context.declaredVariables.define('dart.library.html', 'true');
6430 addLibrarySource('/foo.dart', 'class A {}'); 6416 addLibrarySource('/foo.dart', 'class A {}');
6431 addLibrarySource('/foo_io.dart', 'class A {}'); 6417 addLibrarySource('/foo_io.dart', 'class A {}');
6432 addLibrarySource('/foo_html.dart', 'class A {}'); 6418 addLibrarySource('/foo_html.dart', 'class A {}');
6433 var library = await checkLibrary(r''' 6419 var library = await checkLibrary(r'''
6434 export 'foo.dart' 6420 export 'foo.dart'
6435 if (dart.library.io) 'foo_io.dart' 6421 if (dart.library.io) 'foo_io.dart'
6436 if (dart.library.html) 'foo_html.dart'; 6422 if (dart.library.html) 'foo_html.dart';
6437 '''); 6423 ''');
6438 if (isStrongMode) { 6424 if (isStrongMode) {
6439 checkElementText(library, r''' 6425 checkElementText(library, r'''
6440 export 'foo_html.dart'; 6426 export 'foo_html.dart';
6441 '''); 6427 ''');
6442 } else { 6428 } else {
6443 checkElementText(library, r''' 6429 checkElementText(library, r'''
6444 export 'foo_html.dart'; 6430 export 'foo_html.dart';
6445 '''); 6431 ''');
6446 } 6432 }
6447 ExportElement export = library.exports[0]; 6433 ExportElement export = library.exports[0];
6448 expect(export.uri, 'foo_html.dart');
6449 expect(export.exportedLibrary.source.shortName, 'foo_html.dart'); 6434 expect(export.exportedLibrary.source.shortName, 'foo_html.dart');
6450 } 6435 }
6451 6436
6452 test_export_function() async { 6437 test_export_function() async {
6453 addLibrarySource('/a.dart', 'f() {}'); 6438 addLibrarySource('/a.dart', 'f() {}');
6454 var library = await checkLibrary('export "a.dart";'); 6439 var library = await checkLibrary('export "a.dart";');
6455 if (isStrongMode) { 6440 if (isStrongMode) {
6456 checkElementText(library, r''' 6441 checkElementText(library, r'''
6457 export 'a.dart'; 6442 export 'a.dart';
6458 '''); 6443 ''');
(...skipping 1350 matching lines...) Expand 10 before | Expand all | Expand 10 after
7809 allowMissingFiles = true; 7794 allowMissingFiles = true;
7810 shouldCompareLibraryElements = false; 7795 shouldCompareLibraryElements = false;
7811 var library = await checkLibrary(''' 7796 var library = await checkLibrary('''
7812 @foo 7797 @foo
7813 import ''; 7798 import '';
7814 '''); 7799 ''');
7815 if (isStrongMode) { 7800 if (isStrongMode) {
7816 checkElementText(library, r''' 7801 checkElementText(library, r'''
7817 @ 7802 @
7818 foo/*location: null*/ 7803 foo/*location: null*/
7819 import ''; 7804 import '<unresolved>';
7820 '''); 7805 ''');
7821 } else { 7806 } else {
7822 checkElementText(library, r''' 7807 checkElementText(library, r'''
7823 @ 7808 @
7824 foo/*location: null*/ 7809 foo/*location: null*/
7825 import ''; 7810 import '<unresolved>';
7826 '''); 7811 ''');
7827 } 7812 }
7828 } 7813 }
7829 7814
7830 test_import_multiple_combinators() async { 7815 test_import_multiple_combinators() async {
7831 addLibrary('dart:async'); 7816 addLibrary('dart:async');
7832 var library = await checkLibrary(''' 7817 var library = await checkLibrary('''
7833 import "dart:async" hide Stream show Future; 7818 import "dart:async" hide Stream show Future;
7834 Future f; 7819 Future f;
7835 '''); 7820 ''');
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
7892 7877
7893 test_import_short_absolute() async { 7878 test_import_short_absolute() async {
7894 testFile = '/my/project/bin/test.dart'; 7879 testFile = '/my/project/bin/test.dart';
7895 // Note: "/a.dart" resolves differently on Windows vs. Posix. 7880 // Note: "/a.dart" resolves differently on Windows vs. Posix.
7896 var destinationPath = 7881 var destinationPath =
7897 resourceProvider.pathContext.fromUri(Uri.parse('/a.dart')); 7882 resourceProvider.pathContext.fromUri(Uri.parse('/a.dart'));
7898 addLibrarySource(destinationPath, 'class C {}'); 7883 addLibrarySource(destinationPath, 'class C {}');
7899 var library = await checkLibrary('import "/a.dart"; C c;'); 7884 var library = await checkLibrary('import "/a.dart"; C c;');
7900 if (isStrongMode) { 7885 if (isStrongMode) {
7901 checkElementText(library, r''' 7886 checkElementText(library, r'''
7902 import '/a.dart'; 7887 import 'a.dart';
7903 C c; 7888 C c;
7904 '''); 7889 ''');
7905 } else { 7890 } else {
7906 checkElementText(library, r''' 7891 checkElementText(library, r'''
7907 import '/a.dart'; 7892 import 'a.dart';
7908 C c; 7893 C c;
7909 '''); 7894 ''');
7910 } 7895 }
7911 } 7896 }
7912 7897
7913 test_import_show() async { 7898 test_import_show() async {
7914 addLibrary('dart:async'); 7899 addLibrary('dart:async');
7915 var library = await checkLibrary(''' 7900 var library = await checkLibrary('''
7916 import "dart:async" show Future, Stream; 7901 import "dart:async" show Future, Stream;
7917 Future f; 7902 Future f;
(...skipping 986 matching lines...) Expand 10 before | Expand all | Expand 10 after
8904 8889
8905 test_invalidUri_part_emptyUri() async { 8890 test_invalidUri_part_emptyUri() async {
8906 allowMissingFiles = true; 8891 allowMissingFiles = true;
8907 shouldCompareLibraryElements = false; 8892 shouldCompareLibraryElements = false;
8908 var library = await checkLibrary(r''' 8893 var library = await checkLibrary(r'''
8909 part ''; 8894 part '';
8910 class B extends A {} 8895 class B extends A {}
8911 '''); 8896 ''');
8912 if (isStrongMode) { 8897 if (isStrongMode) {
8913 checkElementText(library, r''' 8898 checkElementText(library, r'''
8914 part ''; 8899 part '<unresolved>';
8915 class B { 8900 class B {
8916 } 8901 }
8917 -------------------- 8902 --------------------
8918 unit: null 8903 unit: null
8919 8904
8920 '''); 8905 ''');
8921 } else { 8906 } else {
8922 checkElementText(library, r''' 8907 checkElementText(library, r'''
8923 part ''; 8908 part '<unresolved>';
8924 class B { 8909 class B {
8925 } 8910 }
8926 -------------------- 8911 --------------------
8927 unit: null 8912 unit: null
8928 8913
8929 '''); 8914 ''');
8930 } 8915 }
8931 } 8916 }
8932 8917
8933 test_invalidUris() async { 8918 test_invalidUris() async {
8934 allowMissingFiles = true; 8919 allowMissingFiles = true;
8935 shouldCompareLibraryElements = false; 8920 shouldCompareLibraryElements = false;
8936 var library = await checkLibrary(r''' 8921 var library = await checkLibrary(r'''
8937 import '[invalid uri]'; 8922 import '[invalid uri]';
8938 import '[invalid uri]:foo.dart'; 8923 import '[invalid uri]:foo.dart';
8939 import 'a1.dart'; 8924 import 'a1.dart';
8940 import '[invalid uri]'; 8925 import '[invalid uri]';
8941 import '[invalid uri]:foo.dart'; 8926 import '[invalid uri]:foo.dart';
8942 8927
8943 export '[invalid uri]'; 8928 export '[invalid uri]';
8944 export '[invalid uri]:foo.dart'; 8929 export '[invalid uri]:foo.dart';
8945 export 'a2.dart'; 8930 export 'a2.dart';
8946 export '[invalid uri]'; 8931 export '[invalid uri]';
8947 export '[invalid uri]:foo.dart'; 8932 export '[invalid uri]:foo.dart';
8948 8933
8949 part '[invalid uri]'; 8934 part '[invalid uri]';
8950 part 'a3.dart'; 8935 part 'a3.dart';
8951 part '[invalid uri]'; 8936 part '[invalid uri]';
8952 '''); 8937 ''');
8953 if (isStrongMode) { 8938 checkElementText(library, r'''
8954 checkElementText(library, r''' 8939 import '<unresolved>';
8955 import '[invalid uri]'; 8940 import '<unresolved>';
8956 import '[invalid uri]:foo.dart';
8957 import 'a1.dart'; 8941 import 'a1.dart';
8958 import '[invalid uri]'; 8942 import '<unresolved>';
8959 import '[invalid uri]:foo.dart'; 8943 import '<unresolved>';
8960 export '[invalid uri]'; 8944 export '<unresolved>';
8961 export '[invalid uri]:foo.dart'; 8945 export '<unresolved>';
8962 export 'a2.dart'; 8946 export 'a2.dart';
8963 export '[invalid uri]'; 8947 export '<unresolved>';
8964 export '[invalid uri]:foo.dart'; 8948 export '<unresolved>';
8965 part '[invalid uri]'; 8949 part '<unresolved>';
8966 part 'a3.dart'; 8950 part 'a3.dart';
8967 part '[invalid uri]'; 8951 part '<unresolved>';
8968 -------------------- 8952 --------------------
8969 unit: null 8953 unit: null
8970 8954
8971 --------------------
8972 unit: a3.dart
8973
8974 --------------------
8975 unit: null
8976
8977 ''');
8978 } else {
8979 checkElementText(library, r'''
8980 import '[invalid uri]';
8981 import '[invalid uri]:foo.dart';
8982 import 'a1.dart';
8983 import '[invalid uri]';
8984 import '[invalid uri]:foo.dart';
8985 export '[invalid uri]';
8986 export '[invalid uri]:foo.dart';
8987 export 'a2.dart';
8988 export '[invalid uri]';
8989 export '[invalid uri]:foo.dart';
8990 part '[invalid uri]';
8991 part 'a3.dart';
8992 part '[invalid uri]';
8993 --------------------
8994 unit: null
8995
8996 -------------------- 8955 --------------------
8997 unit: a3.dart 8956 unit: a3.dart
8998 8957
8999 -------------------- 8958 --------------------
9000 unit: null 8959 unit: null
9001 8960
9002 '''); 8961 ''');
9003 }
9004 } 8962 }
9005 8963
9006 test_library() async { 8964 test_library() async {
9007 var library = await checkLibrary(''); 8965 var library = await checkLibrary('');
9008 if (isStrongMode) { 8966 if (isStrongMode) {
9009 checkElementText(library, r''' 8967 checkElementText(library, r'''
9010 '''); 8968 ''');
9011 } else { 8969 } else {
9012 checkElementText(library, r''' 8970 checkElementText(library, r'''
9013 '''); 8971 ''');
(...skipping 2038 matching lines...) Expand 10 before | Expand all | Expand 10 after
11052 } 11010 }
11053 11011
11054 test_parts_invalidUri() async { 11012 test_parts_invalidUri() async {
11055 allowMissingFiles = true; 11013 allowMissingFiles = true;
11056 shouldCompareLibraryElements = false; 11014 shouldCompareLibraryElements = false;
11057 addSource('/foo/bar.dart', 'part of my.lib;'); 11015 addSource('/foo/bar.dart', 'part of my.lib;');
11058 var library = await checkLibrary('library my.lib; part "foo/";'); 11016 var library = await checkLibrary('library my.lib; part "foo/";');
11059 if (isStrongMode) { 11017 if (isStrongMode) {
11060 checkElementText(library, r''' 11018 checkElementText(library, r'''
11061 library my.lib; 11019 library my.lib;
11062 part 'foo/'; 11020 part '<unresolved>';
11063 -------------------- 11021 --------------------
11064 unit: null 11022 unit: null
11065 11023
11066 '''); 11024 ''');
11067 } else { 11025 } else {
11068 checkElementText(library, r''' 11026 checkElementText(library, r'''
11069 library my.lib; 11027 library my.lib;
11070 part 'foo/'; 11028 part '<unresolved>';
11071 -------------------- 11029 --------------------
11072 unit: null 11030 unit: null
11073 11031
11074 '''); 11032 ''');
11075 } 11033 }
11076 } 11034 }
11077 11035
11078 test_parts_invalidUri_nullStringValue() async { 11036 test_parts_invalidUri_nullStringValue() async {
11079 allowMissingFiles = true; 11037 allowMissingFiles = true;
11080 shouldCompareLibraryElements = false; 11038 shouldCompareLibraryElements = false;
11081 addSource('/foo/bar.dart', 'part of my.lib;'); 11039 addSource('/foo/bar.dart', 'part of my.lib;');
11082 var library = await checkLibrary(r''' 11040 var library = await checkLibrary(r'''
11083 library my.lib; 11041 library my.lib;
11084 part "${foo}/bar.dart"; 11042 part "${foo}/bar.dart";
11085 '''); 11043 ''');
11086 if (isStrongMode) { 11044 if (isStrongMode) {
11087 checkElementText(library, r''' 11045 checkElementText(library, r'''
11088 library my.lib; 11046 library my.lib;
11089 part ''; 11047 part '<unresolved>';
11090 -------------------- 11048 --------------------
11091 unit: null 11049 unit: null
11092 11050
11093 '''); 11051 ''');
11094 } else { 11052 } else {
11095 checkElementText(library, r''' 11053 checkElementText(library, r'''
11096 library my.lib; 11054 library my.lib;
11097 part ''; 11055 part '<unresolved>';
11098 -------------------- 11056 --------------------
11099 unit: null 11057 unit: null
11100 11058
11101 '''); 11059 ''');
11102 } 11060 }
11103 } 11061 }
11104 11062
11105 test_propagated_type_refers_to_closure() async { 11063 test_propagated_type_refers_to_closure() async {
11106 var library = await checkLibrary(''' 11064 var library = await checkLibrary('''
11107 void f() { 11065 void f() {
(...skipping 773 matching lines...) Expand 10 before | Expand all | Expand 10 after
11881 } 11839 }
11882 } 11840 }
11883 11841
11884 test_type_reference_to_import_export_export_in_subdirs() async { 11842 test_type_reference_to_import_export_export_in_subdirs() async {
11885 addLibrarySource('/a/a.dart', 'export "b/b.dart";'); 11843 addLibrarySource('/a/a.dart', 'export "b/b.dart";');
11886 addLibrarySource('/a/b/b.dart', 'export "../c/c.dart";'); 11844 addLibrarySource('/a/b/b.dart', 'export "../c/c.dart";');
11887 addLibrarySource('/a/c/c.dart', 'class C {} enum E { v } typedef F();'); 11845 addLibrarySource('/a/c/c.dart', 'class C {} enum E { v } typedef F();');
11888 var library = await checkLibrary('import "a/a.dart"; C c; E e; F f;'); 11846 var library = await checkLibrary('import "a/a.dart"; C c; E e; F f;');
11889 if (isStrongMode) { 11847 if (isStrongMode) {
11890 checkElementText(library, r''' 11848 checkElementText(library, r'''
11891 import 'a/a.dart'; 11849 import 'a.dart';
11892 C c; 11850 C c;
11893 E e; 11851 E e;
11894 F f; 11852 F f;
11895 '''); 11853 ''');
11896 } else { 11854 } else {
11897 checkElementText(library, r''' 11855 checkElementText(library, r'''
11898 import 'a/a.dart'; 11856 import 'a.dart';
11899 C c; 11857 C c;
11900 E e; 11858 E e;
11901 F f; 11859 F f;
11902 '''); 11860 ''');
11903 } 11861 }
11904 } 11862 }
11905 11863
11906 test_type_reference_to_import_export_in_subdirs() async { 11864 test_type_reference_to_import_export_in_subdirs() async {
11907 addLibrarySource('/a/a.dart', 'export "b/b.dart";'); 11865 addLibrarySource('/a/a.dart', 'export "b/b.dart";');
11908 addLibrarySource('/a/b/b.dart', 'class C {} enum E { v } typedef F();'); 11866 addLibrarySource('/a/b/b.dart', 'class C {} enum E { v } typedef F();');
11909 var library = await checkLibrary('import "a/a.dart"; C c; E e; F f;'); 11867 var library = await checkLibrary('import "a/a.dart"; C c; E e; F f;');
11910 if (isStrongMode) { 11868 if (isStrongMode) {
11911 checkElementText(library, r''' 11869 checkElementText(library, r'''
11912 import 'a/a.dart'; 11870 import 'a.dart';
11913 C c; 11871 C c;
11914 E e; 11872 E e;
11915 F f; 11873 F f;
11916 '''); 11874 ''');
11917 } else { 11875 } else {
11918 checkElementText(library, r''' 11876 checkElementText(library, r'''
11919 import 'a/a.dart'; 11877 import 'a.dart';
11920 C c; 11878 C c;
11921 E e; 11879 E e;
11922 F f; 11880 F f;
11923 '''); 11881 ''');
11924 } 11882 }
11925 } 11883 }
11926 11884
11927 test_type_reference_to_import_part() async { 11885 test_type_reference_to_import_part() async {
11928 addLibrarySource('/a.dart', 'library l; part "b.dart";'); 11886 addLibrarySource('/a.dart', 'library l; part "b.dart";');
11929 addSource('/b.dart', 'part of l; class C {} enum E { v } typedef F();'); 11887 addSource('/b.dart', 'part of l; class C {} enum E { v } typedef F();');
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
11964 '''); 11922 ''');
11965 } 11923 }
11966 } 11924 }
11967 11925
11968 test_type_reference_to_import_part_in_subdir() async { 11926 test_type_reference_to_import_part_in_subdir() async {
11969 addLibrarySource('/a/b.dart', 'library l; part "c.dart";'); 11927 addLibrarySource('/a/b.dart', 'library l; part "c.dart";');
11970 addSource('/a/c.dart', 'part of l; class C {} enum E { v } typedef F();'); 11928 addSource('/a/c.dart', 'part of l; class C {} enum E { v } typedef F();');
11971 var library = await checkLibrary('import "a/b.dart"; C c; E e; F f;'); 11929 var library = await checkLibrary('import "a/b.dart"; C c; E e; F f;');
11972 if (isStrongMode) { 11930 if (isStrongMode) {
11973 checkElementText(library, r''' 11931 checkElementText(library, r'''
11974 import 'a/b.dart'; 11932 import 'b.dart';
11975 C c; 11933 C c;
11976 E e; 11934 E e;
11977 F f; 11935 F f;
11978 '''); 11936 ''');
11979 } else { 11937 } else {
11980 checkElementText(library, r''' 11938 checkElementText(library, r'''
11981 import 'a/b.dart'; 11939 import 'b.dart';
11982 C c; 11940 C c;
11983 E e; 11941 E e;
11984 F f; 11942 F f;
11985 '''); 11943 ''');
11986 } 11944 }
11987 } 11945 }
11988 11946
11989 test_type_reference_to_import_relative() async { 11947 test_type_reference_to_import_relative() async {
11990 addLibrarySource('/a.dart', 'class C {} enum E { v } typedef F();'); 11948 addLibrarySource('/a.dart', 'class C {} enum E { v } typedef F();');
11991 var library = await checkLibrary('import "a.dart"; C c; E e; F f;'); 11949 var library = await checkLibrary('import "a.dart"; C c; E e; F f;');
(...skipping 1159 matching lines...) Expand 10 before | Expand all | Expand 10 after
13151 fail('Unexpectedly tried to get unlinked summary for $uri'); 13109 fail('Unexpectedly tried to get unlinked summary for $uri');
13152 } 13110 }
13153 return serializedUnit; 13111 return serializedUnit;
13154 } 13112 }
13155 13113
13156 @override 13114 @override
13157 bool hasLibrarySummary(String uri) { 13115 bool hasLibrarySummary(String uri) {
13158 return true; 13116 return true;
13159 } 13117 }
13160 } 13118 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698