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

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

Issue 2653873002: fix #28141, fix super generic method bounds check (Closed)
Patch Set: Created 3 years, 11 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) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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 analyzer.test.generated.strong_mode_test; 5 library analyzer.test.generated.strong_mode_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 2044 matching lines...) Expand 10 before | Expand all | Expand 10 after
2055 C c; 2055 C c;
2056 } 2056 }
2057 '''; 2057 ''';
2058 await resolveTestUnit(code); 2058 await resolveTestUnit(code);
2059 assertNoErrors(testSource); 2059 assertNoErrors(testSource);
2060 expectIdentifierType('a;', 'A<dynamic>'); 2060 expectIdentifierType('a;', 'A<dynamic>');
2061 expectIdentifierType('b;', 'B<num>'); 2061 expectIdentifierType('b;', 'B<num>');
2062 expectIdentifierType('c;', 'C<List<int>>'); 2062 expectIdentifierType('c;', 'C<List<int>>');
2063 } 2063 }
2064 2064
2065 /**
2066 * See https://github.com/dart-lang/sdk/issues/27725
2067 *
2068 * TypeParameterMember.== is not implemented
2069 */
2070 @failingTest
2071 test_instantiateToBounds_method_ok_referenceOther_before() async { 2065 test_instantiateToBounds_method_ok_referenceOther_before() async {
2072 String code = r''' 2066 String code = r'''
2073 class C<T> { 2067 class C<T> {
2074 void m<S0 extends T, S1 extends List<S0>>(S0 p0, S1 p1) {} 2068 void m<S0 extends T, S1 extends List<S0>>(S0 p0, S1 p1) {}
2075 2069
2076 void main() { 2070 void main() {
2077 m(null, null); 2071 m(null, null);
2078 } 2072 }
2079 } 2073 }
2080 '''; 2074 ''';
(...skipping 521 matching lines...) Expand 10 before | Expand all | Expand 10 after
2602 var v = x; 2596 var v = x;
2603 v; // marker 2597 v; // marker
2604 } 2598 }
2605 int x = 3; 2599 int x = 3;
2606 '''; 2600 ''';
2607 CompilationUnit unit = await resolveSource(code); 2601 CompilationUnit unit = await resolveSource(code);
2608 assertPropagatedAssignedType(code, unit, typeProvider.intType, null); 2602 assertPropagatedAssignedType(code, unit, typeProvider.intType, null);
2609 assertTypeOfMarkedExpression(code, unit, typeProvider.intType, null); 2603 assertTypeOfMarkedExpression(code, unit, typeProvider.intType, null);
2610 } 2604 }
2611 } 2605 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698