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

Side by Side Diff: tests/language_2/type_promotion_parameter_test.dart

Issue 3007803002: Migrate block 162 to Dart 2.0.
Patch Set: Created 3 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
(Empty)
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
eernst 2017/09/04 17:04:59 All OK. NB: I downloaded the patch and compared w
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.
4
5 // Test type promotion of parameters.
6
7 class A {
8 var a = "a";
9 }
10
11 class B extends A {
12 var b = "b";
13 }
14
15 class C extends B {
16 var c = "c";
17 }
18
19 class D extends A {
20 var d = "d";
21 }
22
23 class E implements C, D {
24 var a = "";
25 var b = "";
26 var c = "";
27 var d = "";
28 }
29
30 void main() {
31 test(new E());
32 }
33
34 void test(A a) {
35 print(a.a);
36 print(a.b); //# 01: compile-time error
37 print(a.c); //# 02: compile-time error
38 print(a.d); //# 03: compile-time error
39
40 if (a is B) {
41 print(a.a);
42 print(a.b);
43 print(a.c); //# 04: compile-time error
44 print(a.d); //# 05: compile-time error
45
46 if (a is C) {
47 print(a.a);
48 print(a.b);
49 print(a.c);
50 print(a.d); //# 06: compile-time error
51 }
52
53 print(a.a);
54 print(a.b);
55 print(a.c); //# 07: compile-time error
56 print(a.d); //# 08: compile-time error
57 }
58 if (a is C) {
59 print(a.a);
60 print(a.b);
61 print(a.c);
62 print(a.d); //# 09: compile-time error
63
64 if (a is B) {
65 print(a.a);
66 print(a.b);
67 print(a.c);
68 print(a.d); //# 10: compile-time error
69 }
70 if (a is D) {
71 print(a.a);
72 print(a.b);
73 print(a.c);
74 print(a.d); //# 11: compile-time error
75 }
76
77 print(a.a);
78 print(a.b);
79 print(a.c);
80 print(a.d); //# 12: compile-time error
81 }
82
83 print(a.a);
84 print(a.b); //# 13: compile-time error
85 print(a.c); //# 14: compile-time error
86 print(a.d); //# 15: compile-time error
87
88 if (a is D) {
89 print(a.a);
90 print(a.b); //# 16: compile-time error
91 print(a.c); //# 17: compile-time error
92 print(a.d);
93 }
94
95 print(a.a);
96 print(a.b); //# 18: compile-time error
97 print(a.c); //# 19: compile-time error
98 print(a.d); //# 20: compile-time error
99
100 var o1 = a is B
101 ? '${a.a}'
102 '${a.b}'
103 '${a.c}' //# 21: compile-time error
104 '${a.d}' //# 22: compile-time error
105 : '${a.a}'
106 '${a.b}' //# 23: compile-time error
107 '${a.c}' //# 24: compile-time error
108 '${a.d}' //# 25: compile-time error
109 ;
110
111 var o2 = a is C
112 ? '${a.a}'
113 '${a.b}'
114 '${a.c}'
115 '${a.d}' //# 26: compile-time error
116 : '${a.a}'
117 '${a.b}' //# 27: compile-time error
118 '${a.c}' //# 28: compile-time error
119 '${a.d}' //# 29: compile-time error
120 ;
121
122 var o3 = a is D
123 ? '${a.a}'
124 '${a.b}' //# 30: compile-time error
125 '${a.c}' //# 31: compile-time error
126 '${a.d}'
127 : '${a.a}'
128 '${a.b}' //# 32: compile-time error
129 '${a.c}' //# 33: compile-time error
130 '${a.d}' //# 34: compile-time error
131 ;
132
133 if (a is B && a is B) {
134 print(a.a);
135 print(a.b);
136 print(a.c); //# 35: compile-time error
137 print(a.d); //# 36: compile-time error
138 }
139 if (a is B && a is C) {
140 print(a.a);
141 print(a.b);
142 print(a.c);
143 print(a.d); //# 37: compile-time error
144 }
145 if (a is C && a is B) {
146 print(a.a);
147 print(a.b);
148 print(a.c);
149 print(a.d); //# 38: compile-time error
150 }
151 if (a is C && a is D) {
152 print(a.a);
153 print(a.b);
154 print(a.c);
155 print(a.d); //# 39: compile-time error
156 }
157 if (a is D && a is C) {
158 print(a.a);
159 print(a.b); //# 40: compile-time error
160 print(a.c); //# 41: compile-time error
161 print(a.d);
162 }
163 if (a is D &&
164 a.a == ""
165 && a.b == "" // //# 42: compile-time error
166 && a.c == "" // //# 43: compile-time error
167 &&
168 a.d == "") {
169 print(a.a);
170 print(a.b); //# 44: compile-time error
171 print(a.c); //# 45: compile-time error
172 print(a.d);
173 }
174 if (a.a == ""
175 && a.b == "" //# 46: compile-time error
176 && a.c == "" //# 47: compile-time error
177 && a.d == "" //# 48: compile-time error
178 &&
179 a is B &&
180 a.a == "" &&
181 a.b == ""
182 && a.c == "" //# 49: compile-time error
183 && a.d == "" //# 50: compile-time error
184 &&
185 a is C &&
186 a.a == "" &&
187 a.b == "" &&
188 a.c == ""
189 && a.d == "" //# 51: compile-time error
190 ) {
191 print(a.a);
192 print(a.b);
193 print(a.c);
194 print(a.d); //# 52: compile-time error
195 }
196 if ((a is B)) {
197 print(a.a);
198 print(a.b);
199 print(a.c); //# 54: compile-time error
200 print(a.d); //# 55: compile-time error
201 }
202 if ((a is B && (a) is C) && a is B) {
203 print(a.a);
204 print(a.b);
205 print(a.c);
206 print(a.d); //# 56: compile-time error
207 }
208 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698