| OLD | NEW | 
|---|
| 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 // Testing that the reserved word `void` is allowed to occur as a type. | 5 // Testing that the reserved word `void` is allowed to occur as a type, not | 
| 6 | 6 // just as a return type. | 
| 7 import 'package:expect/expect.dart'; |  | 
| 8 | 7 | 
| 9 class A<T> { | 8 class A<T> { | 
| 10   T t; | 9   final T t; | 
| 11   const A(this.t); | 10   const A(this.t); | 
| 12 } | 11 } | 
| 13 | 12 | 
| 14 const void x1 = null; | 13 const void x1 = null; | 
| 15 const A<void> x2 = const A<void>(null); | 14 const A<void> x2 = const A<void>(null); | 
| 16 | 15 | 
| 17 final void x3 = null; | 16 final void x3 = null; | 
| 18 final A<void> x4 = new A<void>(null); | 17 final A<void> x4 = new A<void>(null); | 
| 19 | 18 | 
| 20 void x5 = null, x6; | 19 void x5 = null, x6; | 
| 21 A<void> x7 = new A<void>(null), x8; | 20 A<void> x7 = new A<void>(null), x8; | 
| 22 | 21 | 
| 23 void get g1 => null; | 22 void get g1 => null; | 
| 24 A<void> get g2 => new A<void>(null); | 23 A<void> get g2 => new A<void>(null); | 
| 25 void set s1(void x) => null; | 24 void set s1(void x) => null; | 
| 26 void set s2(A<void> x) => null; | 25 void set s2(A<void> x) => null; | 
| 27 void m1(void x, [void y]) => null; | 26 void m1(void x, [void y]) => null; | 
| 28 void m2(void x, {void y}) => null; | 27 void m2(void x, {void y}) => null; | 
| 29 A<void> m3(A<void> x, [A<void> y]) => new A<void>(null); | 28 A<void> m3(A<void> x, [A<void> y]) => new A<void>(null); | 
| 30 A<void> m4(A<void> x, {A<void> y}) => new A<void>(null); | 29 A<void> m4(A<void> x, {A<void> y}) => new A<void>(null); | 
| 31 | 30 | 
| 32 class B<S, T> {} | 31 class B<S, T> implements A<void> { void get t => null; } | 
| 33 | 32 | 
| 34 class C extends A<void> with B<void, A<void>> implements A<void> { | 33 class C extends A<void> with B<void, A<void>> { | 
|  | 34   C(): super(null); | 
|  | 35 | 
| 35   static final void x1 = null; | 36   static final void x1 = null; | 
| 36   static final A<void> x2 = new A<void>(null); | 37   static final A<void> x2 = new A<void>(null); | 
| 37 | 38 | 
| 38   static const void x3 = null; | 39   static const void x3 = null; | 
| 39   static const A<void> x4 = const A<void>(null); | 40   static const A<void> x4 = const A<void>(null); | 
| 40 | 41 | 
| 41   final void x5 = null, x6; | 42   final void x5 = null; | 
| 42   final A<void> x7 = new A<void>(null), x8; | 43   final A<void> x6 = new A<void>(null); | 
| 43 | 44 | 
| 44   static void x9 = null, x10; | 45   static void x7 = null, x8; | 
| 45   static A<void> x11 = new A<void>(null), x12; | 46   static A<void> x9 = new A<void>(null), x10; | 
| 46 | 47 | 
| 47   covariant void x13 = null, x14; | 48   covariant void x11 = null, x12; | 
| 48   covariant A<void> x15 = new A<void>(null), x16; | 49   covariant A<void> x13 = new A<void>(null), x14; | 
| 49 | 50 | 
| 50   static void get g1 => null; | 51   static void get g1 => null; | 
| 51   static A<void> get g2 => new A<void>(null); | 52   static A<void> get g2 => new A<void>(null); | 
| 52   static void set s1(void x) => null; | 53   static void set s1(void x) => null; | 
| 53   static void set s2(A<void> x) => null; | 54   static void set s2(A<void> x) => null; | 
| 54   static void m1(void x, [void y]) => null; | 55   static void m1(void x, [void y]) => null; | 
| 55   static void m2(void x, {void y}) => null; | 56   static void m2(void x, {void y}) => null; | 
| 56   static A<void> m3(A<void> x, [A<void> y]) => null; | 57   static A<void> m3(A<void> x, [A<void> y]) => null; | 
| 57   static A<void> m4(A<void> x, {A<void> y}) => null; | 58   static A<void> m4(A<void> x, {A<void> y}) => null; | 
| 58 | 59 | 
| 59   void get g3 => null; | 60   void get g3 => null; | 
| 60   A<void> get g4 => new A<void>(null); | 61   A<void> get g4 => new A<void>(null); | 
| 61   void set s3(void x) => null; | 62   void set s3(void x) => null; | 
| 62   void set s4(A<void> x) => null; | 63   void set s4(A<void> x) => null; | 
| 63   void m5(void x, [void y]) => null; | 64   void m5(void x, [void y]) => null; | 
| 64   void m6(void x, {void y}) => null; | 65   void m6(void x, {void y}) => null; | 
| 65   A<void> m7(A<void> x, [A<void> y]) => null; | 66   A<void> m7(A<void> x, [A<void> y]) => null; | 
| 66   A<void> m8(A<void> x, {A<void> y}) => null; | 67   A<void> m8(A<void> x, {A<void> y}) => null; | 
| 67 | 68 | 
| 68   // Ensure that all members are used, and use `void` in expressions. | 69   // Ensure that all members are used, and use `void` in expressions. | 
| 69   void run() { | 70   void run() { | 
| 70     var ignore = [x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, | 71     var ignore = [ | 
| 71       x15, x16, g1, g2, g3, g4]; | 72       x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, // | 
|  | 73       g1, g2, g3, g4, | 
|  | 74     ]; | 
| 72 | 75 | 
| 73     s1 = null; | 76     s1 = null; | 
| 74     s2 = new A<void>(null); | 77     s2 = new A<void>(null); | 
| 75     s3 = null; | 78     s3 = null; | 
| 76     s4 = new A<void>(null); | 79     s4 = new A<void>(null); | 
| 77     m1(null, null); | 80     m1(null, null); | 
| 78     m2(null, y: null); | 81     m2(null, y: null); | 
| 79     m3(null, new A<void>(null)); | 82     m3(null, new A<void>(null)); | 
| 80     m4(null, y: new A<void>(null)); | 83     m4(null, y: new A<void>(null)); | 
| 81     m5(null, null); | 84     m5(null, null); | 
| (...skipping 14 matching lines...) Expand all  Loading... | 
| 96   var ignore = [x1, x2, x3, x4, x5, x6, x7, x8, g1, g2]; | 99   var ignore = [x1, x2, x3, x4, x5, x6, x7, x8, g1, g2]; | 
| 97 | 100 | 
| 98   s1 = null; | 101   s1 = null; | 
| 99   s2 = new A<void>(null); | 102   s2 = new A<void>(null); | 
| 100   m1(null, null); | 103   m1(null, null); | 
| 101   m2(null, y: null); | 104   m2(null, y: null); | 
| 102   m3(null, null); | 105   m3(null, null); | 
| 103   m4(null, y: null); | 106   m4(null, y: null); | 
| 104   new C().run(); | 107   new C().run(); | 
| 105 } | 108 } | 
| OLD | NEW | 
|---|