OLD | NEW |
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 'package:analyzer/dart/ast/ast.dart'; | 7 import 'package:analyzer/dart/ast/ast.dart'; |
8 import 'package:analyzer/dart/ast/standard_resolution_map.dart'; | 8 import 'package:analyzer/dart/ast/standard_resolution_map.dart'; |
9 import 'package:analyzer/dart/constant/value.dart'; | 9 import 'package:analyzer/dart/constant/value.dart'; |
10 import 'package:analyzer/dart/element/element.dart'; | 10 import 'package:analyzer/dart/element/element.dart'; |
(...skipping 4706 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4717 const vGenericClass = D; | 4717 const vGenericClass = D; |
4718 const vEnum = E; | 4718 const vEnum = E; |
4719 const vFunctionTypeAlias = F; | 4719 const vFunctionTypeAlias = F; |
4720 '''); | 4720 '''); |
4721 if (isStrongMode) { | 4721 if (isStrongMode) { |
4722 checkElementText( | 4722 checkElementText( |
4723 library, | 4723 library, |
4724 r''' | 4724 r''' |
4725 typedef dynamic F(int a, String b); | 4725 typedef dynamic F(int a, String b); |
4726 enum E { | 4726 enum E { |
4727 final int index; | 4727 synthetic final int index; |
4728 static const List<E> values; | 4728 synthetic static const List<E> values; |
4729 static const E a; | 4729 static const E a; |
4730 static const E b; | 4730 static const E b; |
4731 static const E c; | 4731 static const E c; |
4732 } | 4732 } |
4733 class C { | 4733 class C { |
4734 } | 4734 } |
4735 class D<T> { | 4735 class D<T> { |
4736 } | 4736 } |
4737 const Type vDynamic = | 4737 const Type vDynamic = |
4738 dynamic/*location: dynamic*/; | 4738 dynamic/*location: dynamic*/; |
4739 const Type vNull = | 4739 const Type vNull = |
4740 Null/*location: dart:core;Null*/; | 4740 Null/*location: dart:core;Null*/; |
4741 const Type vObject = | 4741 const Type vObject = |
4742 Object/*location: dart:core;Object*/; | 4742 Object/*location: dart:core;Object*/; |
4743 const Type vClass = | 4743 const Type vClass = |
4744 C/*location: test.dart;C*/; | 4744 C/*location: test.dart;C*/; |
4745 const Type vGenericClass = | 4745 const Type vGenericClass = |
4746 D/*location: test.dart;D*/; | 4746 D/*location: test.dart;D*/; |
4747 const Type vEnum = | 4747 const Type vEnum = |
4748 E/*location: test.dart;E*/; | 4748 E/*location: test.dart;E*/; |
4749 const Type vFunctionTypeAlias = | 4749 const Type vFunctionTypeAlias = |
4750 F/*location: test.dart;F*/; | 4750 F/*location: test.dart;F*/; |
4751 '''); | 4751 '''); |
4752 } else { | 4752 } else { |
4753 checkElementText( | 4753 checkElementText( |
4754 library, | 4754 library, |
4755 r''' | 4755 r''' |
4756 typedef dynamic F(int a, String b); | 4756 typedef dynamic F(int a, String b); |
4757 enum E { | 4757 enum E { |
4758 final int index; | 4758 synthetic final int index; |
4759 static const List<E> values; | 4759 synthetic static const List<E> values; |
4760 static const E a; | 4760 static const E a; |
4761 static const E b; | 4761 static const E b; |
4762 static const E c; | 4762 static const E c; |
4763 } | 4763 } |
4764 class C { | 4764 class C { |
4765 } | 4765 } |
4766 class D<T> { | 4766 class D<T> { |
4767 } | 4767 } |
4768 const dynamic vDynamic = | 4768 const dynamic vDynamic = |
4769 dynamic/*location: dynamic*/; | 4769 dynamic/*location: dynamic*/; |
(...skipping 678 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5448 enum E {a, b, c} | 5448 enum E {a, b, c} |
5449 final vValue = E.a; | 5449 final vValue = E.a; |
5450 final vValues = E.values; | 5450 final vValues = E.values; |
5451 final vIndex = E.a.index; | 5451 final vIndex = E.a.index; |
5452 '''); | 5452 '''); |
5453 if (isStrongMode) { | 5453 if (isStrongMode) { |
5454 checkElementText( | 5454 checkElementText( |
5455 library, | 5455 library, |
5456 r''' | 5456 r''' |
5457 enum E { | 5457 enum E { |
5458 final int index; | 5458 synthetic final int index; |
5459 static const List<E> values; | 5459 synthetic static const List<E> values; |
5460 static const E a; | 5460 static const E a; |
5461 static const E b; | 5461 static const E b; |
5462 static const E c; | 5462 static const E c; |
5463 } | 5463 } |
5464 final E vValue; | 5464 final E vValue; |
5465 final List<E> vValues; | 5465 final List<E> vValues; |
5466 final dynamic vIndex; | 5466 final dynamic vIndex; |
5467 '''); | 5467 '''); |
5468 } else { | 5468 } else { |
5469 checkElementText( | 5469 checkElementText( |
5470 library, | 5470 library, |
5471 r''' | 5471 r''' |
5472 enum E { | 5472 enum E { |
5473 final int index; | 5473 synthetic final int index; |
5474 static const List<E> values; | 5474 synthetic static const List<E> values; |
5475 static const E a; | 5475 static const E a; |
5476 static const E b; | 5476 static const E b; |
5477 static const E c; | 5477 static const E c; |
5478 } | 5478 } |
5479 final dynamic vValue; | 5479 final dynamic vValue; |
5480 final dynamic vValues; | 5480 final dynamic vValues; |
5481 final dynamic vIndex; | 5481 final dynamic vIndex; |
5482 '''); | 5482 '''); |
5483 } | 5483 } |
5484 } | 5484 } |
5485 | 5485 |
5486 test_constExpr_pushReference_enum_method() { | 5486 test_constExpr_pushReference_enum_method() { |
5487 var library = checkLibrary(''' | 5487 var library = checkLibrary(''' |
5488 enum E {a} | 5488 enum E {a} |
5489 final vToString = E.a.toString(); | 5489 final vToString = E.a.toString(); |
5490 '''); | 5490 '''); |
5491 if (isStrongMode) { | 5491 if (isStrongMode) { |
5492 checkElementText( | 5492 checkElementText( |
5493 library, | 5493 library, |
5494 r''' | 5494 r''' |
5495 enum E { | 5495 enum E { |
5496 final int index; | 5496 synthetic final int index; |
5497 static const List<E> values; | 5497 synthetic static const List<E> values; |
5498 static const E a; | 5498 static const E a; |
5499 } | 5499 } |
5500 final String vToString; | 5500 final String vToString; |
5501 '''); | 5501 '''); |
5502 } else { | 5502 } else { |
5503 checkElementText( | 5503 checkElementText( |
5504 library, | 5504 library, |
5505 r''' | 5505 r''' |
5506 enum E { | 5506 enum E { |
5507 final int index; | 5507 synthetic final int index; |
5508 static const List<E> values; | 5508 synthetic static const List<E> values; |
5509 static const E a; | 5509 static const E a; |
5510 } | 5510 } |
5511 final dynamic vToString; | 5511 final dynamic vToString; |
5512 '''); | 5512 '''); |
5513 } | 5513 } |
5514 } | 5514 } |
5515 | 5515 |
5516 test_constExpr_pushReference_field_simpleIdentifier() { | 5516 test_constExpr_pushReference_field_simpleIdentifier() { |
5517 var library = checkLibrary(''' | 5517 var library = checkLibrary(''' |
5518 class C { | 5518 class C { |
(...skipping 1412 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6931 */ | 6931 */ |
6932 enum E { v }'''); | 6932 enum E { v }'''); |
6933 if (isStrongMode) { | 6933 if (isStrongMode) { |
6934 checkElementText( | 6934 checkElementText( |
6935 library, | 6935 library, |
6936 r''' | 6936 r''' |
6937 /** | 6937 /** |
6938 * Docs | 6938 * Docs |
6939 */ | 6939 */ |
6940 enum E { | 6940 enum E { |
6941 final int index; | 6941 synthetic final int index; |
6942 static const List<E> values; | 6942 synthetic static const List<E> values; |
6943 static const E v; | 6943 static const E v; |
6944 } | 6944 } |
6945 '''); | 6945 '''); |
6946 } else { | 6946 } else { |
6947 checkElementText( | 6947 checkElementText( |
6948 library, | 6948 library, |
6949 r''' | 6949 r''' |
6950 /** | 6950 /** |
6951 * Docs | 6951 * Docs |
6952 */ | 6952 */ |
6953 enum E { | 6953 enum E { |
6954 final int index; | 6954 synthetic final int index; |
6955 static const List<E> values; | 6955 synthetic static const List<E> values; |
6956 static const E v; | 6956 static const E v; |
6957 } | 6957 } |
6958 '''); | 6958 '''); |
6959 } | 6959 } |
6960 } | 6960 } |
6961 | 6961 |
6962 test_enum_value_documented() { | 6962 test_enum_value_documented() { |
6963 var library = checkLibrary(''' | 6963 var library = checkLibrary(''' |
6964 enum E { | 6964 enum E { |
6965 /** | 6965 /** |
6966 * Docs | 6966 * Docs |
6967 */ | 6967 */ |
6968 v | 6968 v |
6969 }'''); | 6969 }'''); |
6970 if (isStrongMode) { | 6970 if (isStrongMode) { |
6971 checkElementText( | 6971 checkElementText( |
6972 library, | 6972 library, |
6973 r''' | 6973 r''' |
6974 enum E { | 6974 enum E { |
6975 final int index; | 6975 synthetic final int index; |
6976 static const List<E> values; | 6976 synthetic static const List<E> values; |
6977 /** | 6977 /** |
6978 * Docs | 6978 * Docs |
6979 */ | 6979 */ |
6980 static const E v; | 6980 static const E v; |
6981 } | 6981 } |
6982 '''); | 6982 '''); |
6983 } else { | 6983 } else { |
6984 checkElementText( | 6984 checkElementText( |
6985 library, | 6985 library, |
6986 r''' | 6986 r''' |
6987 enum E { | 6987 enum E { |
6988 final int index; | 6988 synthetic final int index; |
6989 static const List<E> values; | 6989 synthetic static const List<E> values; |
6990 /** | 6990 /** |
6991 * Docs | 6991 * Docs |
6992 */ | 6992 */ |
6993 static const E v; | 6993 static const E v; |
6994 } | 6994 } |
6995 '''); | 6995 '''); |
6996 } | 6996 } |
6997 } | 6997 } |
6998 | 6998 |
6999 test_enum_values() { | 6999 test_enum_values() { |
7000 var library = checkLibrary('enum E { v1, v2 }'); | 7000 var library = checkLibrary('enum E { v1, v2 }'); |
7001 if (isStrongMode) { | 7001 if (isStrongMode) { |
7002 checkElementText( | 7002 checkElementText( |
7003 library, | 7003 library, |
7004 r''' | 7004 r''' |
7005 enum E { | 7005 enum E { |
7006 final int index; | 7006 synthetic final int index; |
7007 static const List<E> values; | 7007 synthetic static const List<E> values; |
7008 static const E v1; | 7008 static const E v1; |
7009 static const E v2; | 7009 static const E v2; |
7010 } | 7010 } |
7011 '''); | 7011 '''); |
7012 } else { | 7012 } else { |
7013 checkElementText( | 7013 checkElementText( |
7014 library, | 7014 library, |
7015 r''' | 7015 r''' |
7016 enum E { | 7016 enum E { |
7017 final int index; | 7017 synthetic final int index; |
7018 static const List<E> values; | 7018 synthetic static const List<E> values; |
7019 static const E v1; | 7019 static const E v1; |
7020 static const E v2; | 7020 static const E v2; |
7021 } | 7021 } |
7022 '''); | 7022 '''); |
7023 } | 7023 } |
7024 } | 7024 } |
7025 | 7025 |
7026 test_enums() { | 7026 test_enums() { |
7027 var library = checkLibrary('enum E1 { v1 } enum E2 { v2 }'); | 7027 var library = checkLibrary('enum E1 { v1 } enum E2 { v2 }'); |
7028 if (isStrongMode) { | 7028 if (isStrongMode) { |
7029 checkElementText( | 7029 checkElementText( |
7030 library, | 7030 library, |
7031 r''' | 7031 r''' |
7032 enum E1 { | 7032 enum E1 { |
7033 final int index; | 7033 synthetic final int index; |
7034 static const List<E1> values; | 7034 synthetic static const List<E1> values; |
7035 static const E1 v1; | 7035 static const E1 v1; |
7036 } | 7036 } |
7037 enum E2 { | 7037 enum E2 { |
7038 final int index; | 7038 synthetic final int index; |
7039 static const List<E2> values; | 7039 synthetic static const List<E2> values; |
7040 static const E2 v2; | 7040 static const E2 v2; |
7041 } | 7041 } |
7042 '''); | 7042 '''); |
7043 } else { | 7043 } else { |
7044 checkElementText( | 7044 checkElementText( |
7045 library, | 7045 library, |
7046 r''' | 7046 r''' |
7047 enum E1 { | 7047 enum E1 { |
7048 final int index; | 7048 synthetic final int index; |
7049 static const List<E1> values; | 7049 synthetic static const List<E1> values; |
7050 static const E1 v1; | 7050 static const E1 v1; |
7051 } | 7051 } |
7052 enum E2 { | 7052 enum E2 { |
7053 final int index; | 7053 synthetic final int index; |
7054 static const List<E2> values; | 7054 synthetic static const List<E2> values; |
7055 static const E2 v2; | 7055 static const E2 v2; |
7056 } | 7056 } |
7057 '''); | 7057 '''); |
7058 } | 7058 } |
7059 } | 7059 } |
7060 | 7060 |
7061 test_error_extendsEnum() { | 7061 test_error_extendsEnum() { |
7062 var library = checkLibrary(''' | 7062 var library = checkLibrary(''' |
7063 enum E {a, b, c} | 7063 enum E {a, b, c} |
7064 | 7064 |
(...skipping 11 matching lines...) Expand all Loading... |
7076 foo() {} | 7076 foo() {} |
7077 } | 7077 } |
7078 | 7078 |
7079 class D = Object with M, E; | 7079 class D = Object with M, E; |
7080 '''); | 7080 '''); |
7081 if (isStrongMode) { | 7081 if (isStrongMode) { |
7082 checkElementText( | 7082 checkElementText( |
7083 library, | 7083 library, |
7084 r''' | 7084 r''' |
7085 enum E { | 7085 enum E { |
7086 final int index; | 7086 synthetic final int index; |
7087 static const List<E> values; | 7087 synthetic static const List<E> values; |
7088 static const E a; | 7088 static const E a; |
7089 static const E b; | 7089 static const E b; |
7090 static const E c; | 7090 static const E c; |
7091 } | 7091 } |
7092 class M { | 7092 class M { |
7093 } | 7093 } |
7094 class A { | 7094 class A { |
7095 dynamic foo() {} | 7095 dynamic foo() {} |
7096 } | 7096 } |
7097 class B implements M { | 7097 class B implements M { |
7098 dynamic foo() {} | 7098 dynamic foo() {} |
7099 } | 7099 } |
7100 class C extends Object with M { | 7100 class C extends Object with M { |
7101 synthetic C(); | 7101 synthetic C(); |
7102 dynamic foo() {} | 7102 dynamic foo() {} |
7103 } | 7103 } |
7104 class alias D extends Object with M { | 7104 class alias D extends Object with M { |
7105 synthetic D() = Object; | 7105 synthetic D() = Object; |
7106 } | 7106 } |
7107 '''); | 7107 '''); |
7108 } else { | 7108 } else { |
7109 checkElementText( | 7109 checkElementText( |
7110 library, | 7110 library, |
7111 r''' | 7111 r''' |
7112 enum E { | 7112 enum E { |
7113 final int index; | 7113 synthetic final int index; |
7114 static const List<E> values; | 7114 synthetic static const List<E> values; |
7115 static const E a; | 7115 static const E a; |
7116 static const E b; | 7116 static const E b; |
7117 static const E c; | 7117 static const E c; |
7118 } | 7118 } |
7119 class M { | 7119 class M { |
7120 } | 7120 } |
7121 class A { | 7121 class A { |
7122 dynamic foo() {} | 7122 dynamic foo() {} |
7123 } | 7123 } |
7124 class B implements M { | 7124 class B implements M { |
(...skipping 3884 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11009 | 11009 |
11010 test_metadata_enumDeclaration() { | 11010 test_metadata_enumDeclaration() { |
11011 var library = checkLibrary('const a = null; @a enum E { v }'); | 11011 var library = checkLibrary('const a = null; @a enum E { v }'); |
11012 if (isStrongMode) { | 11012 if (isStrongMode) { |
11013 checkElementText( | 11013 checkElementText( |
11014 library, | 11014 library, |
11015 r''' | 11015 r''' |
11016 @ | 11016 @ |
11017 a/*location: test.dart;a?*/ | 11017 a/*location: test.dart;a?*/ |
11018 enum E { | 11018 enum E { |
11019 final int index; | 11019 synthetic final int index; |
11020 static const List<E> values; | 11020 synthetic static const List<E> values; |
11021 static const E v; | 11021 static const E v; |
11022 } | 11022 } |
11023 const dynamic a = null; | 11023 const dynamic a = null; |
11024 '''); | 11024 '''); |
11025 } else { | 11025 } else { |
11026 checkElementText( | 11026 checkElementText( |
11027 library, | 11027 library, |
11028 r''' | 11028 r''' |
11029 @ | 11029 @ |
11030 a/*location: test.dart;a?*/ | 11030 a/*location: test.dart;a?*/ |
11031 enum E { | 11031 enum E { |
11032 final int index; | 11032 synthetic final int index; |
11033 static const List<E> values; | 11033 synthetic static const List<E> values; |
11034 static const E v; | 11034 static const E v; |
11035 } | 11035 } |
11036 const dynamic a = null; | 11036 const dynamic a = null; |
11037 '''); | 11037 '''); |
11038 } | 11038 } |
11039 } | 11039 } |
11040 | 11040 |
11041 test_metadata_exportDirective() { | 11041 test_metadata_exportDirective() { |
11042 addLibrarySource('/foo.dart', ''); | 11042 addLibrarySource('/foo.dart', ''); |
11043 var library = checkLibrary('@a export "foo.dart"; const a = null;'); | 11043 var library = checkLibrary('@a export "foo.dart"; const a = null;'); |
(...skipping 2092 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
13136 | 13136 |
13137 test_type_reference_lib_to_lib() { | 13137 test_type_reference_lib_to_lib() { |
13138 var library = | 13138 var library = |
13139 checkLibrary('class C {} enum E { v } typedef F(); C c; E e; F f;'); | 13139 checkLibrary('class C {} enum E { v } typedef F(); C c; E e; F f;'); |
13140 if (isStrongMode) { | 13140 if (isStrongMode) { |
13141 checkElementText( | 13141 checkElementText( |
13142 library, | 13142 library, |
13143 r''' | 13143 r''' |
13144 typedef dynamic F(); | 13144 typedef dynamic F(); |
13145 enum E { | 13145 enum E { |
13146 final int index; | 13146 synthetic final int index; |
13147 static const List<E> values; | 13147 synthetic static const List<E> values; |
13148 static const E v; | 13148 static const E v; |
13149 } | 13149 } |
13150 class C { | 13150 class C { |
13151 } | 13151 } |
13152 C c; | 13152 C c; |
13153 E e; | 13153 E e; |
13154 F f; | 13154 F f; |
13155 '''); | 13155 '''); |
13156 } else { | 13156 } else { |
13157 checkElementText( | 13157 checkElementText( |
13158 library, | 13158 library, |
13159 r''' | 13159 r''' |
13160 typedef dynamic F(); | 13160 typedef dynamic F(); |
13161 enum E { | 13161 enum E { |
13162 final int index; | 13162 synthetic final int index; |
13163 static const List<E> values; | 13163 synthetic static const List<E> values; |
13164 static const E v; | 13164 static const E v; |
13165 } | 13165 } |
13166 class C { | 13166 class C { |
13167 } | 13167 } |
13168 C c; | 13168 C c; |
13169 E e; | 13169 E e; |
13170 F f; | 13170 F f; |
13171 '''); | 13171 '''); |
13172 } | 13172 } |
13173 } | 13173 } |
13174 | 13174 |
13175 test_type_reference_lib_to_part() { | 13175 test_type_reference_lib_to_part() { |
13176 addSource('/a.dart', 'part of l; class C {} enum E { v } typedef F();'); | 13176 addSource('/a.dart', 'part of l; class C {} enum E { v } typedef F();'); |
13177 var library = checkLibrary('library l; part "a.dart"; C c; E e; F f;'); | 13177 var library = checkLibrary('library l; part "a.dart"; C c; E e; F f;'); |
13178 if (isStrongMode) { | 13178 if (isStrongMode) { |
13179 checkElementText( | 13179 checkElementText( |
13180 library, | 13180 library, |
13181 r''' | 13181 r''' |
13182 library l; | 13182 library l; |
13183 part 'a.dart'; | 13183 part 'a.dart'; |
13184 C c; | 13184 C c; |
13185 E e; | 13185 E e; |
13186 F f; | 13186 F f; |
13187 -------------------- | 13187 -------------------- |
13188 unit: a.dart | 13188 unit: a.dart |
13189 | 13189 |
13190 typedef dynamic F(); | 13190 typedef dynamic F(); |
13191 enum E { | 13191 enum E { |
13192 final int index; | 13192 synthetic final int index; |
13193 static const List<E> values; | 13193 synthetic static const List<E> values; |
13194 static const E v; | 13194 static const E v; |
13195 } | 13195 } |
13196 class C { | 13196 class C { |
13197 } | 13197 } |
13198 '''); | 13198 '''); |
13199 } else { | 13199 } else { |
13200 checkElementText( | 13200 checkElementText( |
13201 library, | 13201 library, |
13202 r''' | 13202 r''' |
13203 library l; | 13203 library l; |
13204 part 'a.dart'; | 13204 part 'a.dart'; |
13205 C c; | 13205 C c; |
13206 E e; | 13206 E e; |
13207 F f; | 13207 F f; |
13208 -------------------- | 13208 -------------------- |
13209 unit: a.dart | 13209 unit: a.dart |
13210 | 13210 |
13211 typedef dynamic F(); | 13211 typedef dynamic F(); |
13212 enum E { | 13212 enum E { |
13213 final int index; | 13213 synthetic final int index; |
13214 static const List<E> values; | 13214 synthetic static const List<E> values; |
13215 static const E v; | 13215 static const E v; |
13216 } | 13216 } |
13217 class C { | 13217 class C { |
13218 } | 13218 } |
13219 '''); | 13219 '''); |
13220 } | 13220 } |
13221 } | 13221 } |
13222 | 13222 |
13223 test_type_reference_part_to_lib() { | 13223 test_type_reference_part_to_lib() { |
13224 addSource('/a.dart', 'part of l; C c; E e; F f;'); | 13224 addSource('/a.dart', 'part of l; C c; E e; F f;'); |
13225 var library = checkLibrary( | 13225 var library = checkLibrary( |
13226 'library l; part "a.dart"; class C {} enum E { v } typedef F();'); | 13226 'library l; part "a.dart"; class C {} enum E { v } typedef F();'); |
13227 if (isStrongMode) { | 13227 if (isStrongMode) { |
13228 checkElementText( | 13228 checkElementText( |
13229 library, | 13229 library, |
13230 r''' | 13230 r''' |
13231 library l; | 13231 library l; |
13232 part 'a.dart'; | 13232 part 'a.dart'; |
13233 typedef dynamic F(); | 13233 typedef dynamic F(); |
13234 enum E { | 13234 enum E { |
13235 final int index; | 13235 synthetic final int index; |
13236 static const List<E> values; | 13236 synthetic static const List<E> values; |
13237 static const E v; | 13237 static const E v; |
13238 } | 13238 } |
13239 class C { | 13239 class C { |
13240 } | 13240 } |
13241 -------------------- | 13241 -------------------- |
13242 unit: a.dart | 13242 unit: a.dart |
13243 | 13243 |
13244 C c; | 13244 C c; |
13245 E e; | 13245 E e; |
13246 F f; | 13246 F f; |
13247 '''); | 13247 '''); |
13248 } else { | 13248 } else { |
13249 checkElementText( | 13249 checkElementText( |
13250 library, | 13250 library, |
13251 r''' | 13251 r''' |
13252 library l; | 13252 library l; |
13253 part 'a.dart'; | 13253 part 'a.dart'; |
13254 typedef dynamic F(); | 13254 typedef dynamic F(); |
13255 enum E { | 13255 enum E { |
13256 final int index; | 13256 synthetic final int index; |
13257 static const List<E> values; | 13257 synthetic static const List<E> values; |
13258 static const E v; | 13258 static const E v; |
13259 } | 13259 } |
13260 class C { | 13260 class C { |
13261 } | 13261 } |
13262 -------------------- | 13262 -------------------- |
13263 unit: a.dart | 13263 unit: a.dart |
13264 | 13264 |
13265 C c; | 13265 C c; |
13266 E e; | 13266 E e; |
13267 F f; | 13267 F f; |
(...skipping 10 matching lines...) Expand all Loading... |
13278 library, | 13278 library, |
13279 r''' | 13279 r''' |
13280 library l; | 13280 library l; |
13281 part 'a.dart'; | 13281 part 'a.dart'; |
13282 part 'b.dart'; | 13282 part 'b.dart'; |
13283 -------------------- | 13283 -------------------- |
13284 unit: a.dart | 13284 unit: a.dart |
13285 | 13285 |
13286 typedef dynamic F(); | 13286 typedef dynamic F(); |
13287 enum E { | 13287 enum E { |
13288 final int index; | 13288 synthetic final int index; |
13289 static const List<E> values; | 13289 synthetic static const List<E> values; |
13290 static const E v; | 13290 static const E v; |
13291 } | 13291 } |
13292 class C { | 13292 class C { |
13293 } | 13293 } |
13294 -------------------- | 13294 -------------------- |
13295 unit: b.dart | 13295 unit: b.dart |
13296 | 13296 |
13297 C c; | 13297 C c; |
13298 E e; | 13298 E e; |
13299 F f; | 13299 F f; |
13300 '''); | 13300 '''); |
13301 } else { | 13301 } else { |
13302 checkElementText( | 13302 checkElementText( |
13303 library, | 13303 library, |
13304 r''' | 13304 r''' |
13305 library l; | 13305 library l; |
13306 part 'a.dart'; | 13306 part 'a.dart'; |
13307 part 'b.dart'; | 13307 part 'b.dart'; |
13308 -------------------- | 13308 -------------------- |
13309 unit: a.dart | 13309 unit: a.dart |
13310 | 13310 |
13311 typedef dynamic F(); | 13311 typedef dynamic F(); |
13312 enum E { | 13312 enum E { |
13313 final int index; | 13313 synthetic final int index; |
13314 static const List<E> values; | 13314 synthetic static const List<E> values; |
13315 static const E v; | 13315 static const E v; |
13316 } | 13316 } |
13317 class C { | 13317 class C { |
13318 } | 13318 } |
13319 -------------------- | 13319 -------------------- |
13320 unit: b.dart | 13320 unit: b.dart |
13321 | 13321 |
13322 C c; | 13322 C c; |
13323 E e; | 13323 E e; |
13324 F f; | 13324 F f; |
13325 '''); | 13325 '''); |
13326 } | 13326 } |
13327 } | 13327 } |
13328 | 13328 |
13329 test_type_reference_part_to_part() { | 13329 test_type_reference_part_to_part() { |
13330 addSource('/a.dart', | 13330 addSource('/a.dart', |
13331 'part of l; class C {} enum E { v } typedef F(); C c; E e; F f;'); | 13331 'part of l; class C {} enum E { v } typedef F(); C c; E e; F f;'); |
13332 var library = checkLibrary('library l; part "a.dart";'); | 13332 var library = checkLibrary('library l; part "a.dart";'); |
13333 if (isStrongMode) { | 13333 if (isStrongMode) { |
13334 checkElementText( | 13334 checkElementText( |
13335 library, | 13335 library, |
13336 r''' | 13336 r''' |
13337 library l; | 13337 library l; |
13338 part 'a.dart'; | 13338 part 'a.dart'; |
13339 -------------------- | 13339 -------------------- |
13340 unit: a.dart | 13340 unit: a.dart |
13341 | 13341 |
13342 typedef dynamic F(); | 13342 typedef dynamic F(); |
13343 enum E { | 13343 enum E { |
13344 final int index; | 13344 synthetic final int index; |
13345 static const List<E> values; | 13345 synthetic static const List<E> values; |
13346 static const E v; | 13346 static const E v; |
13347 } | 13347 } |
13348 class C { | 13348 class C { |
13349 } | 13349 } |
13350 C c; | 13350 C c; |
13351 E e; | 13351 E e; |
13352 F f; | 13352 F f; |
13353 '''); | 13353 '''); |
13354 } else { | 13354 } else { |
13355 checkElementText( | 13355 checkElementText( |
13356 library, | 13356 library, |
13357 r''' | 13357 r''' |
13358 library l; | 13358 library l; |
13359 part 'a.dart'; | 13359 part 'a.dart'; |
13360 -------------------- | 13360 -------------------- |
13361 unit: a.dart | 13361 unit: a.dart |
13362 | 13362 |
13363 typedef dynamic F(); | 13363 typedef dynamic F(); |
13364 enum E { | 13364 enum E { |
13365 final int index; | 13365 synthetic final int index; |
13366 static const List<E> values; | 13366 synthetic static const List<E> values; |
13367 static const E v; | 13367 static const E v; |
13368 } | 13368 } |
13369 class C { | 13369 class C { |
13370 } | 13370 } |
13371 C c; | 13371 C c; |
13372 E e; | 13372 E e; |
13373 F f; | 13373 F f; |
13374 '''); | 13374 '''); |
13375 } | 13375 } |
13376 } | 13376 } |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
13438 } | 13438 } |
13439 } | 13439 } |
13440 | 13440 |
13441 test_type_reference_to_enum() { | 13441 test_type_reference_to_enum() { |
13442 var library = checkLibrary('enum E { v } E e;'); | 13442 var library = checkLibrary('enum E { v } E e;'); |
13443 if (isStrongMode) { | 13443 if (isStrongMode) { |
13444 checkElementText( | 13444 checkElementText( |
13445 library, | 13445 library, |
13446 r''' | 13446 r''' |
13447 enum E { | 13447 enum E { |
13448 final int index; | 13448 synthetic final int index; |
13449 static const List<E> values; | 13449 synthetic static const List<E> values; |
13450 static const E v; | 13450 static const E v; |
13451 } | 13451 } |
13452 E e; | 13452 E e; |
13453 '''); | 13453 '''); |
13454 } else { | 13454 } else { |
13455 checkElementText( | 13455 checkElementText( |
13456 library, | 13456 library, |
13457 r''' | 13457 r''' |
13458 enum E { | 13458 enum E { |
13459 final int index; | 13459 synthetic final int index; |
13460 static const List<E> values; | 13460 synthetic static const List<E> values; |
13461 static const E v; | 13461 static const E v; |
13462 } | 13462 } |
13463 E e; | 13463 E e; |
13464 '''); | 13464 '''); |
13465 } | 13465 } |
13466 } | 13466 } |
13467 | 13467 |
13468 test_type_reference_to_import() { | 13468 test_type_reference_to_import() { |
13469 addLibrarySource('/a.dart', 'class C {} enum E { v }; typedef F();'); | 13469 addLibrarySource('/a.dart', 'class C {} enum E { v }; typedef F();'); |
13470 var library = checkLibrary('import "a.dart"; C c; E e; F f;'); | 13470 var library = checkLibrary('import "a.dart"; C c; E e; F f;'); |
(...skipping 1510 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
14981 fail('Unexpectedly tried to get unlinked summary for $uri'); | 14981 fail('Unexpectedly tried to get unlinked summary for $uri'); |
14982 } | 14982 } |
14983 return serializedUnit; | 14983 return serializedUnit; |
14984 } | 14984 } |
14985 | 14985 |
14986 @override | 14986 @override |
14987 bool hasLibrarySummary(String uri) { | 14987 bool hasLibrarySummary(String uri) { |
14988 return true; | 14988 return true; |
14989 } | 14989 } |
14990 } | 14990 } |
OLD | NEW |