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

Side by Side Diff: pkg/front_end/testcases/inference/conflicts_can_happen.dart

Issue 2943273002: Implement type inference of getters/setters based on inheritance. (Closed)
Patch Set: Created 3 years, 6 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) 2017, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2017, 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 /*@testedFeatures=inference*/ 5 /*@testedFeatures=inference*/
6 library test; 6 library test;
7 7
8 class I1 { 8 class I1 {
9 int x; 9 int x;
10 } 10 }
11 11
12 class I2 extends I1 { 12 class I2 extends I1 {
13 int y; 13 int y;
14 } 14 }
15 15
16 class A { 16 class A {
17 final I1 a = null; 17 final I1 a = null;
18 } 18 }
19 19
20 class B { 20 class B {
21 final I2 a = null; 21 final I2 a = null;
22 } 22 }
23 23
24 class C1 implements A, B { 24 class C1 implements A, B {
25 /*error:INVALID_METHOD_OVERRIDE*/ get a => null; 25 /*error:INVALID_METHOD_OVERRIDE*/ get /*@topType=dynamic*/ a => null;
26 } 26 }
27 27
28 // Still ambiguous 28 // Still ambiguous
29 class C2 implements B, A { 29 class C2 implements B, A {
30 /*error:INVALID_METHOD_OVERRIDE*/ get a => null; 30 /*error:INVALID_METHOD_OVERRIDE*/ get /*@topType=dynamic*/ a => null;
31 } 31 }
32 32
33 main() {} 33 main() {}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698