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

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

Issue 3009933002: Resynthesize references to type parameters in default expressions from Kernel. (Closed)
Patch Set: Created 3 years, 3 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 5079 matching lines...) Expand 10 before | Expand all | Expand 10 after
5090 5090
5091 test_defaultValue_refersToGenericClass_constructor() async { 5091 test_defaultValue_refersToGenericClass_constructor() async {
5092 var library = await checkLibrary(''' 5092 var library = await checkLibrary('''
5093 class B<T> { 5093 class B<T> {
5094 const B(); 5094 const B();
5095 } 5095 }
5096 class C<T> { 5096 class C<T> {
5097 const C([B<T> b = const B()]); 5097 const C([B<T> b = const B()]);
5098 } 5098 }
5099 '''); 5099 ''');
5100 checkElementText(library, r''' 5100 if (isSharedFrontEnd) {
5101 checkElementText(library, r'''
5101 class B<T> { 5102 class B<T> {
5102 const B(); 5103 const B();
5103 } 5104 }
5105 class C<T> {
5106 const C([B<T> b = const
5107 B/*location: test.dart;B*/<
5108 T/*location: test.dart;C;T*/>()]);
5109 }
5110 ''');
5111 } else {
5112 checkElementText(library, r'''
5113 class B<T> {
5114 const B();
5115 }
5104 class C<T> { 5116 class C<T> {
5105 const C([B<T> b = const 5117 const C([B<T> b = const
5106 B/*location: test.dart;B*/()]); 5118 B/*location: test.dart;B*/()]);
5107 } 5119 }
5108 '''); 5120 ''');
5121 }
5109 } 5122 }
5110 5123
5111 test_defaultValue_refersToGenericClass_constructor2() async { 5124 test_defaultValue_refersToGenericClass_constructor2() async {
5112 var library = await checkLibrary(''' 5125 var library = await checkLibrary('''
5113 abstract class A<T> {} 5126 abstract class A<T> {}
5114 class B<T> implements A<T> { 5127 class B<T> implements A<T> {
5115 const B(); 5128 const B();
5116 } 5129 }
5117 class C<T> implements A<Iterable<T>> { 5130 class C<T> implements A<Iterable<T>> {
5118 const C([A<T> a = const B()]); 5131 const C([A<T> a = const B()]);
5119 } 5132 }
5120 '''); 5133 ''');
5121 checkElementText(library, r''' 5134 if (isSharedFrontEnd) {
5135 checkElementText(library, r'''
5122 abstract class A<T> { 5136 abstract class A<T> {
5123 } 5137 }
5124 class B<T> implements A<T> { 5138 class B<T> implements A<T> {
5139 const B();
5140 }
5141 class C<T> implements A<Iterable<T>> {
5142 const C([A<T> a = const
5143 B/*location: test.dart;B*/<
5144 T/*location: test.dart;C;T*/>()]);
5145 }
5146 ''');
5147 } else {
5148 checkElementText(library, r'''
5149 abstract class A<T> {
5150 }
5151 class B<T> implements A<T> {
5125 const B(); 5152 const B();
5126 } 5153 }
5127 class C<T> implements A<Iterable<T>> { 5154 class C<T> implements A<Iterable<T>> {
5128 const C([A<T> a = const 5155 const C([A<T> a = const
5129 B/*location: test.dart;B*/()]); 5156 B/*location: test.dart;B*/()]);
5130 } 5157 }
5131 '''); 5158 ''');
5159 }
5132 } 5160 }
5133 5161
5134 test_defaultValue_refersToGenericClass_functionG() async { 5162 test_defaultValue_refersToGenericClass_functionG() async {
5135 var library = await checkLibrary(''' 5163 var library = await checkLibrary('''
5136 class B<T> { 5164 class B<T> {
5137 const B(); 5165 const B();
5138 } 5166 }
5139 void foo<T>([B<T> b = const B()]) {} 5167 void foo<T>([B<T> b = const B()]) {}
5140 '''); 5168 ''');
5141 checkElementText(library, r''' 5169 if (isSharedFrontEnd) {
5170 checkElementText(library, r'''
5171 class B<T> {
5172 const B();
5173 }
5174 void foo<T>([B<T> b = const
5175 B/*location: test.dart;B*/<
5176 T/*location: test.dart;foo;T*/>()]) {}
5177 ''');
5178 } else {
5179 checkElementText(library, r'''
5142 class B<T> { 5180 class B<T> {
5143 const B(); 5181 const B();
5144 } 5182 }
5145 void foo<T>([B<T> b = const 5183 void foo<T>([B<T> b = const
5146 B/*location: test.dart;B*/()]) {} 5184 B/*location: test.dart;B*/()]) {}
5147 '''); 5185 ''');
5186 }
5148 } 5187 }
5149 5188
5150 test_defaultValue_refersToGenericClass_methodG() async { 5189 test_defaultValue_refersToGenericClass_methodG() async {
5151 var library = await checkLibrary(''' 5190 var library = await checkLibrary('''
5152 class B<T> { 5191 class B<T> {
5153 const B(); 5192 const B();
5154 } 5193 }
5155 class C { 5194 class C {
5156 void foo<T>([B<T> b = const B()]) {} 5195 void foo<T>([B<T> b = const B()]) {}
5157 } 5196 }
5158 '''); 5197 ''');
5159 checkElementText(library, r''' 5198 if (isSharedFrontEnd) {
5199 checkElementText(library, r'''
5160 class B<T> { 5200 class B<T> {
5161 const B(); 5201 const B();
5162 } 5202 }
5203 class C {
5204 void foo<T>([B<T> b = const
5205 B/*location: test.dart;B*/<
5206 T/*location: test.dart;C;foo;T*/>()]) {}
5207 }
5208 ''');
5209 } else {
5210 checkElementText(library, r'''
5211 class B<T> {
5212 const B();
5213 }
5163 class C { 5214 class C {
5164 void foo<T>([B<T> b = const 5215 void foo<T>([B<T> b = const
5165 B/*location: test.dart;B*/()]) {} 5216 B/*location: test.dart;B*/()]) {}
5166 } 5217 }
5167 '''); 5218 ''');
5219 }
5168 } 5220 }
5169 5221
5170 test_defaultValue_refersToGenericClass_methodG_classG() async { 5222 test_defaultValue_refersToGenericClass_methodG_classG() async {
5171 var library = await checkLibrary(''' 5223 var library = await checkLibrary('''
5172 class B<T1, T2> { 5224 class B<T1, T2> {
5173 const B(); 5225 const B();
5174 } 5226 }
5175 class C<E1> { 5227 class C<E1> {
5176 void foo<E2>([B<E1, E2> b = const B()]) {} 5228 void foo<E2>([B<E1, E2> b = const B()]) {}
5177 } 5229 }
5178 '''); 5230 ''');
5179 checkElementText(library, r''' 5231 if (isSharedFrontEnd) {
5232 checkElementText(library, r'''
5180 class B<T1, T2> { 5233 class B<T1, T2> {
5181 const B(); 5234 const B();
5182 } 5235 }
5236 class C<E1> {
5237 void foo<E2>([B<E1, E2> b = const
5238 B/*location: test.dart;B*/<
5239 E1/*location: test.dart;C;E1*/,
5240 E2/*location: test.dart;C;foo;E2*/>()]) {}
5241 }
5242 ''');
5243 } else {
5244 checkElementText(library, r'''
5245 class B<T1, T2> {
5246 const B();
5247 }
5183 class C<E1> { 5248 class C<E1> {
5184 void foo<E2>([B<E1, E2> b = const 5249 void foo<E2>([B<E1, E2> b = const
5185 B/*location: test.dart;B*/()]) {} 5250 B/*location: test.dart;B*/()]) {}
5186 } 5251 }
5187 '''); 5252 ''');
5253 }
5188 } 5254 }
5189 5255
5190 test_defaultValue_refersToGenericClass_methodNG() async { 5256 test_defaultValue_refersToGenericClass_methodNG() async {
5191 var library = await checkLibrary(''' 5257 var library = await checkLibrary('''
5192 class B<T> { 5258 class B<T> {
5193 const B(); 5259 const B();
5194 } 5260 }
5195 class C<T> { 5261 class C<T> {
5196 void foo([B<T> b = const B()]) {} 5262 void foo([B<T> b = const B()]) {}
5197 } 5263 }
5198 '''); 5264 ''');
5199 checkElementText(library, r''' 5265 if (isSharedFrontEnd) {
5266 checkElementText(library, r'''
5200 class B<T> { 5267 class B<T> {
5201 const B(); 5268 const B();
5202 } 5269 }
5270 class C<T> {
5271 void foo([B<T> b = const
5272 B/*location: test.dart;B*/<
5273 T/*location: test.dart;C;T*/>()]) {}
5274 }
5275 ''');
5276 } else {
5277 checkElementText(library, r'''
5278 class B<T> {
5279 const B();
5280 }
5203 class C<T> { 5281 class C<T> {
5204 void foo([B<T> b = const 5282 void foo([B<T> b = const
5205 B/*location: test.dart;B*/()]) {} 5283 B/*location: test.dart;B*/()]) {}
5206 } 5284 }
5207 '''); 5285 ''');
5286 }
5208 } 5287 }
5209 5288
5210 test_enum_documented() async { 5289 test_enum_documented() async {
5211 var library = await checkLibrary(''' 5290 var library = await checkLibrary('''
5212 // Extra comment so doc comment offset != 0 5291 // Extra comment so doc comment offset != 0
5213 /** 5292 /**
5214 * Docs 5293 * Docs
5215 */ 5294 */
5216 enum E { v }'''); 5295 enum E { v }''');
5217 checkElementText(library, r''' 5296 checkElementText(library, r'''
(...skipping 4756 matching lines...) Expand 10 before | Expand all | Expand 10 after
9974 fail('Unexpectedly tried to get unlinked summary for $uri'); 10053 fail('Unexpectedly tried to get unlinked summary for $uri');
9975 } 10054 }
9976 return serializedUnit; 10055 return serializedUnit;
9977 } 10056 }
9978 10057
9979 @override 10058 @override
9980 bool hasLibrarySummary(String uri) { 10059 bool hasLibrarySummary(String uri) {
9981 return true; 10060 return true;
9982 } 10061 }
9983 } 10062 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/kernel/resynthesize.dart ('k') | pkg/analyzer/test/src/summary/resynthesize_kernel_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698