| 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> = int Function(int x, [List<Function> x2]); |
| 23 bool result = false; | 23 typedef F1<T> = List<Function> Function(int x1, [Function x2]); |
| 24 assert(result = true); | 24 typedef F2<T> = List<T> Function([int x1]); |
| 25 return result; | 25 typedef F3<T> = Function([List<T> x1]); |
| 26 })(); | 26 typedef F4<T> = List<T> Function<A>(); |
| 27 | 27 typedef F5<T> = int Function([Function x1]) Function(int x); |
| 28 typedef F0<T> | 28 typedef F6<T> = int Function({core.List<core.int> x}) Function(int x); |
| 29 = int Function(int x, [List<Function> x2]); | 29 typedef F7<T> = Function Function(int y, {int x}) Function(int x); |
| 30 typedef F1<T> | 30 typedef F8<T> = Function Function(int x1, [core.List<core.int> x]) Function( |
| 31 = List<Function> Function(int x1, [Function x2]); | 31 int x); |
| 32 typedef F2<T> | 32 typedef F9<T> = List<Function> Function(int x1) Function(int x); |
| 33 = List<T> Function([int x1]); | 33 typedef F10<T> = List<Function> Function(int x, [List<Function> x1]) Function( |
| 34 typedef F3<T> | 34 int x); |
| 35 = Function([List<T> x1]); | 35 typedef F11<T> = List<Function> Function(int y, {List<T> x}) Function(int x); |
| 36 typedef F4<T> | 36 typedef F12<T> = core.List<core.int> Function([List<Function> x]) Function( |
| 37 = List<T> Function<A>(); | 37 int x); |
| 38 typedef F5<T> | 38 typedef F13<T> = core.List<core.int> Function(List<T> x1) Function(int x); |
| 39 = int Function([Function x1]) Function(int x); | 39 typedef F14<T> = List<T> Function(int x2, [Function x3]) Function(int x); |
| 40 typedef F6<T> | 40 typedef F15<T> = List<T> Function(int x1, {core.List<core.int> x}) Function( |
| 41 = int Function({core.List<core.int> x}) Function(int x); | 41 int x); |
| 42 typedef F7<T> | 42 typedef F16<T> = Function(Function x) Function(int x); |
| 43 = Function Function(int y, {int x}) Function(int x); | 43 typedef F17<T> = Function(int y, [core.List<core.int> x]) Function(int x); |
| 44 typedef F8<T> | 44 typedef F18<T> = void Function([int x1]) Function(int x); |
| 45 = Function Function(int x1, [core.List<core.int> x]) Function(int x); | 45 typedef F19<T> = void Function({List<Function> x}) Function(int x); |
| 46 typedef F9<T> | 46 typedef F20<T> = void Function() Function(int x); |
| 47 = List<Function> Function(int x1) Function(int x); | 47 typedef F21<T> = core.List<core.int> Function<A>(int x) Function(int x); |
| 48 typedef F10<T> | 48 typedef F22<T> = A Function<A>(Function x) Function(int x); |
| 49 = List<Function> Function(int x, [List<Function> x1]) Function(int x); | 49 typedef F23<T> = List<T> Function(B x) Function<B extends core.int>(int x); |
| 50 typedef F11<T> | |
| 51 = List<Function> Function(int y, {List<T> x}) Function(int x); | |
| 52 typedef F12<T> | |
| 53 = core.List<core.int> Function([List<Function> x]) Function(int x); | |
| 54 typedef F13<T> | |
| 55 = core.List<core.int> Function(List<T> x1) Function(int x); | |
| 56 typedef F14<T> | |
| 57 = List<T> Function(int x2, [Function x3]) Function(int x); | |
| 58 typedef F15<T> | |
| 59 = List<T> Function(int x1, {core.List<core.int> x}) Function(int x); | |
| 60 typedef F16<T> | |
| 61 = Function(Function x) Function(int x); | |
| 62 typedef F17<T> | |
| 63 = Function(int y, [core.List<core.int> x]) Function(int x); | |
| 64 typedef F18<T> | |
| 65 = void Function([int x1]) Function(int x); | |
| 66 typedef F19<T> | |
| 67 = void Function({List<Function> x}) Function(int x); | |
| 68 typedef F20<T> | |
| 69 = void Function() Function(int x); | |
| 70 typedef F21<T> | |
| 71 = core.List<core.int> Function<A>(int x) Function(int x); | |
| 72 typedef F22<T> | |
| 73 = A Function<A>(Function x) Function(int x); | |
| 74 typedef F23<T> | |
| 75 = List<T> Function(B x) Function<B extends core.int>(int x); | |
| 76 | 50 |
| 77 int f0(int x, [List<Function> x0]) => null; | 51 int f0(int x, [List<Function> x0]) => null; |
| 78 List<Function> f1(int x0, [Function x1]) => null; | 52 List<Function> f1(int x0, [Function x1]) => null; |
| 79 List<int> f2([int x0]) => null; | 53 List<int> f2([int x0]) => null; |
| 80 f3([List<int> x0]) => null; | 54 f3([List<int> x0]) => null; |
| 81 List<int> f4<A>() => null; | 55 List<int> f4<A>() => null; |
| 82 int Function([Function x0]) f5(int x) => null; | 56 int Function([Function x0]) f5(int x) => null; |
| 83 int Function({core.List<core.int> x}) f6(int x) => null; | 57 int Function({core.List<core.int> x}) f6(int x) => null; |
| 84 Function Function(int y, {int x}) f7(int x) => null; | 58 Function Function(int y, {int x}) f7(int x) => null; |
| 85 Function Function(int x0, [core.List<core.int> x]) f8(int x) => null; | 59 Function Function(int x0, [core.List<core.int> x]) f8(int x) => null; |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 255 x2 = confuse(m2); | 229 x2 = confuse(m2); |
| 256 l2 = confuse(m2); | 230 l2 = confuse(m2); |
| 257 if (!tIsBool) { | 231 if (!tIsBool) { |
| 258 Expect.isTrue(f2 is F2<int>); | 232 Expect.isTrue(f2 is F2<int>); |
| 259 Expect.isFalse(f2 is F2<bool>); | 233 Expect.isFalse(f2 is F2<bool>); |
| 260 Expect.isTrue(confuse(f2) is F2<int>); | 234 Expect.isTrue(confuse(f2) is F2<int>); |
| 261 Expect.isFalse(confuse(f2) is F2<bool>); | 235 Expect.isFalse(confuse(f2) is F2<bool>); |
| 262 Expect.equals(tIsDynamic, m2 is F2<bool>); | 236 Expect.equals(tIsDynamic, m2 is F2<bool>); |
| 263 Expect.equals(tIsDynamic, confuse(m2) is F2<bool>); | 237 Expect.equals(tIsDynamic, confuse(m2) is F2<bool>); |
| 264 } else { | 238 } else { |
| 265 if (inCheckedMode) { | 239 if (typeAssertionsEnabled) { |
| 266 Expect.throws(() { | 240 Expect.throws(() { |
| 267 x2 = (f2 as dynamic); | 241 x2 = (f2 as dynamic); |
| 268 }); | 242 }); |
| 269 Expect.throws(() { | 243 Expect.throws(() { |
| 270 x2 = confuse(f2); | 244 x2 = confuse(f2); |
| 271 }); | 245 }); |
| 272 List<T> Function([int x1]) l2; | 246 List<T> Function([int x1]) l2; |
| 273 Expect.throws(() { | 247 Expect.throws(() { |
| 274 l2 = (f2 as dynamic); | 248 l2 = (f2 as dynamic); |
| 275 }); | 249 }); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 307 x3 = confuse(m3); | 281 x3 = confuse(m3); |
| 308 l3 = confuse(m3); | 282 l3 = confuse(m3); |
| 309 if (!tIsBool) { | 283 if (!tIsBool) { |
| 310 Expect.isTrue(f3 is F3<int>); | 284 Expect.isTrue(f3 is F3<int>); |
| 311 Expect.isFalse(f3 is F3<bool>); | 285 Expect.isFalse(f3 is F3<bool>); |
| 312 Expect.isTrue(confuse(f3) is F3<int>); | 286 Expect.isTrue(confuse(f3) is F3<int>); |
| 313 Expect.isFalse(confuse(f3) is F3<bool>); | 287 Expect.isFalse(confuse(f3) is F3<bool>); |
| 314 Expect.equals(tIsDynamic, m3 is F3<bool>); | 288 Expect.equals(tIsDynamic, m3 is F3<bool>); |
| 315 Expect.equals(tIsDynamic, confuse(m3) is F3<bool>); | 289 Expect.equals(tIsDynamic, confuse(m3) is F3<bool>); |
| 316 } else { | 290 } else { |
| 317 if (inCheckedMode) { | 291 if (typeAssertionsEnabled) { |
| 318 Expect.throws(() { | 292 Expect.throws(() { |
| 319 x3 = (f3 as dynamic); | 293 x3 = (f3 as dynamic); |
| 320 }); | 294 }); |
| 321 Expect.throws(() { | 295 Expect.throws(() { |
| 322 x3 = confuse(f3); | 296 x3 = confuse(f3); |
| 323 }); | 297 }); |
| 324 Function([List<T> x1]) l3; | 298 Function([List<T> x1]) l3; |
| 325 Expect.throws(() { | 299 Expect.throws(() { |
| 326 l3 = (f3 as dynamic); | 300 l3 = (f3 as dynamic); |
| 327 }); | 301 }); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 359 x4 = confuse(m4); | 333 x4 = confuse(m4); |
| 360 l4 = confuse(m4); | 334 l4 = confuse(m4); |
| 361 if (!tIsBool) { | 335 if (!tIsBool) { |
| 362 Expect.isTrue(f4 is F4<int>); | 336 Expect.isTrue(f4 is F4<int>); |
| 363 Expect.isFalse(f4 is F4<bool>); | 337 Expect.isFalse(f4 is F4<bool>); |
| 364 Expect.isTrue(confuse(f4) is F4<int>); | 338 Expect.isTrue(confuse(f4) is F4<int>); |
| 365 Expect.isFalse(confuse(f4) is F4<bool>); | 339 Expect.isFalse(confuse(f4) is F4<bool>); |
| 366 Expect.equals(tIsDynamic, m4 is F4<bool>); | 340 Expect.equals(tIsDynamic, m4 is F4<bool>); |
| 367 Expect.equals(tIsDynamic, confuse(m4) is F4<bool>); | 341 Expect.equals(tIsDynamic, confuse(m4) is F4<bool>); |
| 368 } else { | 342 } else { |
| 369 if (inCheckedMode) { | 343 if (typeAssertionsEnabled) { |
| 370 Expect.throws(() { | 344 Expect.throws(() { |
| 371 x4 = (f4 as dynamic); | 345 x4 = (f4 as dynamic); |
| 372 }); | 346 }); |
| 373 Expect.throws(() { | 347 Expect.throws(() { |
| 374 x4 = confuse(f4); | 348 x4 = confuse(f4); |
| 375 }); | 349 }); |
| 376 List<T> Function<A>() l4; | 350 List<T> Function<A>() l4; |
| 377 Expect.throws(() { | 351 Expect.throws(() { |
| 378 l4 = (f4 as dynamic); | 352 l4 = (f4 as dynamic); |
| 379 }); | 353 }); |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 468 Function Function(int x1, [core.List<core.int> x]) Function(int x) l8; | 442 Function Function(int x1, [core.List<core.int> x]) Function(int x) l8; |
| 469 // The static function f8 sets `T` to `int`. | 443 // The static function f8 sets `T` to `int`. |
| 470 if (!tIsBool) { | 444 if (!tIsBool) { |
| 471 x8 = f8 as dynamic; | 445 x8 = f8 as dynamic; |
| 472 l8 = f8 as dynamic; | 446 l8 = f8 as dynamic; |
| 473 x8 = confuse(f8); | 447 x8 = confuse(f8); |
| 474 l8 = confuse(f8); | 448 l8 = confuse(f8); |
| 475 } | 449 } |
| 476 | 450 |
| 477 Expect.isTrue(m8 is F8); | 451 Expect.isTrue(m8 is F8); |
| 478 Expect.isTrue(m8 is Function Function(int x1, | 452 Expect.isTrue(m8 is Function Function(int x1, [core.List<core.int> x]) |
| 479 [core.List<core.int> x]) Function(int x)); | 453 Function(int x)); |
| 480 Expect.isTrue(confuse(m8) is F8); | 454 Expect.isTrue(confuse(m8) is F8); |
| 481 // In checked mode, verifies the type. | 455 // In checked mode, verifies the type. |
| 482 x8 = m8; | 456 x8 = m8; |
| 483 l8 = m8; | 457 l8 = m8; |
| 484 x8 = confuse(m8); | 458 x8 = confuse(m8); |
| 485 l8 = confuse(m8); | 459 l8 = confuse(m8); |
| 486 } | 460 } |
| 487 | 461 |
| 488 /// List<Function> Function(int x1) Function(int x) | 462 /// List<Function> Function(int x1) Function(int x) |
| 489 void testF9() { | 463 void testF9() { |
| (...skipping 27 matching lines...) Expand all Loading... |
| 517 List<Function> Function(int x, [List<Function> x1]) Function(int x) l10; | 491 List<Function> Function(int x, [List<Function> x1]) Function(int x) l10; |
| 518 // The static function f10 sets `T` to `int`. | 492 // The static function f10 sets `T` to `int`. |
| 519 if (!tIsBool) { | 493 if (!tIsBool) { |
| 520 x10 = f10 as dynamic; | 494 x10 = f10 as dynamic; |
| 521 l10 = f10 as dynamic; | 495 l10 = f10 as dynamic; |
| 522 x10 = confuse(f10); | 496 x10 = confuse(f10); |
| 523 l10 = confuse(f10); | 497 l10 = confuse(f10); |
| 524 } | 498 } |
| 525 | 499 |
| 526 Expect.isTrue(m10 is F10); | 500 Expect.isTrue(m10 is F10); |
| 527 Expect.isTrue(m10 is List<Function> Function(int x, | 501 Expect.isTrue(m10 is List<Function> Function(int x, [List<Function> x1]) |
| 528 [List<Function> x1]) Function(int x)); | 502 Function(int x)); |
| 529 Expect.isTrue(confuse(m10) is F10); | 503 Expect.isTrue(confuse(m10) is F10); |
| 530 // In checked mode, verifies the type. | 504 // In checked mode, verifies the type. |
| 531 x10 = m10; | 505 x10 = m10; |
| 532 l10 = m10; | 506 l10 = m10; |
| 533 x10 = confuse(m10); | 507 x10 = confuse(m10); |
| 534 l10 = confuse(m10); | 508 l10 = confuse(m10); |
| 535 } | 509 } |
| 536 | 510 |
| 537 /// List<Function> Function(int y, {List<T> x}) Function(int x) | 511 /// List<Function> Function(int y, {List<T> x}) Function(int x) |
| 538 void testF11() { | 512 void testF11() { |
| (...skipping 19 matching lines...) Expand all Loading... |
| 558 x11 = confuse(m11); | 532 x11 = confuse(m11); |
| 559 l11 = confuse(m11); | 533 l11 = confuse(m11); |
| 560 if (!tIsBool) { | 534 if (!tIsBool) { |
| 561 Expect.isTrue(f11 is F11<int>); | 535 Expect.isTrue(f11 is F11<int>); |
| 562 Expect.isFalse(f11 is F11<bool>); | 536 Expect.isFalse(f11 is F11<bool>); |
| 563 Expect.isTrue(confuse(f11) is F11<int>); | 537 Expect.isTrue(confuse(f11) is F11<int>); |
| 564 Expect.isFalse(confuse(f11) is F11<bool>); | 538 Expect.isFalse(confuse(f11) is F11<bool>); |
| 565 Expect.equals(tIsDynamic, m11 is F11<bool>); | 539 Expect.equals(tIsDynamic, m11 is F11<bool>); |
| 566 Expect.equals(tIsDynamic, confuse(m11) is F11<bool>); | 540 Expect.equals(tIsDynamic, confuse(m11) is F11<bool>); |
| 567 } else { | 541 } else { |
| 568 if (inCheckedMode) { | 542 if (typeAssertionsEnabled) { |
| 569 Expect.throws(() { | 543 Expect.throws(() { |
| 570 x11 = (f11 as dynamic); | 544 x11 = (f11 as dynamic); |
| 571 }); | 545 }); |
| 572 Expect.throws(() { | 546 Expect.throws(() { |
| 573 x11 = confuse(f11); | 547 x11 = confuse(f11); |
| 574 }); | 548 }); |
| 575 List<Function> Function(int y, {List<T> x}) Function(int x) l11; | 549 List<Function> Function(int y, {List<T> x}) Function(int x) l11; |
| 576 Expect.throws(() { | 550 Expect.throws(() { |
| 577 l11 = (f11 as dynamic); | 551 l11 = (f11 as dynamic); |
| 578 }); | 552 }); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 595 core.List<core.int> Function([List<Function> x]) Function(int x) l12; | 569 core.List<core.int> Function([List<Function> x]) Function(int x) l12; |
| 596 // The static function f12 sets `T` to `int`. | 570 // The static function f12 sets `T` to `int`. |
| 597 if (!tIsBool) { | 571 if (!tIsBool) { |
| 598 x12 = f12 as dynamic; | 572 x12 = f12 as dynamic; |
| 599 l12 = f12 as dynamic; | 573 l12 = f12 as dynamic; |
| 600 x12 = confuse(f12); | 574 x12 = confuse(f12); |
| 601 l12 = confuse(f12); | 575 l12 = confuse(f12); |
| 602 } | 576 } |
| 603 | 577 |
| 604 Expect.isTrue(m12 is F12); | 578 Expect.isTrue(m12 is F12); |
| 605 Expect.isTrue(m12 is core.List<core.int> Function( | 579 Expect.isTrue(m12 is core.List<core.int> Function([List<Function> x]) |
| 606 [List<Function> x]) Function(int x)); | 580 Function(int x)); |
| 607 Expect.isTrue(confuse(m12) is F12); | 581 Expect.isTrue(confuse(m12) is F12); |
| 608 // In checked mode, verifies the type. | 582 // In checked mode, verifies the type. |
| 609 x12 = m12; | 583 x12 = m12; |
| 610 l12 = m12; | 584 l12 = m12; |
| 611 x12 = confuse(m12); | 585 x12 = confuse(m12); |
| 612 l12 = confuse(m12); | 586 l12 = confuse(m12); |
| 613 } | 587 } |
| 614 | 588 |
| 615 /// core.List<core.int> Function(List<T> x1) Function(int x) | 589 /// core.List<core.int> Function(List<T> x1) Function(int x) |
| 616 void testF13() { | 590 void testF13() { |
| (...skipping 19 matching lines...) Expand all Loading... |
| 636 x13 = confuse(m13); | 610 x13 = confuse(m13); |
| 637 l13 = confuse(m13); | 611 l13 = confuse(m13); |
| 638 if (!tIsBool) { | 612 if (!tIsBool) { |
| 639 Expect.isTrue(f13 is F13<int>); | 613 Expect.isTrue(f13 is F13<int>); |
| 640 Expect.isFalse(f13 is F13<bool>); | 614 Expect.isFalse(f13 is F13<bool>); |
| 641 Expect.isTrue(confuse(f13) is F13<int>); | 615 Expect.isTrue(confuse(f13) is F13<int>); |
| 642 Expect.isFalse(confuse(f13) is F13<bool>); | 616 Expect.isFalse(confuse(f13) is F13<bool>); |
| 643 Expect.equals(tIsDynamic, m13 is F13<bool>); | 617 Expect.equals(tIsDynamic, m13 is F13<bool>); |
| 644 Expect.equals(tIsDynamic, confuse(m13) is F13<bool>); | 618 Expect.equals(tIsDynamic, confuse(m13) is F13<bool>); |
| 645 } else { | 619 } else { |
| 646 if (inCheckedMode) { | 620 if (typeAssertionsEnabled) { |
| 647 Expect.throws(() { | 621 Expect.throws(() { |
| 648 x13 = (f13 as dynamic); | 622 x13 = (f13 as dynamic); |
| 649 }); | 623 }); |
| 650 Expect.throws(() { | 624 Expect.throws(() { |
| 651 x13 = confuse(f13); | 625 x13 = confuse(f13); |
| 652 }); | 626 }); |
| 653 core.List<core.int> Function(List<T> x1) Function(int x) l13; | 627 core.List<core.int> Function(List<T> x1) Function(int x) l13; |
| 654 Expect.throws(() { | 628 Expect.throws(() { |
| 655 l13 = (f13 as dynamic); | 629 l13 = (f13 as dynamic); |
| 656 }); | 630 }); |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 689 x14 = confuse(m14); | 663 x14 = confuse(m14); |
| 690 l14 = confuse(m14); | 664 l14 = confuse(m14); |
| 691 if (!tIsBool) { | 665 if (!tIsBool) { |
| 692 Expect.isTrue(f14 is F14<int>); | 666 Expect.isTrue(f14 is F14<int>); |
| 693 Expect.isFalse(f14 is F14<bool>); | 667 Expect.isFalse(f14 is F14<bool>); |
| 694 Expect.isTrue(confuse(f14) is F14<int>); | 668 Expect.isTrue(confuse(f14) is F14<int>); |
| 695 Expect.isFalse(confuse(f14) is F14<bool>); | 669 Expect.isFalse(confuse(f14) is F14<bool>); |
| 696 Expect.equals(tIsDynamic, m14 is F14<bool>); | 670 Expect.equals(tIsDynamic, m14 is F14<bool>); |
| 697 Expect.equals(tIsDynamic, confuse(m14) is F14<bool>); | 671 Expect.equals(tIsDynamic, confuse(m14) is F14<bool>); |
| 698 } else { | 672 } else { |
| 699 if (inCheckedMode) { | 673 if (typeAssertionsEnabled) { |
| 700 Expect.throws(() { | 674 Expect.throws(() { |
| 701 x14 = (f14 as dynamic); | 675 x14 = (f14 as dynamic); |
| 702 }); | 676 }); |
| 703 Expect.throws(() { | 677 Expect.throws(() { |
| 704 x14 = confuse(f14); | 678 x14 = confuse(f14); |
| 705 }); | 679 }); |
| 706 List<T> Function(int x2, [Function x3]) Function(int x) l14; | 680 List<T> Function(int x2, [Function x3]) Function(int x) l14; |
| 707 Expect.throws(() { | 681 Expect.throws(() { |
| 708 l14 = (f14 as dynamic); | 682 l14 = (f14 as dynamic); |
| 709 }); | 683 }); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 726 List<T> Function(int x1, {core.List<core.int> x}) Function(int x) l15; | 700 List<T> Function(int x1, {core.List<core.int> x}) Function(int x) l15; |
| 727 // The static function f15 sets `T` to `int`. | 701 // The static function f15 sets `T` to `int`. |
| 728 if (!tIsBool) { | 702 if (!tIsBool) { |
| 729 x15 = f15 as dynamic; | 703 x15 = f15 as dynamic; |
| 730 l15 = f15 as dynamic; | 704 l15 = f15 as dynamic; |
| 731 x15 = confuse(f15); | 705 x15 = confuse(f15); |
| 732 l15 = confuse(f15); | 706 l15 = confuse(f15); |
| 733 } | 707 } |
| 734 | 708 |
| 735 Expect.isTrue(m15 is F15); | 709 Expect.isTrue(m15 is F15); |
| 736 Expect.isTrue(m15 is List<T> Function(int x1, | 710 Expect.isTrue(m15 is List<T> Function(int x1, {core.List<core.int> x}) |
| 737 {core.List<core.int> x}) Function(int x)); | 711 Function(int x)); |
| 738 Expect.isTrue(confuse(m15) is F15); | 712 Expect.isTrue(confuse(m15) is F15); |
| 739 // In checked mode, verifies the type. | 713 // In checked mode, verifies the type. |
| 740 x15 = m15; | 714 x15 = m15; |
| 741 l15 = m15; | 715 l15 = m15; |
| 742 x15 = confuse(m15); | 716 x15 = confuse(m15); |
| 743 l15 = confuse(m15); | 717 l15 = confuse(m15); |
| 744 if (!tIsBool) { | 718 if (!tIsBool) { |
| 745 Expect.isTrue(f15 is F15<int>); | 719 Expect.isTrue(f15 is F15<int>); |
| 746 Expect.isFalse(f15 is F15<bool>); | 720 Expect.isFalse(f15 is F15<bool>); |
| 747 Expect.isTrue(confuse(f15) is F15<int>); | 721 Expect.isTrue(confuse(f15) is F15<int>); |
| 748 Expect.isFalse(confuse(f15) is F15<bool>); | 722 Expect.isFalse(confuse(f15) is F15<bool>); |
| 749 Expect.equals(tIsDynamic, m15 is F15<bool>); | 723 Expect.equals(tIsDynamic, m15 is F15<bool>); |
| 750 Expect.equals(tIsDynamic, confuse(m15) is F15<bool>); | 724 Expect.equals(tIsDynamic, confuse(m15) is F15<bool>); |
| 751 } else { | 725 } else { |
| 752 if (inCheckedMode) { | 726 if (typeAssertionsEnabled) { |
| 753 Expect.throws(() { | 727 Expect.throws(() { |
| 754 x15 = (f15 as dynamic); | 728 x15 = (f15 as dynamic); |
| 755 }); | 729 }); |
| 756 Expect.throws(() { | 730 Expect.throws(() { |
| 757 x15 = confuse(f15); | 731 x15 = confuse(f15); |
| 758 }); | 732 }); |
| 759 List<T> Function(int x1, {core.List<core.int> x}) Function(int x) l15; | 733 List<T> Function(int x1, {core.List<core.int> x}) Function(int x) l15; |
| 760 Expect.throws(() { | 734 Expect.throws(() { |
| 761 l15 = (f15 as dynamic); | 735 l15 = (f15 as dynamic); |
| 762 }); | 736 }); |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 966 x23 = confuse(m23); | 940 x23 = confuse(m23); |
| 967 l23 = confuse(m23); | 941 l23 = confuse(m23); |
| 968 if (!tIsBool) { | 942 if (!tIsBool) { |
| 969 Expect.isTrue(f23 is F23<int>); | 943 Expect.isTrue(f23 is F23<int>); |
| 970 Expect.isFalse(f23 is F23<bool>); | 944 Expect.isFalse(f23 is F23<bool>); |
| 971 Expect.isTrue(confuse(f23) is F23<int>); | 945 Expect.isTrue(confuse(f23) is F23<int>); |
| 972 Expect.isFalse(confuse(f23) is F23<bool>); | 946 Expect.isFalse(confuse(f23) is F23<bool>); |
| 973 Expect.equals(tIsDynamic, m23 is F23<bool>); | 947 Expect.equals(tIsDynamic, m23 is F23<bool>); |
| 974 Expect.equals(tIsDynamic, confuse(m23) is F23<bool>); | 948 Expect.equals(tIsDynamic, confuse(m23) is F23<bool>); |
| 975 } else { | 949 } else { |
| 976 if (inCheckedMode) { | 950 if (typeAssertionsEnabled) { |
| 977 Expect.throws(() { | 951 Expect.throws(() { |
| 978 x23 = (f23 as dynamic); | 952 x23 = (f23 as dynamic); |
| 979 }); | 953 }); |
| 980 Expect.throws(() { | 954 Expect.throws(() { |
| 981 x23 = confuse(f23); | 955 x23 = confuse(f23); |
| 982 }); | 956 }); |
| 983 List<T> Function(B x) Function<B extends core.int>(int x) l23; | 957 List<T> Function(B x) Function<B extends core.int>(int x) l23; |
| 984 Expect.throws(() { | 958 Expect.throws(() { |
| 985 l23 = (f23 as dynamic); | 959 l23 = (f23 as dynamic); |
| 986 }); | 960 }); |
| 987 Expect.throws(() { | 961 Expect.throws(() { |
| 988 l23 = confuse(f23); | 962 l23 = confuse(f23); |
| 989 }); | 963 }); |
| 990 } | 964 } |
| 991 List<T> Function(B x) Function<B extends core.int>(int x) l23 = m23; | 965 List<T> Function(B x) Function<B extends core.int>(int x) l23 = m23; |
| 992 // In checked mode, verifies the type. | 966 // In checked mode, verifies the type. |
| 993 x23 = m23; | 967 x23 = m23; |
| 994 x23 = confuse(m23); | 968 x23 = confuse(m23); |
| 995 } | 969 } |
| 996 } | 970 } |
| 997 } | 971 } |
| 998 | 972 |
| 999 void main() { | 973 void main() { |
| 1000 new U29().runTests(); | 974 new U29().runTests(); |
| 1001 new U29<int>(tIsInt: true).runTests(); | 975 new U29<int>(tIsInt: true).runTests(); |
| 1002 new U29<bool>(tIsBool: true).runTests(); | 976 new U29<bool>(tIsBool: true).runTests(); |
| 1003 } | 977 } |
| OLD | NEW |