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

Side by Side Diff: pkg/analyzer/test/generated/type_system_test.dart

Issue 2343713002: fix #27151, list and map literals infer using up and down info (Closed)
Patch Set: format Created 4 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 // Tests related to the [TypeSystem] class. 5 // Tests related to the [TypeSystem] class.
6 6
7 library analyzer.test.generated.type_system_test; 7 library analyzer.test.generated.type_system_test;
8 8
9 import 'package:analyzer/dart/element/element.dart'; 9 import 'package:analyzer/dart/element/element.dart';
10 import 'package:analyzer/dart/element/type.dart'; 10 import 'package:analyzer/dart/element/type.dart';
(...skipping 1106 matching lines...) Expand 10 before | Expand all | Expand 10 after
1117 1117
1118 void test_unusedReturnTypeWithUpperBound() { 1118 void test_unusedReturnTypeWithUpperBound() {
1119 // <T extends num>() -> T 1119 // <T extends num>() -> T
1120 var t = TypeBuilder.variable('T', bound: numType); 1120 var t = TypeBuilder.variable('T', bound: numType);
1121 var f = TypeBuilder.function(types: [t], required: [], result: t); 1121 var f = TypeBuilder.function(types: [t], required: [], result: t);
1122 expect(_inferCall(f, []), [numType]); 1122 expect(_inferCall(f, []), [numType]);
1123 } 1123 }
1124 1124
1125 List<DartType> _inferCall(FunctionTypeImpl ft, List<DartType> arguments, 1125 List<DartType> _inferCall(FunctionTypeImpl ft, List<DartType> arguments,
1126 [DartType returnType]) { 1126 [DartType returnType]) {
1127 FunctionType inferred = typeSystem.inferGenericFunctionCall(typeProvider, 1127 FunctionType inferred = typeSystem.inferGenericFunctionCall(
1128 ft, ft.parameters.map((p) => p.type).toList(), arguments, returnType); 1128 typeProvider,
1129 ft,
1130 ft.parameters.map((p) => p.type).toList(),
1131 arguments,
1132 ft.returnType,
1133 returnType);
1129 return inferred?.typeArguments; 1134 return inferred?.typeArguments;
1130 } 1135 }
1131 } 1136 }
1132 1137
1133 /** 1138 /**
1134 * Tests GLB, which only exists in strong mode. 1139 * Tests GLB, which only exists in strong mode.
1135 */ 1140 */
1136 @reflectiveTest 1141 @reflectiveTest
1137 class StrongGreatestLowerBoundTest extends BoundTestBase { 1142 class StrongGreatestLowerBoundTest extends BoundTestBase {
1138 void setUp() { 1143 void setUp() {
(...skipping 747 matching lines...) Expand 10 before | Expand all | Expand 10 after
1886 if (types != null) { 1891 if (types != null) {
1887 f.typeParameters = 1892 f.typeParameters =
1888 new List<TypeParameterElement>.from(types.map((t) => t.element)); 1893 new List<TypeParameterElement>.from(types.map((t) => t.element));
1889 } 1894 }
1890 return f.type = new FunctionTypeImpl(f); 1895 return f.type = new FunctionTypeImpl(f);
1891 } 1896 }
1892 1897
1893 static TypeParameterType variable(String name, {DartType bound}) => 1898 static TypeParameterType variable(String name, {DartType bound}) =>
1894 ElementFactory.typeParameterWithType(name, bound).type; 1899 ElementFactory.typeParameterWithType(name, bound).type;
1895 } 1900 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698