| OLD | NEW |
| 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 // GENERATED - DON'T EDIT. | 5 // GENERATED - DON'T EDIT. |
| 6 // GENERATED - DON'T EDIT. | 6 // GENERATED - DON'T EDIT. |
| 7 // GENERATED - DON'T EDIT. | 7 // GENERATED - DON'T EDIT. |
| 8 // GENERATED - DON'T EDIT. | 8 // GENERATED - DON'T EDIT. |
| 9 // GENERATED - DON'T EDIT. | 9 // GENERATED - DON'T EDIT. |
| 10 // GENERATED - DON'T EDIT. | 10 // GENERATED - DON'T EDIT. |
| 11 // GENERATED - DON'T EDIT. | 11 // GENERATED - DON'T EDIT. |
| 12 // GENERATED - DON'T EDIT. | 12 // GENERATED - DON'T EDIT. |
| 13 | 13 |
| 14 import 'dart:core'; | 14 import 'dart:core'; |
| 15 import 'dart:core' as core; | 15 import 'dart:core' as core; |
| 16 import 'package:expect/expect.dart'; | 16 import 'package:expect/expect.dart'; |
| 17 | 17 |
| 18 @NoInline() | 18 @NoInline() |
| 19 @AssumeDynamic() | 19 @AssumeDynamic() |
| 20 confuse(f) => f; | 20 confuse(f) => f; |
| 21 | 21 |
| 22 final bool inCheckedMode = (() { | 22 typedef F0<T> = Function Function(int y, [Function x]); |
| 23 bool result = false; | 23 typedef F1<T> = core.List<core.int> Function(int x0, [int x]); |
| 24 assert(result = true); | 24 typedef F2<T> = List<T> Function(int x0, [List<T> x]); |
| 25 return result; | 25 typedef F3<T> = void Function([core.List<core.int> x]); |
| 26 })(); | 26 typedef F4<T> = int Function([int x]) Function<B extends core.int>(); |
| 27 | 27 typedef F5<T> = int Function(List<Function> x1) Function<B extends core.int>(); |
| 28 typedef F0<T> | 28 typedef F6<T> = int Function(int x, [List<T> x1]) |
| 29 = Function Function(int y, [Function x]); | 29 Function<B extends core.int>(); |
| 30 typedef F1<T> | 30 typedef F7<T> = Function Function(int x1, {Function x}) |
| 31 = core.List<core.int> Function(int x0, [int x]); | 31 Function<B extends core.int>(); |
| 32 typedef F2<T> | 32 typedef F8<T> = Function Function([List<T> x]) Function<B extends core.int>(); |
| 33 = List<T> Function(int x0, [List<T> x]); | 33 typedef F9<T> = List<Function> Function(int y, [Function x]) |
| 34 typedef F3<T> | 34 Function<B extends core.int>(); |
| 35 = void Function([core.List<core.int> x]); | 35 typedef F10<T> = List<Function> Function(int x2, [core.List<core.int> x3]) |
| 36 typedef F4<T> | 36 Function<B extends core.int>(); |
| 37 = int Function([int x]) Function<B extends core.int>(); | 37 typedef F11<T> = core.List<core.int> Function({int x}) |
| 38 typedef F5<T> | 38 Function<B extends core.int>(); |
| 39 = int Function(List<Function> x1) Function<B extends core.int>(); | 39 typedef F12<T> = core.List<core.int> Function(core.List<core.int> x) |
| 40 typedef F6<T> | 40 Function<B extends core.int>(); |
| 41 = int Function(int x, [List<T> x1]) Function<B extends core.int>(); | 41 typedef F13<T> = List<T> Function(int x1, [int x]) |
| 42 typedef F7<T> | 42 Function<B extends core.int>(); |
| 43 = Function Function(int x1, {Function x}) Function<B extends core.int>(); | 43 typedef F14<T> = List<T> Function([List<Function> x1]) |
| 44 typedef F8<T> | 44 Function<B extends core.int>(); |
| 45 = Function Function([List<T> x]) Function<B extends core.int>(); | 45 typedef F15<T> = List<T> Function({List<T> x}) Function<B extends core.int>(); |
| 46 typedef F9<T> | 46 typedef F16<T> = Function(int y, {Function x}) Function<B extends core.int>(); |
| 47 = List<Function> Function(int y, | 47 typedef F17<T> = Function(int x1, [List<T> x]) Function<B extends core.int>(); |
| 48 [Function x]) Function<B extends core.int>(); | 48 typedef F18<T> = void Function(Function x1) Function<B extends core.int>(); |
| 49 typedef F10<T> | 49 typedef F19<T> = void Function(int x, [core.List<core.int> x1]) |
| 50 = List<Function> Function(int x2, | 50 Function<B extends core.int>(); |
| 51 [core.List<core.int> x3]) Function<B extends core.int>(); | 51 typedef F20<T> = Function Function<A>(Function x) |
| 52 typedef F11<T> | 52 Function<B extends core.int>(); |
| 53 = core.List<core.int> Function({int x}) Function<B extends core.int>(); | 53 typedef F21<T> = List<T> Function<A>(List<Function> x) |
| 54 typedef F12<T> | 54 Function<B extends core.int>(); |
| 55 = core.List<core.int> Function( | 55 typedef F22<T> = List<A> Function<A>(core.List<core.int> x) |
| 56 core.List<core.int> x) Function<B extends core.int>(); | 56 Function<B extends core.int>(); |
| 57 typedef F13<T> | |
| 58 = List<T> Function(int x1, [int x]) Function<B extends core.int>(); | |
| 59 typedef F14<T> | |
| 60 = List<T> Function([List<Function> x1]) Function<B extends core.int>(); | |
| 61 typedef F15<T> | |
| 62 = List<T> Function({List<T> x}) Function<B extends core.int>(); | |
| 63 typedef F16<T> | |
| 64 = Function(int y, {Function x}) Function<B extends core.int>(); | |
| 65 typedef F17<T> | |
| 66 = Function(int x1, [List<T> x]) Function<B extends core.int>(); | |
| 67 typedef F18<T> | |
| 68 = void Function(Function x1) Function<B extends core.int>(); | |
| 69 typedef F19<T> | |
| 70 = void Function(int x, | |
| 71 [core.List<core.int> x1]) Function<B extends core.int>(); | |
| 72 typedef F20<T> | |
| 73 = Function Function<A>(Function x) Function<B extends core.int>(); | |
| 74 typedef F21<T> | |
| 75 = List<T> Function<A>(List<Function> x) Function<B extends core.int>(); | |
| 76 typedef F22<T> | |
| 77 = List<A> Function<A>(core.List<core.int> x) Function<B extends core.int>(); | |
| 78 | 57 |
| 79 Function f0(int y, [Function x]) => null; | 58 Function f0(int y, [Function x]) => null; |
| 80 core.List<core.int> f1(int x0, [int x]) => null; | 59 core.List<core.int> f1(int x0, [int x]) => null; |
| 81 List<int> f2(int x0, [List<int> x]) => null; | 60 List<int> f2(int x0, [List<int> x]) => null; |
| 82 void f3([core.List<core.int> x]) => null; | 61 void f3([core.List<core.int> x]) => null; |
| 83 int Function([int x]) f4<B extends core.int>() => null; | 62 int Function([int x]) f4<B extends core.int>() => null; |
| 84 int Function(List<Function> x0) f5<B extends core.int>() => null; | 63 int Function(List<Function> x0) f5<B extends core.int>() => null; |
| 85 int Function(int x, [List<int> x0]) f6<B extends core.int>() => null; | 64 int Function(int x, [List<int> x0]) f6<B extends core.int>() => null; |
| 86 Function Function(int x0, {Function x}) f7<B extends core.int>() => null; | 65 Function Function(int x0, {Function x}) f7<B extends core.int>() => null; |
| 87 Function Function([List<int> x]) f8<B extends core.int>() => null; | 66 Function Function([List<int> x]) f8<B extends core.int>() => null; |
| (...skipping 24 matching lines...) Expand all Loading... |
| 112 core.List<core.int> Function(int x0, [int x]) x1; | 91 core.List<core.int> Function(int x0, [int x]) x1; |
| 113 List<T> Function(int x0, [List<T> x]) x2; | 92 List<T> Function(int x0, [List<T> x]) x2; |
| 114 void Function([core.List<core.int> x]) x3; | 93 void Function([core.List<core.int> x]) x3; |
| 115 int Function([int x]) Function<B extends core.int>() x4; | 94 int Function([int x]) Function<B extends core.int>() x4; |
| 116 int Function(List<Function> x1) Function<B extends core.int>() x5; | 95 int Function(List<Function> x1) Function<B extends core.int>() x5; |
| 117 int Function(int x, [List<T> x1]) Function<B extends core.int>() x6; | 96 int Function(int x, [List<T> x1]) Function<B extends core.int>() x6; |
| 118 Function Function(int x1, {Function x}) Function<B extends core.int>() x7; | 97 Function Function(int x1, {Function x}) Function<B extends core.int>() x7; |
| 119 Function Function([List<T> x]) Function<B extends core.int>() x8; | 98 Function Function([List<T> x]) Function<B extends core.int>() x8; |
| 120 List<Function> Function(int y, [Function x]) Function<B extends core.int>() | 99 List<Function> Function(int y, [Function x]) Function<B extends core.int>() |
| 121 x9; | 100 x9; |
| 122 List<Function> Function(int x2, | 101 List<Function> Function(int x2, [core.List<core.int> x3]) |
| 123 [core.List<core.int> x3]) Function<B extends core.int>() x10; | 102 Function<B extends core.int>() x10; |
| 124 core.List<core.int> Function({int x}) Function<B extends core.int>() x11; | 103 core.List<core.int> Function({int x}) Function<B extends core.int>() x11; |
| 125 core.List<core.int> Function( | 104 core.List<core.int> Function(core.List<core.int> x) |
| 126 core.List<core.int> x) Function<B extends core.int>() x12; | 105 Function<B extends core.int>() x12; |
| 127 List<T> Function(int x1, [int x]) Function<B extends core.int>() x13; | 106 List<T> Function(int x1, [int x]) Function<B extends core.int>() x13; |
| 128 List<T> Function([List<Function> x1]) Function<B extends core.int>() x14; | 107 List<T> Function([List<Function> x1]) Function<B extends core.int>() x14; |
| 129 List<T> Function({List<T> x}) Function<B extends core.int>() x15; | 108 List<T> Function({List<T> x}) Function<B extends core.int>() x15; |
| 130 Function(int y, {Function x}) Function<B extends core.int>() x16; | 109 Function(int y, {Function x}) Function<B extends core.int>() x16; |
| 131 Function(int x1, [List<T> x]) Function<B extends core.int>() x17; | 110 Function(int x1, [List<T> x]) Function<B extends core.int>() x17; |
| 132 void Function(Function x1) Function<B extends core.int>() x18; | 111 void Function(Function x1) Function<B extends core.int>() x18; |
| 133 void Function(int x, [core.List<core.int> x1]) Function<B extends core.int>() | 112 void Function(int x, [core.List<core.int> x1]) Function<B extends core.int>() |
| 134 x19; | 113 x19; |
| 135 Function Function<A>(Function x) Function<B extends core.int>() x20; | 114 Function Function<A>(Function x) Function<B extends core.int>() x20; |
| 136 List<T> Function<A>(List<Function> x) Function<B extends core.int>() x21; | 115 List<T> Function<A>(List<Function> x) Function<B extends core.int>() x21; |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 263 x2 = confuse(m2); | 242 x2 = confuse(m2); |
| 264 l2 = confuse(m2); | 243 l2 = confuse(m2); |
| 265 if (!tIsBool) { | 244 if (!tIsBool) { |
| 266 Expect.isTrue(f2 is F2<int>); | 245 Expect.isTrue(f2 is F2<int>); |
| 267 Expect.isFalse(f2 is F2<bool>); | 246 Expect.isFalse(f2 is F2<bool>); |
| 268 Expect.isTrue(confuse(f2) is F2<int>); | 247 Expect.isTrue(confuse(f2) is F2<int>); |
| 269 Expect.isFalse(confuse(f2) is F2<bool>); | 248 Expect.isFalse(confuse(f2) is F2<bool>); |
| 270 Expect.equals(tIsDynamic, m2 is F2<bool>); | 249 Expect.equals(tIsDynamic, m2 is F2<bool>); |
| 271 Expect.equals(tIsDynamic, confuse(m2) is F2<bool>); | 250 Expect.equals(tIsDynamic, confuse(m2) is F2<bool>); |
| 272 } else { | 251 } else { |
| 273 if (inCheckedMode) { | 252 if (typeAssertionsEnabled) { |
| 274 Expect.throws(() { | 253 Expect.throws(() { |
| 275 x2 = (f2 as dynamic); | 254 x2 = (f2 as dynamic); |
| 276 }); | 255 }); |
| 277 Expect.throws(() { | 256 Expect.throws(() { |
| 278 x2 = confuse(f2); | 257 x2 = confuse(f2); |
| 279 }); | 258 }); |
| 280 List<T> Function(int x0, [List<T> x]) l2; | 259 List<T> Function(int x0, [List<T> x]) l2; |
| 281 Expect.throws(() { | 260 Expect.throws(() { |
| 282 l2 = (f2 as dynamic); | 261 l2 = (f2 as dynamic); |
| 283 }); | 262 }); |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 389 x6 = confuse(m6); | 368 x6 = confuse(m6); |
| 390 l6 = confuse(m6); | 369 l6 = confuse(m6); |
| 391 if (!tIsBool) { | 370 if (!tIsBool) { |
| 392 Expect.isTrue(f6 is F6<int>); | 371 Expect.isTrue(f6 is F6<int>); |
| 393 Expect.isFalse(f6 is F6<bool>); | 372 Expect.isFalse(f6 is F6<bool>); |
| 394 Expect.isTrue(confuse(f6) is F6<int>); | 373 Expect.isTrue(confuse(f6) is F6<int>); |
| 395 Expect.isFalse(confuse(f6) is F6<bool>); | 374 Expect.isFalse(confuse(f6) is F6<bool>); |
| 396 Expect.equals(tIsDynamic, m6 is F6<bool>); | 375 Expect.equals(tIsDynamic, m6 is F6<bool>); |
| 397 Expect.equals(tIsDynamic, confuse(m6) is F6<bool>); | 376 Expect.equals(tIsDynamic, confuse(m6) is F6<bool>); |
| 398 } else { | 377 } else { |
| 399 if (inCheckedMode) { | 378 if (typeAssertionsEnabled) { |
| 400 Expect.throws(() { | 379 Expect.throws(() { |
| 401 x6 = (f6 as dynamic); | 380 x6 = (f6 as dynamic); |
| 402 }); | 381 }); |
| 403 Expect.throws(() { | 382 Expect.throws(() { |
| 404 x6 = confuse(f6); | 383 x6 = confuse(f6); |
| 405 }); | 384 }); |
| 406 int Function(int x, [List<T> x1]) Function<B extends core.int>() l6; | 385 int Function(int x, [List<T> x1]) Function<B extends core.int>() l6; |
| 407 Expect.throws(() { | 386 Expect.throws(() { |
| 408 l6 = (f6 as dynamic); | 387 l6 = (f6 as dynamic); |
| 409 }); | 388 }); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 426 Function Function(int x1, {Function x}) Function<B extends core.int>() l7; | 405 Function Function(int x1, {Function x}) Function<B extends core.int>() l7; |
| 427 // The static function f7 sets `T` to `int`. | 406 // The static function f7 sets `T` to `int`. |
| 428 if (!tIsBool) { | 407 if (!tIsBool) { |
| 429 x7 = f7 as dynamic; | 408 x7 = f7 as dynamic; |
| 430 l7 = f7 as dynamic; | 409 l7 = f7 as dynamic; |
| 431 x7 = confuse(f7); | 410 x7 = confuse(f7); |
| 432 l7 = confuse(f7); | 411 l7 = confuse(f7); |
| 433 } | 412 } |
| 434 | 413 |
| 435 Expect.isTrue(m7 is F7); | 414 Expect.isTrue(m7 is F7); |
| 436 Expect.isTrue(m7 is Function Function(int x1, | 415 Expect.isTrue(m7 is Function Function(int x1, {Function x}) |
| 437 {Function x}) Function<B extends core.int>()); | 416 Function<B extends core.int>()); |
| 438 Expect.isTrue(confuse(m7) is F7); | 417 Expect.isTrue(confuse(m7) is F7); |
| 439 // In checked mode, verifies the type. | 418 // In checked mode, verifies the type. |
| 440 x7 = m7; | 419 x7 = m7; |
| 441 l7 = m7; | 420 l7 = m7; |
| 442 x7 = confuse(m7); | 421 x7 = confuse(m7); |
| 443 l7 = confuse(m7); | 422 l7 = confuse(m7); |
| 444 } | 423 } |
| 445 | 424 |
| 446 /// Function Function([List<T> x]) Function<B extends core.int>() | 425 /// Function Function([List<T> x]) Function<B extends core.int>() |
| 447 void testF8() { | 426 void testF8() { |
| (...skipping 19 matching lines...) Expand all Loading... |
| 467 x8 = confuse(m8); | 446 x8 = confuse(m8); |
| 468 l8 = confuse(m8); | 447 l8 = confuse(m8); |
| 469 if (!tIsBool) { | 448 if (!tIsBool) { |
| 470 Expect.isTrue(f8 is F8<int>); | 449 Expect.isTrue(f8 is F8<int>); |
| 471 Expect.isFalse(f8 is F8<bool>); | 450 Expect.isFalse(f8 is F8<bool>); |
| 472 Expect.isTrue(confuse(f8) is F8<int>); | 451 Expect.isTrue(confuse(f8) is F8<int>); |
| 473 Expect.isFalse(confuse(f8) is F8<bool>); | 452 Expect.isFalse(confuse(f8) is F8<bool>); |
| 474 Expect.equals(tIsDynamic, m8 is F8<bool>); | 453 Expect.equals(tIsDynamic, m8 is F8<bool>); |
| 475 Expect.equals(tIsDynamic, confuse(m8) is F8<bool>); | 454 Expect.equals(tIsDynamic, confuse(m8) is F8<bool>); |
| 476 } else { | 455 } else { |
| 477 if (inCheckedMode) { | 456 if (typeAssertionsEnabled) { |
| 478 Expect.throws(() { | 457 Expect.throws(() { |
| 479 x8 = (f8 as dynamic); | 458 x8 = (f8 as dynamic); |
| 480 }); | 459 }); |
| 481 Expect.throws(() { | 460 Expect.throws(() { |
| 482 x8 = confuse(f8); | 461 x8 = confuse(f8); |
| 483 }); | 462 }); |
| 484 Function Function([List<T> x]) Function<B extends core.int>() l8; | 463 Function Function([List<T> x]) Function<B extends core.int>() l8; |
| 485 Expect.throws(() { | 464 Expect.throws(() { |
| 486 l8 = (f8 as dynamic); | 465 l8 = (f8 as dynamic); |
| 487 }); | 466 }); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 505 l9; | 484 l9; |
| 506 // The static function f9 sets `T` to `int`. | 485 // The static function f9 sets `T` to `int`. |
| 507 if (!tIsBool) { | 486 if (!tIsBool) { |
| 508 x9 = f9 as dynamic; | 487 x9 = f9 as dynamic; |
| 509 l9 = f9 as dynamic; | 488 l9 = f9 as dynamic; |
| 510 x9 = confuse(f9); | 489 x9 = confuse(f9); |
| 511 l9 = confuse(f9); | 490 l9 = confuse(f9); |
| 512 } | 491 } |
| 513 | 492 |
| 514 Expect.isTrue(m9 is F9); | 493 Expect.isTrue(m9 is F9); |
| 515 Expect.isTrue(m9 is List<Function> Function(int y, | 494 Expect.isTrue(m9 is List<Function> Function(int y, [Function x]) |
| 516 [Function x]) Function<B extends core.int>()); | 495 Function<B extends core.int>()); |
| 517 Expect.isTrue(confuse(m9) is F9); | 496 Expect.isTrue(confuse(m9) is F9); |
| 518 // In checked mode, verifies the type. | 497 // In checked mode, verifies the type. |
| 519 x9 = m9; | 498 x9 = m9; |
| 520 l9 = m9; | 499 l9 = m9; |
| 521 x9 = confuse(m9); | 500 x9 = confuse(m9); |
| 522 l9 = confuse(m9); | 501 l9 = confuse(m9); |
| 523 } | 502 } |
| 524 | 503 |
| 525 /// List<Function> Function(int x2, [core.List<core.int> x3]) Function<B exten
ds core.int>() | 504 /// List<Function> Function(int x2, [core.List<core.int> x3]) Function<B exten
ds core.int>() |
| 526 void testF10() { | 505 void testF10() { |
| 527 Expect.isTrue(f10 is F10); | 506 Expect.isTrue(f10 is F10); |
| 528 Expect.isTrue(confuse(f10) is F10); | 507 Expect.isTrue(confuse(f10) is F10); |
| 529 // In checked mode, verifies the type. | 508 // In checked mode, verifies the type. |
| 530 List<Function> Function(int x2, | 509 List<Function> Function(int x2, [core.List<core.int> x3]) |
| 531 [core.List<core.int> x3]) Function<B extends core.int>() l10; | 510 Function<B extends core.int>() l10; |
| 532 // The static function f10 sets `T` to `int`. | 511 // The static function f10 sets `T` to `int`. |
| 533 if (!tIsBool) { | 512 if (!tIsBool) { |
| 534 x10 = f10 as dynamic; | 513 x10 = f10 as dynamic; |
| 535 l10 = f10 as dynamic; | 514 l10 = f10 as dynamic; |
| 536 x10 = confuse(f10); | 515 x10 = confuse(f10); |
| 537 l10 = confuse(f10); | 516 l10 = confuse(f10); |
| 538 } | 517 } |
| 539 | 518 |
| 540 Expect.isTrue(m10 is F10); | 519 Expect.isTrue(m10 is F10); |
| 541 Expect.isTrue(m10 is List<Function> Function(int x2, | 520 Expect.isTrue(m10 is List<Function> Function(int x2, |
| 542 [core.List<core.int> x3]) Function<B extends core.int>()); | 521 [core.List<core.int> x3]) |
| 522 Function<B extends core.int>()); |
| 543 Expect.isTrue(confuse(m10) is F10); | 523 Expect.isTrue(confuse(m10) is F10); |
| 544 // In checked mode, verifies the type. | 524 // In checked mode, verifies the type. |
| 545 x10 = m10; | 525 x10 = m10; |
| 546 l10 = m10; | 526 l10 = m10; |
| 547 x10 = confuse(m10); | 527 x10 = confuse(m10); |
| 548 l10 = confuse(m10); | 528 l10 = confuse(m10); |
| 549 } | 529 } |
| 550 | 530 |
| 551 /// core.List<core.int> Function({int x}) Function<B extends core.int>() | 531 /// core.List<core.int> Function({int x}) Function<B extends core.int>() |
| 552 void testF11() { | 532 void testF11() { |
| 553 Expect.isTrue(f11 is F11); | 533 Expect.isTrue(f11 is F11); |
| 554 Expect.isTrue(confuse(f11) is F11); | 534 Expect.isTrue(confuse(f11) is F11); |
| 555 // In checked mode, verifies the type. | 535 // In checked mode, verifies the type. |
| 556 core.List<core.int> Function({int x}) Function<B extends core.int>() l11; | 536 core.List<core.int> Function({int x}) Function<B extends core.int>() l11; |
| 557 // The static function f11 sets `T` to `int`. | 537 // The static function f11 sets `T` to `int`. |
| 558 if (!tIsBool) { | 538 if (!tIsBool) { |
| 559 x11 = f11 as dynamic; | 539 x11 = f11 as dynamic; |
| 560 l11 = f11 as dynamic; | 540 l11 = f11 as dynamic; |
| 561 x11 = confuse(f11); | 541 x11 = confuse(f11); |
| 562 l11 = confuse(f11); | 542 l11 = confuse(f11); |
| 563 } | 543 } |
| 564 | 544 |
| 565 Expect.isTrue(m11 is F11); | 545 Expect.isTrue(m11 is F11); |
| 566 Expect.isTrue(m11 is core.List<core.int> Function( | 546 Expect.isTrue(m11 is core.List<core.int> Function({int x}) |
| 567 {int x}) Function<B extends core.int>()); | 547 Function<B extends core.int>()); |
| 568 Expect.isTrue(confuse(m11) is F11); | 548 Expect.isTrue(confuse(m11) is F11); |
| 569 // In checked mode, verifies the type. | 549 // In checked mode, verifies the type. |
| 570 x11 = m11; | 550 x11 = m11; |
| 571 l11 = m11; | 551 l11 = m11; |
| 572 x11 = confuse(m11); | 552 x11 = confuse(m11); |
| 573 l11 = confuse(m11); | 553 l11 = confuse(m11); |
| 574 } | 554 } |
| 575 | 555 |
| 576 /// core.List<core.int> Function(core.List<core.int> x) Function<B extends cor
e.int>() | 556 /// core.List<core.int> Function(core.List<core.int> x) Function<B extends cor
e.int>() |
| 577 void testF12() { | 557 void testF12() { |
| 578 Expect.isTrue(f12 is F12); | 558 Expect.isTrue(f12 is F12); |
| 579 Expect.isTrue(confuse(f12) is F12); | 559 Expect.isTrue(confuse(f12) is F12); |
| 580 // In checked mode, verifies the type. | 560 // In checked mode, verifies the type. |
| 581 core.List<core.int> Function( | 561 core.List<core.int> Function(core.List<core.int> x) |
| 582 core.List<core.int> x) Function<B extends core.int>() l12; | 562 Function<B extends core.int>() l12; |
| 583 // The static function f12 sets `T` to `int`. | 563 // The static function f12 sets `T` to `int`. |
| 584 if (!tIsBool) { | 564 if (!tIsBool) { |
| 585 x12 = f12 as dynamic; | 565 x12 = f12 as dynamic; |
| 586 l12 = f12 as dynamic; | 566 l12 = f12 as dynamic; |
| 587 x12 = confuse(f12); | 567 x12 = confuse(f12); |
| 588 l12 = confuse(f12); | 568 l12 = confuse(f12); |
| 589 } | 569 } |
| 590 | 570 |
| 591 Expect.isTrue(m12 is F12); | 571 Expect.isTrue(m12 is F12); |
| 592 Expect.isTrue(m12 is core.List<core.int> Function( | 572 Expect.isTrue(m12 is core.List<core.int> Function(core.List<core.int> x) |
| 593 core.List<core.int> x) Function<B extends core.int>()); | 573 Function<B extends core.int>()); |
| 594 Expect.isTrue(confuse(m12) is F12); | 574 Expect.isTrue(confuse(m12) is F12); |
| 595 // In checked mode, verifies the type. | 575 // In checked mode, verifies the type. |
| 596 x12 = m12; | 576 x12 = m12; |
| 597 l12 = m12; | 577 l12 = m12; |
| 598 x12 = confuse(m12); | 578 x12 = confuse(m12); |
| 599 l12 = confuse(m12); | 579 l12 = confuse(m12); |
| 600 } | 580 } |
| 601 | 581 |
| 602 /// List<T> Function(int x1, [int x]) Function<B extends core.int>() | 582 /// List<T> Function(int x1, [int x]) Function<B extends core.int>() |
| 603 void testF13() { | 583 void testF13() { |
| 604 Expect.isTrue(f13 is F13); | 584 Expect.isTrue(f13 is F13); |
| 605 Expect.isTrue(confuse(f13) is F13); | 585 Expect.isTrue(confuse(f13) is F13); |
| 606 // In checked mode, verifies the type. | 586 // In checked mode, verifies the type. |
| 607 List<T> Function(int x1, [int x]) Function<B extends core.int>() l13; | 587 List<T> Function(int x1, [int x]) Function<B extends core.int>() l13; |
| 608 // The static function f13 sets `T` to `int`. | 588 // The static function f13 sets `T` to `int`. |
| 609 if (!tIsBool) { | 589 if (!tIsBool) { |
| 610 x13 = f13 as dynamic; | 590 x13 = f13 as dynamic; |
| 611 l13 = f13 as dynamic; | 591 l13 = f13 as dynamic; |
| 612 x13 = confuse(f13); | 592 x13 = confuse(f13); |
| 613 l13 = confuse(f13); | 593 l13 = confuse(f13); |
| 614 } | 594 } |
| 615 | 595 |
| 616 Expect.isTrue(m13 is F13); | 596 Expect.isTrue(m13 is F13); |
| 617 Expect.isTrue(m13 is List<T> Function(int x1, | 597 Expect.isTrue(m13 is List<T> Function(int x1, [int x]) |
| 618 [int x]) Function<B extends core.int>()); | 598 Function<B extends core.int>()); |
| 619 Expect.isTrue(confuse(m13) is F13); | 599 Expect.isTrue(confuse(m13) is F13); |
| 620 // In checked mode, verifies the type. | 600 // In checked mode, verifies the type. |
| 621 x13 = m13; | 601 x13 = m13; |
| 622 l13 = m13; | 602 l13 = m13; |
| 623 x13 = confuse(m13); | 603 x13 = confuse(m13); |
| 624 l13 = confuse(m13); | 604 l13 = confuse(m13); |
| 625 if (!tIsBool) { | 605 if (!tIsBool) { |
| 626 Expect.isTrue(f13 is F13<int>); | 606 Expect.isTrue(f13 is F13<int>); |
| 627 Expect.isFalse(f13 is F13<bool>); | 607 Expect.isFalse(f13 is F13<bool>); |
| 628 Expect.isTrue(confuse(f13) is F13<int>); | 608 Expect.isTrue(confuse(f13) is F13<int>); |
| 629 Expect.isFalse(confuse(f13) is F13<bool>); | 609 Expect.isFalse(confuse(f13) is F13<bool>); |
| 630 Expect.equals(tIsDynamic, m13 is F13<bool>); | 610 Expect.equals(tIsDynamic, m13 is F13<bool>); |
| 631 Expect.equals(tIsDynamic, confuse(m13) is F13<bool>); | 611 Expect.equals(tIsDynamic, confuse(m13) is F13<bool>); |
| 632 } else { | 612 } else { |
| 633 if (inCheckedMode) { | 613 if (typeAssertionsEnabled) { |
| 634 Expect.throws(() { | 614 Expect.throws(() { |
| 635 x13 = (f13 as dynamic); | 615 x13 = (f13 as dynamic); |
| 636 }); | 616 }); |
| 637 Expect.throws(() { | 617 Expect.throws(() { |
| 638 x13 = confuse(f13); | 618 x13 = confuse(f13); |
| 639 }); | 619 }); |
| 640 List<T> Function(int x1, [int x]) Function<B extends core.int>() l13; | 620 List<T> Function(int x1, [int x]) Function<B extends core.int>() l13; |
| 641 Expect.throws(() { | 621 Expect.throws(() { |
| 642 l13 = (f13 as dynamic); | 622 l13 = (f13 as dynamic); |
| 643 }); | 623 }); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 661 List<T> Function([List<Function> x1]) Function<B extends core.int>() l14; | 641 List<T> Function([List<Function> x1]) Function<B extends core.int>() l14; |
| 662 // The static function f14 sets `T` to `int`. | 642 // The static function f14 sets `T` to `int`. |
| 663 if (!tIsBool) { | 643 if (!tIsBool) { |
| 664 x14 = f14 as dynamic; | 644 x14 = f14 as dynamic; |
| 665 l14 = f14 as dynamic; | 645 l14 = f14 as dynamic; |
| 666 x14 = confuse(f14); | 646 x14 = confuse(f14); |
| 667 l14 = confuse(f14); | 647 l14 = confuse(f14); |
| 668 } | 648 } |
| 669 | 649 |
| 670 Expect.isTrue(m14 is F14); | 650 Expect.isTrue(m14 is F14); |
| 671 Expect.isTrue(m14 is List<T> Function( | 651 Expect.isTrue(m14 is List<T> Function([List<Function> x1]) |
| 672 [List<Function> x1]) Function<B extends core.int>()); | 652 Function<B extends core.int>()); |
| 673 Expect.isTrue(confuse(m14) is F14); | 653 Expect.isTrue(confuse(m14) is F14); |
| 674 // In checked mode, verifies the type. | 654 // In checked mode, verifies the type. |
| 675 x14 = m14; | 655 x14 = m14; |
| 676 l14 = m14; | 656 l14 = m14; |
| 677 x14 = confuse(m14); | 657 x14 = confuse(m14); |
| 678 l14 = confuse(m14); | 658 l14 = confuse(m14); |
| 679 if (!tIsBool) { | 659 if (!tIsBool) { |
| 680 Expect.isTrue(f14 is F14<int>); | 660 Expect.isTrue(f14 is F14<int>); |
| 681 Expect.isFalse(f14 is F14<bool>); | 661 Expect.isFalse(f14 is F14<bool>); |
| 682 Expect.isTrue(confuse(f14) is F14<int>); | 662 Expect.isTrue(confuse(f14) is F14<int>); |
| 683 Expect.isFalse(confuse(f14) is F14<bool>); | 663 Expect.isFalse(confuse(f14) is F14<bool>); |
| 684 Expect.equals(tIsDynamic, m14 is F14<bool>); | 664 Expect.equals(tIsDynamic, m14 is F14<bool>); |
| 685 Expect.equals(tIsDynamic, confuse(m14) is F14<bool>); | 665 Expect.equals(tIsDynamic, confuse(m14) is F14<bool>); |
| 686 } else { | 666 } else { |
| 687 if (inCheckedMode) { | 667 if (typeAssertionsEnabled) { |
| 688 Expect.throws(() { | 668 Expect.throws(() { |
| 689 x14 = (f14 as dynamic); | 669 x14 = (f14 as dynamic); |
| 690 }); | 670 }); |
| 691 Expect.throws(() { | 671 Expect.throws(() { |
| 692 x14 = confuse(f14); | 672 x14 = confuse(f14); |
| 693 }); | 673 }); |
| 694 List<T> Function([List<Function> x1]) Function<B extends core.int>() | 674 List<T> Function([List<Function> x1]) Function<B extends core.int>() |
| 695 l14; | 675 l14; |
| 696 Expect.throws(() { | 676 Expect.throws(() { |
| 697 l14 = (f14 as dynamic); | 677 l14 = (f14 as dynamic); |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 732 x15 = confuse(m15); | 712 x15 = confuse(m15); |
| 733 l15 = confuse(m15); | 713 l15 = confuse(m15); |
| 734 if (!tIsBool) { | 714 if (!tIsBool) { |
| 735 Expect.isTrue(f15 is F15<int>); | 715 Expect.isTrue(f15 is F15<int>); |
| 736 Expect.isFalse(f15 is F15<bool>); | 716 Expect.isFalse(f15 is F15<bool>); |
| 737 Expect.isTrue(confuse(f15) is F15<int>); | 717 Expect.isTrue(confuse(f15) is F15<int>); |
| 738 Expect.isFalse(confuse(f15) is F15<bool>); | 718 Expect.isFalse(confuse(f15) is F15<bool>); |
| 739 Expect.equals(tIsDynamic, m15 is F15<bool>); | 719 Expect.equals(tIsDynamic, m15 is F15<bool>); |
| 740 Expect.equals(tIsDynamic, confuse(m15) is F15<bool>); | 720 Expect.equals(tIsDynamic, confuse(m15) is F15<bool>); |
| 741 } else { | 721 } else { |
| 742 if (inCheckedMode) { | 722 if (typeAssertionsEnabled) { |
| 743 Expect.throws(() { | 723 Expect.throws(() { |
| 744 x15 = (f15 as dynamic); | 724 x15 = (f15 as dynamic); |
| 745 }); | 725 }); |
| 746 Expect.throws(() { | 726 Expect.throws(() { |
| 747 x15 = confuse(f15); | 727 x15 = confuse(f15); |
| 748 }); | 728 }); |
| 749 List<T> Function({List<T> x}) Function<B extends core.int>() l15; | 729 List<T> Function({List<T> x}) Function<B extends core.int>() l15; |
| 750 Expect.throws(() { | 730 Expect.throws(() { |
| 751 l15 = (f15 as dynamic); | 731 l15 = (f15 as dynamic); |
| 752 }); | 732 }); |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 810 x17 = confuse(m17); | 790 x17 = confuse(m17); |
| 811 l17 = confuse(m17); | 791 l17 = confuse(m17); |
| 812 if (!tIsBool) { | 792 if (!tIsBool) { |
| 813 Expect.isTrue(f17 is F17<int>); | 793 Expect.isTrue(f17 is F17<int>); |
| 814 Expect.isFalse(f17 is F17<bool>); | 794 Expect.isFalse(f17 is F17<bool>); |
| 815 Expect.isTrue(confuse(f17) is F17<int>); | 795 Expect.isTrue(confuse(f17) is F17<int>); |
| 816 Expect.isFalse(confuse(f17) is F17<bool>); | 796 Expect.isFalse(confuse(f17) is F17<bool>); |
| 817 Expect.equals(tIsDynamic, m17 is F17<bool>); | 797 Expect.equals(tIsDynamic, m17 is F17<bool>); |
| 818 Expect.equals(tIsDynamic, confuse(m17) is F17<bool>); | 798 Expect.equals(tIsDynamic, confuse(m17) is F17<bool>); |
| 819 } else { | 799 } else { |
| 820 if (inCheckedMode) { | 800 if (typeAssertionsEnabled) { |
| 821 Expect.throws(() { | 801 Expect.throws(() { |
| 822 x17 = (f17 as dynamic); | 802 x17 = (f17 as dynamic); |
| 823 }); | 803 }); |
| 824 Expect.throws(() { | 804 Expect.throws(() { |
| 825 x17 = confuse(f17); | 805 x17 = confuse(f17); |
| 826 }); | 806 }); |
| 827 Function(int x1, [List<T> x]) Function<B extends core.int>() l17; | 807 Function(int x1, [List<T> x]) Function<B extends core.int>() l17; |
| 828 Expect.throws(() { | 808 Expect.throws(() { |
| 829 l17 = (f17 as dynamic); | 809 l17 = (f17 as dynamic); |
| 830 }); | 810 }); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 862 l18 = m18; | 842 l18 = m18; |
| 863 x18 = confuse(m18); | 843 x18 = confuse(m18); |
| 864 l18 = confuse(m18); | 844 l18 = confuse(m18); |
| 865 } | 845 } |
| 866 | 846 |
| 867 /// void Function(int x, [core.List<core.int> x1]) Function<B extends core.int
>() | 847 /// void Function(int x, [core.List<core.int> x1]) Function<B extends core.int
>() |
| 868 void testF19() { | 848 void testF19() { |
| 869 Expect.isTrue(f19 is F19); | 849 Expect.isTrue(f19 is F19); |
| 870 Expect.isTrue(confuse(f19) is F19); | 850 Expect.isTrue(confuse(f19) is F19); |
| 871 // In checked mode, verifies the type. | 851 // In checked mode, verifies the type. |
| 872 void Function(int x, | 852 void Function(int x, [core.List<core.int> x1]) |
| 873 [core.List<core.int> x1]) Function<B extends core.int>() l19; | 853 Function<B extends core.int>() l19; |
| 874 // The static function f19 sets `T` to `int`. | 854 // The static function f19 sets `T` to `int`. |
| 875 if (!tIsBool) { | 855 if (!tIsBool) { |
| 876 x19 = f19 as dynamic; | 856 x19 = f19 as dynamic; |
| 877 l19 = f19 as dynamic; | 857 l19 = f19 as dynamic; |
| 878 x19 = confuse(f19); | 858 x19 = confuse(f19); |
| 879 l19 = confuse(f19); | 859 l19 = confuse(f19); |
| 880 } | 860 } |
| 881 | 861 |
| 882 Expect.isTrue(m19 is F19); | 862 Expect.isTrue(m19 is F19); |
| 883 Expect.isTrue(m19 is void Function(int x, | 863 Expect.isTrue(m19 is void Function(int x, [core.List<core.int> x1]) |
| 884 [core.List<core.int> x1]) Function<B extends core.int>()); | 864 Function<B extends core.int>()); |
| 885 Expect.isTrue(confuse(m19) is F19); | 865 Expect.isTrue(confuse(m19) is F19); |
| 886 // In checked mode, verifies the type. | 866 // In checked mode, verifies the type. |
| 887 x19 = m19; | 867 x19 = m19; |
| 888 l19 = m19; | 868 l19 = m19; |
| 889 x19 = confuse(m19); | 869 x19 = confuse(m19); |
| 890 l19 = confuse(m19); | 870 l19 = confuse(m19); |
| 891 } | 871 } |
| 892 | 872 |
| 893 /// Function Function<A>(Function x) Function<B extends core.int>() | 873 /// Function Function<A>(Function x) Function<B extends core.int>() |
| 894 void testF20() { | 874 void testF20() { |
| (...skipping 28 matching lines...) Expand all Loading... |
| 923 List<T> Function<A>(List<Function> x) Function<B extends core.int>() l21; | 903 List<T> Function<A>(List<Function> x) Function<B extends core.int>() l21; |
| 924 // The static function f21 sets `T` to `int`. | 904 // The static function f21 sets `T` to `int`. |
| 925 if (!tIsBool) { | 905 if (!tIsBool) { |
| 926 x21 = f21 as dynamic; | 906 x21 = f21 as dynamic; |
| 927 l21 = f21 as dynamic; | 907 l21 = f21 as dynamic; |
| 928 x21 = confuse(f21); | 908 x21 = confuse(f21); |
| 929 l21 = confuse(f21); | 909 l21 = confuse(f21); |
| 930 } | 910 } |
| 931 | 911 |
| 932 Expect.isTrue(m21 is F21); | 912 Expect.isTrue(m21 is F21); |
| 933 Expect.isTrue(m21 is List<T> Function<A>( | 913 Expect.isTrue(m21 is List<T> Function<A>(List<Function> x) |
| 934 List<Function> x) Function<B extends core.int>()); | 914 Function<B extends core.int>()); |
| 935 Expect.isTrue(confuse(m21) is F21); | 915 Expect.isTrue(confuse(m21) is F21); |
| 936 // In checked mode, verifies the type. | 916 // In checked mode, verifies the type. |
| 937 x21 = m21; | 917 x21 = m21; |
| 938 l21 = m21; | 918 l21 = m21; |
| 939 x21 = confuse(m21); | 919 x21 = confuse(m21); |
| 940 l21 = confuse(m21); | 920 l21 = confuse(m21); |
| 941 if (!tIsBool) { | 921 if (!tIsBool) { |
| 942 Expect.isTrue(f21 is F21<int>); | 922 Expect.isTrue(f21 is F21<int>); |
| 943 Expect.isFalse(f21 is F21<bool>); | 923 Expect.isFalse(f21 is F21<bool>); |
| 944 Expect.isTrue(confuse(f21) is F21<int>); | 924 Expect.isTrue(confuse(f21) is F21<int>); |
| 945 Expect.isFalse(confuse(f21) is F21<bool>); | 925 Expect.isFalse(confuse(f21) is F21<bool>); |
| 946 Expect.equals(tIsDynamic, m21 is F21<bool>); | 926 Expect.equals(tIsDynamic, m21 is F21<bool>); |
| 947 Expect.equals(tIsDynamic, confuse(m21) is F21<bool>); | 927 Expect.equals(tIsDynamic, confuse(m21) is F21<bool>); |
| 948 } else { | 928 } else { |
| 949 if (inCheckedMode) { | 929 if (typeAssertionsEnabled) { |
| 950 Expect.throws(() { | 930 Expect.throws(() { |
| 951 x21 = (f21 as dynamic); | 931 x21 = (f21 as dynamic); |
| 952 }); | 932 }); |
| 953 Expect.throws(() { | 933 Expect.throws(() { |
| 954 x21 = confuse(f21); | 934 x21 = confuse(f21); |
| 955 }); | 935 }); |
| 956 List<T> Function<A>(List<Function> x) Function<B extends core.int>() | 936 List<T> Function<A>(List<Function> x) Function<B extends core.int>() |
| 957 l21; | 937 l21; |
| 958 Expect.throws(() { | 938 Expect.throws(() { |
| 959 l21 = (f21 as dynamic); | 939 l21 = (f21 as dynamic); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 979 l22; | 959 l22; |
| 980 // The static function f22 sets `T` to `int`. | 960 // The static function f22 sets `T` to `int`. |
| 981 if (!tIsBool) { | 961 if (!tIsBool) { |
| 982 x22 = f22 as dynamic; | 962 x22 = f22 as dynamic; |
| 983 l22 = f22 as dynamic; | 963 l22 = f22 as dynamic; |
| 984 x22 = confuse(f22); | 964 x22 = confuse(f22); |
| 985 l22 = confuse(f22); | 965 l22 = confuse(f22); |
| 986 } | 966 } |
| 987 | 967 |
| 988 Expect.isTrue(m22 is F22); | 968 Expect.isTrue(m22 is F22); |
| 989 Expect.isTrue(m22 is List<A> Function<A>( | 969 Expect.isTrue(m22 is List<A> Function<A>(core.List<core.int> x) |
| 990 core.List<core.int> x) Function<B extends core.int>()); | 970 Function<B extends core.int>()); |
| 991 Expect.isTrue(confuse(m22) is F22); | 971 Expect.isTrue(confuse(m22) is F22); |
| 992 // In checked mode, verifies the type. | 972 // In checked mode, verifies the type. |
| 993 x22 = m22; | 973 x22 = m22; |
| 994 l22 = m22; | 974 l22 = m22; |
| 995 x22 = confuse(m22); | 975 x22 = confuse(m22); |
| 996 l22 = confuse(m22); | 976 l22 = confuse(m22); |
| 997 } | 977 } |
| 998 } | 978 } |
| 999 | 979 |
| 1000 void main() { | 980 void main() { |
| 1001 new U70().runTests(); | 981 new U70().runTests(); |
| 1002 new U70<int>(tIsInt: true).runTests(); | 982 new U70<int>(tIsInt: true).runTests(); |
| 1003 new U70<bool>(tIsBool: true).runTests(); | 983 new U70<bool>(tIsBool: true).runTests(); |
| 1004 } | 984 } |
| OLD | NEW |