| Index: pkg/analyzer/test/src/task/strong/inferred_type_test.dart
|
| diff --git a/pkg/analyzer/test/src/task/strong/inferred_type_test.dart b/pkg/analyzer/test/src/task/strong/inferred_type_test.dart
|
| index 3c4d55b8bddf85eb8257f03cc0472ab6951b4425..85a1085bef0fc6b253a86b6854b5c9315a60e496 100644
|
| --- a/pkg/analyzer/test/src/task/strong/inferred_type_test.dart
|
| +++ b/pkg/analyzer/test/src/task/strong/inferred_type_test.dart
|
| @@ -339,7 +339,7 @@ void main() {
|
| var b = new B(/*warning:UNDEFINED_IDENTIFIER*/x); // allocations
|
| var c1 = [/*warning:UNDEFINED_IDENTIFIER*/x]; // list literals
|
| var c2 = const [];
|
| - var d = {'a': 'b'}; // map literals
|
| + var d = <dynamic, dynamic>{'a': 'b'}; // map literals
|
| var e = new A()..x = 3; // cascades
|
| var f = 2 + 3; // binary expressions are OK if the left operand
|
| // is from a library in a different strongest
|
| @@ -1580,8 +1580,9 @@ main() {
|
| checkFile('''
|
| import 'dart:async';
|
| Future<int> test() async {
|
| - List<int> l0 = /*warning:DOWN_CAST_COMPOSITE should be pass*/await /*pass should be info:INFERRED_TYPE_LITERAL*/[3];
|
| - List<int> l1 = await /*info:INFERRED_TYPE_ALLOCATION*/new Future.value(/*info:INFERRED_TYPE_LITERAL*/[3]);
|
| + dynamic d;
|
| + List<int> l0 = /*warning:DOWN_CAST_COMPOSITE should be pass*/await /*pass should be info:INFERRED_TYPE_LITERAL*/[d];
|
| + List<int> l1 = await /*info:INFERRED_TYPE_ALLOCATION*/new Future.value(/*info:INFERRED_TYPE_LITERAL*/[/*info:DYNAMIC_CAST*/d]);
|
| }
|
| ''');
|
| });
|
| @@ -1877,4 +1878,45 @@ main() {
|
| ''');
|
| });
|
|
|
| + test('list literals', () {
|
| + checkFile(r'''
|
| +test1() {
|
| + var x = [1, 2, 3];
|
| + x.add(/*severe:STATIC_TYPE_ERROR*/'hi');
|
| + x.add(/*severe:STATIC_TYPE_ERROR*/4.0);
|
| + x.add(4);
|
| + List<num> y = x;
|
| +}
|
| +test2() {
|
| + var x = [1, 2.0, 3];
|
| + x.add(/*severe:STATIC_TYPE_ERROR*/'hi');
|
| + x.add(4.0);
|
| + List<int> y = /*info:ASSIGNMENT_CAST*/x;
|
| +}
|
| + ''');
|
| + });
|
| +
|
| + test('map literals', () {
|
| + checkFile(r'''
|
| +test1() {
|
| + var x = { 1: 'x', 2: 'y' };
|
| + x[3] = 'z';
|
| + x[/*severe:STATIC_TYPE_ERROR*/'hi'] = 'w';
|
| + x[/*severe:STATIC_TYPE_ERROR*/4.0] = 'u';
|
| + x[3] = /*severe:STATIC_TYPE_ERROR*/42;
|
| + Map<num, String> y = x;
|
| +}
|
| +
|
| +test2() {
|
| + var x = { 1: 'x', 2: 'y', 3.0: new RegExp('.') };
|
| + x[3] = 'z';
|
| + x[/*severe:STATIC_TYPE_ERROR*/'hi'] = 'w';
|
| + x[4.0] = 'u';
|
| + x[3] = /*severe:STATIC_TYPE_ERROR*/42;
|
| + Pattern p = null;
|
| + x[2] = p;
|
| + Map<int, String> y = /*info:ASSIGNMENT_CAST*/x;
|
| +}
|
| + ''');
|
| + });
|
| }
|
|
|