-val* var340 /* : NativeArray[Object] */;
-val* var341 /* : String */;
-val* var342 /* : RuntimeVariable */;
-static val* varonce343;
-val* var344 /* : String */;
-char* var345 /* : NativeString */;
-long var346 /* : Int */;
-val* var347 /* : String */;
-short int var348 /* : Bool */;
-long var349 /* : Int */;
-val* var350 /* : nullable Object */;
-static val* varonce351;
-val* var352 /* : String */;
-char* var353 /* : NativeString */;
-long var354 /* : Int */;
-val* var355 /* : String */;
-long var356 /* : Int */;
-val* var357 /* : nullable Object */;
-val* var358 /* : Array[Object] */;
-long var359 /* : Int */;
-val* var360 /* : NativeArray[Object] */;
-val* var361 /* : String */;
-val* var362 /* : RuntimeVariable */;
-static val* varonce363;
-val* var364 /* : String */;
-char* var365 /* : NativeString */;
-long var366 /* : Int */;
-val* var367 /* : String */;
-short int var368 /* : Bool */;
-static val* varonce369;
-val* var370 /* : String */;
-char* var371 /* : NativeString */;
-long var372 /* : Int */;
-val* var373 /* : String */;
-long var374 /* : Int */;
-val* var375 /* : nullable Object */;
-val* var376 /* : Array[Object] */;
-long var377 /* : Int */;
-val* var378 /* : NativeArray[Object] */;
-val* var379 /* : String */;
-val* var380 /* : RuntimeVariable */;
-static val* varonce381;
-val* var382 /* : String */;
-char* var383 /* : NativeString */;
-long var384 /* : Int */;
-val* var385 /* : String */;
-short int var386 /* : Bool */;
-long var387 /* : Int */;
-val* var388 /* : nullable Object */;
-val* var389 /* : Array[Object] */;
-long var390 /* : Int */;
-val* var391 /* : NativeArray[Object] */;
-val* var392 /* : String */;
-val* var393 /* : RuntimeVariable */;
-static val* varonce394;
-val* var395 /* : String */;
-char* var396 /* : NativeString */;
-long var397 /* : Int */;
-val* var398 /* : String */;
-short int var399 /* : Bool */;
-static val* varonce400;
-val* var401 /* : String */;
-char* var402 /* : NativeString */;
-long var403 /* : Int */;
-val* var404 /* : String */;
-short int var405 /* : Bool */;
-static val* varonce406;
-val* var407 /* : String */;
-char* var408 /* : NativeString */;
-long var409 /* : Int */;
-val* var410 /* : String */;
-val* var411 /* : nullable Object */;
-static val* varonce412;
-val* var413 /* : String */;
-char* var414 /* : NativeString */;
-long var415 /* : Int */;
-val* var416 /* : String */;
-val* var417 /* : Array[Object] */;
-long var418 /* : Int */;
-val* var419 /* : NativeArray[Object] */;
-val* var420 /* : String */;
-static val* varonce421;
-val* var422 /* : String */;
-char* var423 /* : NativeString */;
-long var424 /* : Int */;
-val* var425 /* : String */;
-short int var426 /* : Bool */;
-static val* varonce427;
-val* var428 /* : String */;
-char* var429 /* : NativeString */;
-long var430 /* : Int */;
-val* var431 /* : String */;
-val* var432 /* : nullable Object */;
-val* var433 /* : Array[Object] */;
-long var434 /* : Int */;
-val* var435 /* : NativeArray[Object] */;
-val* var436 /* : String */;
-val* var437 /* : RuntimeVariable */;
-static val* varonce438;
-val* var439 /* : String */;
-char* var440 /* : NativeString */;
-long var441 /* : Int */;
-val* var442 /* : String */;
-short int var443 /* : Bool */;
-long var444 /* : Int */;
-val* var445 /* : nullable Object */;
-static val* varonce446;
-val* var447 /* : String */;
-char* var448 /* : NativeString */;
-long var449 /* : Int */;
-val* var450 /* : String */;
-long var451 /* : Int */;
-val* var452 /* : nullable Object */;
-val* var453 /* : Array[Object] */;
-long var454 /* : Int */;
-val* var455 /* : NativeArray[Object] */;
-val* var456 /* : String */;
-val* var457 /* : RuntimeVariable */;
-static val* varonce458;
-val* var459 /* : String */;
-char* var460 /* : NativeString */;
-long var461 /* : Int */;
-val* var462 /* : String */;
-short int var463 /* : Bool */;
-long var464 /* : Int */;
-val* var465 /* : nullable Object */;
-static val* varonce466;
-val* var467 /* : String */;
-char* var468 /* : NativeString */;
-long var469 /* : Int */;
-val* var470 /* : String */;
-long var471 /* : Int */;
-val* var472 /* : nullable Object */;
-val* var473 /* : Array[Object] */;
-long var474 /* : Int */;
-val* var475 /* : NativeArray[Object] */;
-val* var476 /* : String */;
-val* var477 /* : RuntimeVariable */;
-static val* varonce478;
-val* var479 /* : String */;
-char* var480 /* : NativeString */;
-long var481 /* : Int */;
-val* var482 /* : String */;
-short int var483 /* : Bool */;
-long var484 /* : Int */;
-val* var485 /* : nullable Object */;
-long var486 /* : Int */;
-val* var487 /* : nullable Object */;
-val* var488 /* : RuntimeVariable */;
-static val* varonce489;
-val* var490 /* : String */;
-char* var491 /* : NativeString */;
-long var492 /* : Int */;
-val* var493 /* : String */;
-short int var494 /* : Bool */;
-long var495 /* : Int */;
-val* var496 /* : nullable Object */;
-long var497 /* : Int */;
-val* var498 /* : nullable Object */;
-val* var499 /* : RuntimeVariable */;
-val* var_res500 /* var res: RuntimeVariable */;
-static val* varonce501;
-val* var502 /* : String */;
-char* var503 /* : NativeString */;
-long var504 /* : Int */;
-val* var505 /* : String */;
-val* var506 /* : Array[Object] */;
-long var507 /* : Int */;
-val* var508 /* : NativeArray[Object] */;
-val* var509 /* : String */;
-val* var510 /* : RuntimeVariable */;
-static val* varonce511;
-val* var512 /* : String */;
-char* var513 /* : NativeString */;
-long var514 /* : Int */;
-val* var515 /* : String */;
-short int var516 /* : Bool */;
-long var517 /* : Int */;
-val* var518 /* : nullable Object */;
-static val* varonce519;
-val* var520 /* : String */;
-char* var521 /* : NativeString */;
-long var522 /* : Int */;
-val* var523 /* : String */;
-val* var524 /* : Array[Object] */;
-long var525 /* : Int */;
-val* var526 /* : NativeArray[Object] */;
-val* var527 /* : String */;
-val* var528 /* : RuntimeVariable */;
-static val* varonce529;
-val* var530 /* : String */;
-char* var531 /* : NativeString */;
-long var532 /* : Int */;
-val* var533 /* : String */;
-short int var534 /* : Bool */;
-long var535 /* : Int */;
-val* var536 /* : nullable Object */;
-static val* varonce537;
-val* var538 /* : String */;
-char* var539 /* : NativeString */;
-long var540 /* : Int */;
-val* var541 /* : String */;
-val* var542 /* : Array[Object] */;
-long var543 /* : Int */;
-val* var544 /* : NativeArray[Object] */;
-val* var545 /* : String */;
-val* var546 /* : RuntimeVariable */;
-static val* varonce547;
-val* var548 /* : String */;
-char* var549 /* : NativeString */;
-long var550 /* : Int */;
-val* var551 /* : String */;
-short int var552 /* : Bool */;
-long var553 /* : Int */;
-val* var554 /* : nullable Object */;
-static val* varonce555;
-val* var556 /* : String */;
-char* var557 /* : NativeString */;
-long var558 /* : Int */;
-val* var559 /* : String */;
-long var560 /* : Int */;
-val* var561 /* : nullable Object */;
-val* var562 /* : Array[Object] */;
-long var563 /* : Int */;
-val* var564 /* : NativeArray[Object] */;
-val* var565 /* : String */;
-val* var566 /* : RuntimeVariable */;
-static val* varonce567;
-val* var568 /* : String */;
-char* var569 /* : NativeString */;
-long var570 /* : Int */;
-val* var571 /* : String */;
-short int var572 /* : Bool */;
-long var573 /* : Int */;
-val* var574 /* : nullable Object */;
-static val* varonce575;
-val* var576 /* : String */;
-char* var577 /* : NativeString */;
-long var578 /* : Int */;
-val* var579 /* : String */;
-long var580 /* : Int */;
-val* var581 /* : nullable Object */;
-val* var582 /* : Array[Object] */;
-long var583 /* : Int */;
-val* var584 /* : NativeArray[Object] */;
-val* var585 /* : String */;
-val* var586 /* : RuntimeVariable */;
-static val* varonce587;
-val* var588 /* : String */;
-char* var589 /* : NativeString */;
-long var590 /* : Int */;
-val* var591 /* : String */;
-short int var592 /* : Bool */;
-long var593 /* : Int */;
-val* var594 /* : nullable Object */;
-static val* varonce595;
-val* var596 /* : String */;
-char* var597 /* : NativeString */;
-long var598 /* : Int */;
-val* var599 /* : String */;
-long var600 /* : Int */;
-val* var601 /* : nullable Object */;
-val* var602 /* : Array[Object] */;
-long var603 /* : Int */;
-val* var604 /* : NativeArray[Object] */;
-val* var605 /* : String */;
-val* var606 /* : RuntimeVariable */;
-static val* varonce607;
-val* var608 /* : String */;
-char* var609 /* : NativeString */;
-long var610 /* : Int */;
-val* var611 /* : String */;
-short int var612 /* : Bool */;
-long var613 /* : Int */;
-val* var614 /* : nullable Object */;
-static val* varonce615;
-val* var616 /* : String */;
-char* var617 /* : NativeString */;
-long var618 /* : Int */;
-val* var619 /* : String */;
-long var620 /* : Int */;
-val* var621 /* : nullable Object */;
-val* var622 /* : Array[Object] */;
-long var623 /* : Int */;
-val* var624 /* : NativeArray[Object] */;
-val* var625 /* : String */;
-val* var626 /* : RuntimeVariable */;
-static val* varonce627;
-val* var628 /* : String */;
-char* var629 /* : NativeString */;
-long var630 /* : Int */;
-val* var631 /* : String */;
-short int var632 /* : Bool */;
-long var633 /* : Int */;
-val* var634 /* : nullable Object */;
-static val* varonce635;
-val* var636 /* : String */;
-char* var637 /* : NativeString */;
-long var638 /* : Int */;
-val* var639 /* : String */;
-val* var640 /* : Array[Object] */;
-long var641 /* : Int */;
-val* var642 /* : NativeArray[Object] */;
-val* var643 /* : String */;
-val* var644 /* : RuntimeVariable */;
-static val* varonce645;
-val* var646 /* : String */;
-char* var647 /* : NativeString */;
-long var648 /* : Int */;
-val* var649 /* : String */;
-short int var650 /* : Bool */;
-static val* varonce651;
-val* var652 /* : String */;
-char* var653 /* : NativeString */;
-long var654 /* : Int */;
-val* var655 /* : String */;
-long var656 /* : Int */;
-val* var657 /* : nullable Object */;
-val* var658 /* : Array[Object] */;
-long var659 /* : Int */;
-val* var660 /* : NativeArray[Object] */;
-val* var661 /* : String */;
-val* var662 /* : RuntimeVariable */;
-static val* varonce663;
-val* var664 /* : String */;
-char* var665 /* : NativeString */;
-long var666 /* : Int */;
-val* var667 /* : String */;
-short int var668 /* : Bool */;
-static val* varonce669;
-val* var670 /* : String */;
-char* var671 /* : NativeString */;
-long var672 /* : Int */;
-val* var673 /* : String */;
-short int var674 /* : Bool */;
-static val* varonce675;
-val* var676 /* : String */;
-char* var677 /* : NativeString */;
-long var678 /* : Int */;
-val* var679 /* : String */;
-val* var680 /* : nullable Object */;
-static val* varonce681;
-val* var682 /* : String */;
-char* var683 /* : NativeString */;
-long var684 /* : Int */;
-val* var685 /* : String */;
-val* var686 /* : Array[Object] */;
-long var687 /* : Int */;
-val* var688 /* : NativeArray[Object] */;
-val* var689 /* : String */;
-static val* varonce690;
-val* var691 /* : String */;
-char* var692 /* : NativeString */;
-long var693 /* : Int */;
-val* var694 /* : String */;
-short int var695 /* : Bool */;
-static val* varonce696;
-val* var697 /* : String */;
-char* var698 /* : NativeString */;
-long var699 /* : Int */;
-val* var700 /* : String */;
-val* var701 /* : nullable Object */;
-val* var702 /* : Array[Object] */;
-long var703 /* : Int */;
-val* var704 /* : NativeArray[Object] */;
-val* var705 /* : String */;
-val* var706 /* : RuntimeVariable */;
-static val* varonce707;
-val* var708 /* : String */;
-char* var709 /* : NativeString */;
-long var710 /* : Int */;
-val* var711 /* : String */;
-short int var712 /* : Bool */;
-long var713 /* : Int */;
-val* var714 /* : nullable Object */;
-long var715 /* : Int */;
-val* var716 /* : nullable Object */;
-val* var717 /* : RuntimeVariable */;
-static val* varonce718;
-val* var719 /* : String */;
-char* var720 /* : NativeString */;
-long var721 /* : Int */;
-val* var722 /* : String */;
-short int var723 /* : Bool */;
-long var724 /* : Int */;
-val* var725 /* : nullable Object */;
-long var726 /* : Int */;
-val* var727 /* : nullable Object */;
-val* var728 /* : RuntimeVariable */;
-val* var_res729 /* var res: RuntimeVariable */;
-static val* varonce730;
-val* var731 /* : String */;
-char* var732 /* : NativeString */;
-long var733 /* : Int */;
-val* var734 /* : String */;
-val* var735 /* : Array[Object] */;
-long var736 /* : Int */;
-val* var737 /* : NativeArray[Object] */;
-val* var738 /* : String */;
-val* var739 /* : RuntimeVariable */;
-static val* varonce740;
-val* var741 /* : String */;
-char* var742 /* : NativeString */;
-long var743 /* : Int */;
-val* var744 /* : String */;
-short int var745 /* : Bool */;
-static val* varonce746;
-val* var747 /* : String */;
-char* var748 /* : NativeString */;
-long var749 /* : Int */;
-val* var750 /* : String */;
-short int var751 /* : Bool */;
-static val* varonce752;
-val* var753 /* : String */;
-char* var754 /* : NativeString */;
-long var755 /* : Int */;
-val* var756 /* : String */;
-val* var757 /* : nullable Object */;
-static val* varonce758;
-val* var759 /* : String */;
-char* var760 /* : NativeString */;
-long var761 /* : Int */;
-val* var762 /* : String */;
-val* var763 /* : Array[Object] */;
-long var764 /* : Int */;
-val* var765 /* : NativeArray[Object] */;
-val* var766 /* : String */;
-static val* varonce767;
-val* var768 /* : String */;
-char* var769 /* : NativeString */;
-long var770 /* : Int */;
-val* var771 /* : String */;
-short int var772 /* : Bool */;
-static val* varonce773;
-val* var774 /* : String */;
-char* var775 /* : NativeString */;
-long var776 /* : Int */;
-val* var777 /* : String */;
-val* var778 /* : nullable Object */;
-val* var779 /* : Array[Object] */;
-long var780 /* : Int */;
-val* var781 /* : NativeArray[Object] */;
-val* var782 /* : String */;
-val* var783 /* : RuntimeVariable */;
-static val* varonce784;
-val* var785 /* : String */;
-char* var786 /* : NativeString */;
-long var787 /* : Int */;
-val* var788 /* : String */;
-short int var789 /* : Bool */;
-long var790 /* : Int */;
-val* var791 /* : nullable Object */;
-static val* varonce792;
-val* var793 /* : String */;
-char* var794 /* : NativeString */;
-long var795 /* : Int */;
-val* var796 /* : String */;
-long var797 /* : Int */;
-val* var798 /* : nullable Object */;
-val* var799 /* : Array[Object] */;
-long var800 /* : Int */;
-val* var801 /* : NativeArray[Object] */;
-val* var802 /* : String */;
-val* var803 /* : RuntimeVariable */;
-static val* varonce804;
-val* var805 /* : String */;
-char* var806 /* : NativeString */;
-long var807 /* : Int */;
-val* var808 /* : String */;
-short int var809 /* : Bool */;
-long var810 /* : Int */;
-val* var811 /* : nullable Object */;
-static val* varonce812;
-val* var813 /* : String */;
-char* var814 /* : NativeString */;
-long var815 /* : Int */;
-val* var816 /* : String */;
-long var817 /* : Int */;
-val* var818 /* : nullable Object */;
-val* var819 /* : Array[Object] */;
-long var820 /* : Int */;
-val* var821 /* : NativeArray[Object] */;
-val* var822 /* : String */;
-val* var823 /* : RuntimeVariable */;
-static val* varonce824;
-val* var825 /* : String */;
-char* var826 /* : NativeString */;
-long var827 /* : Int */;
-val* var828 /* : String */;
-short int var829 /* : Bool */;
-static val* varonce830;
-val* var831 /* : String */;
-char* var832 /* : NativeString */;
-long var833 /* : Int */;
-val* var834 /* : String */;
-long var835 /* : Int */;
-val* var836 /* : nullable Object */;
-val* var837 /* : Array[Object] */;
-long var838 /* : Int */;
-val* var839 /* : NativeArray[Object] */;
-val* var840 /* : String */;
-val* var841 /* : RuntimeVariable */;
-static val* varonce842;
-val* var843 /* : String */;
-char* var844 /* : NativeString */;
-long var845 /* : Int */;
-val* var846 /* : String */;
-short int var847 /* : Bool */;
-long var848 /* : Int */;
-val* var849 /* : nullable Object */;
-static val* varonce850;
-val* var851 /* : String */;
-char* var852 /* : NativeString */;
-long var853 /* : Int */;
-val* var854 /* : String */;
-val* var855 /* : Array[Object] */;
-long var856 /* : Int */;
-val* var857 /* : NativeArray[Object] */;
-val* var858 /* : String */;
-val* var859 /* : RuntimeVariable */;
-static val* varonce860;
-val* var861 /* : String */;
-char* var862 /* : NativeString */;
-long var863 /* : Int */;
-val* var864 /* : String */;
-short int var865 /* : Bool */;
-long var866 /* : Int */;
-val* var867 /* : nullable Object */;
-static val* varonce868;
-val* var869 /* : String */;
-char* var870 /* : NativeString */;
-long var871 /* : Int */;
-val* var872 /* : String */;
-val* var873 /* : Array[Object] */;
-long var874 /* : Int */;
-val* var875 /* : NativeArray[Object] */;
-val* var876 /* : String */;
-val* var877 /* : RuntimeVariable */;
-static val* varonce878;
-val* var879 /* : String */;
-char* var880 /* : NativeString */;
-long var881 /* : Int */;
-val* var882 /* : String */;
-short int var883 /* : Bool */;
-long var884 /* : Int */;
-val* var885 /* : nullable Object */;
-static val* varonce886;
-val* var887 /* : String */;
-char* var888 /* : NativeString */;
-long var889 /* : Int */;
-val* var890 /* : String */;
-long var891 /* : Int */;
-val* var892 /* : nullable Object */;
-val* var893 /* : Array[Object] */;
-long var894 /* : Int */;
-val* var895 /* : NativeArray[Object] */;
-val* var896 /* : String */;
-val* var897 /* : RuntimeVariable */;
-static val* varonce898;
-val* var899 /* : String */;
-char* var900 /* : NativeString */;
-long var901 /* : Int */;
-val* var902 /* : String */;
-short int var903 /* : Bool */;
-long var904 /* : Int */;
-val* var905 /* : nullable Object */;
-static val* varonce906;
-val* var907 /* : String */;
-char* var908 /* : NativeString */;
-long var909 /* : Int */;
-val* var910 /* : String */;
-long var911 /* : Int */;
-val* var912 /* : nullable Object */;
-val* var913 /* : Array[Object] */;
-long var914 /* : Int */;
-val* var915 /* : NativeArray[Object] */;
-val* var916 /* : String */;
-val* var917 /* : RuntimeVariable */;
-static val* varonce918;
-val* var919 /* : String */;
-char* var920 /* : NativeString */;
-long var921 /* : Int */;
-val* var922 /* : String */;
-short int var923 /* : Bool */;
-long var924 /* : Int */;
-val* var925 /* : nullable Object */;
-long var926 /* : Int */;
-val* var927 /* : nullable Object */;
-val* var928 /* : RuntimeVariable */;
-static val* varonce929;
-val* var930 /* : String */;
-char* var931 /* : NativeString */;
-long var932 /* : Int */;
-val* var933 /* : String */;
-short int var934 /* : Bool */;
-long var935 /* : Int */;
-val* var936 /* : nullable Object */;
-long var937 /* : Int */;
-val* var938 /* : nullable Object */;
-val* var939 /* : RuntimeVariable */;
-val* var_res940 /* var res: RuntimeVariable */;
-static val* varonce941;
-val* var942 /* : String */;
-char* var943 /* : NativeString */;
-long var944 /* : Int */;
-val* var945 /* : String */;
-val* var946 /* : Array[Object] */;
-long var947 /* : Int */;
-val* var948 /* : NativeArray[Object] */;
-val* var949 /* : String */;
-val* var950 /* : RuntimeVariable */;
-static val* varonce951;
-val* var952 /* : String */;
-char* var953 /* : NativeString */;
-long var954 /* : Int */;
-val* var955 /* : String */;
-short int var956 /* : Bool */;
-long var957 /* : Int */;
-val* var958 /* : nullable Object */;
-static val* varonce959;
-val* var960 /* : String */;
-char* var961 /* : NativeString */;
-long var962 /* : Int */;
-val* var963 /* : String */;
-long var964 /* : Int */;
-val* var965 /* : nullable Object */;
-val* var966 /* : Array[Object] */;
-long var967 /* : Int */;
-val* var968 /* : NativeArray[Object] */;
-val* var969 /* : String */;
-val* var970 /* : RuntimeVariable */;
-static val* varonce971;
-val* var972 /* : String */;
-char* var973 /* : NativeString */;
-long var974 /* : Int */;
-val* var975 /* : String */;
-short int var976 /* : Bool */;
-long var977 /* : Int */;
-val* var978 /* : nullable Object */;
-static val* varonce979;
-val* var980 /* : String */;
-char* var981 /* : NativeString */;
-long var982 /* : Int */;
-val* var983 /* : String */;
-long var984 /* : Int */;
-val* var985 /* : nullable Object */;
-val* var986 /* : Array[Object] */;
-long var987 /* : Int */;
-val* var988 /* : NativeArray[Object] */;
-val* var989 /* : String */;
-val* var990 /* : RuntimeVariable */;
-static val* varonce991;
-val* var992 /* : String */;
-char* var993 /* : NativeString */;
-long var994 /* : Int */;
-val* var995 /* : String */;
-short int var996 /* : Bool */;
-long var997 /* : Int */;
-val* var998 /* : nullable Object */;
-static val* varonce999;
-val* var1000 /* : String */;
-char* var1001 /* : NativeString */;
-long var1002 /* : Int */;
-val* var1003 /* : String */;
-long var1004 /* : Int */;
-val* var1005 /* : nullable Object */;
-val* var1006 /* : Array[Object] */;
-long var1007 /* : Int */;
-val* var1008 /* : NativeArray[Object] */;
-val* var1009 /* : String */;
-val* var1010 /* : RuntimeVariable */;
-static val* varonce1011;
-val* var1012 /* : String */;
-char* var1013 /* : NativeString */;
-long var1014 /* : Int */;
-val* var1015 /* : String */;
-short int var1016 /* : Bool */;
-long var1017 /* : Int */;
-val* var1018 /* : nullable Object */;
-static val* varonce1019;
-val* var1020 /* : String */;
-char* var1021 /* : NativeString */;
-long var1022 /* : Int */;
-val* var1023 /* : String */;
-long var1024 /* : Int */;
-val* var1025 /* : nullable Object */;
-val* var1026 /* : Array[Object] */;
-long var1027 /* : Int */;
-val* var1028 /* : NativeArray[Object] */;
-val* var1029 /* : String */;
-val* var1030 /* : RuntimeVariable */;
-static val* varonce1031;
-val* var1032 /* : String */;
-char* var1033 /* : NativeString */;
-long var1034 /* : Int */;
-val* var1035 /* : String */;
-short int var1036 /* : Bool */;
-static val* varonce1037;
-val* var1038 /* : String */;
-char* var1039 /* : NativeString */;
-long var1040 /* : Int */;
-val* var1041 /* : String */;
-long var1042 /* : Int */;
-val* var1043 /* : nullable Object */;
-val* var1044 /* : Array[Object] */;
-long var1045 /* : Int */;
-val* var1046 /* : NativeArray[Object] */;
-val* var1047 /* : String */;
-val* var1048 /* : RuntimeVariable */;
-static val* varonce1049;
-val* var1050 /* : String */;
-char* var1051 /* : NativeString */;
-long var1052 /* : Int */;
-val* var1053 /* : String */;
-short int var1054 /* : Bool */;
-static val* varonce1055;
-val* var1056 /* : String */;
-char* var1057 /* : NativeString */;
-long var1058 /* : Int */;
-val* var1059 /* : String */;
-short int var1060 /* : Bool */;
-long var1061 /* : Int */;
-val* var1062 /* : nullable Object */;
-static val* varonce1063;
-val* var1064 /* : String */;
-char* var1065 /* : NativeString */;
-long var1066 /* : Int */;
-val* var1067 /* : String */;
-long var1068 /* : Int */;
-val* var1069 /* : nullable Object */;
-static val* varonce1070;
-val* var1071 /* : String */;
-char* var1072 /* : NativeString */;
-long var1073 /* : Int */;
-val* var1074 /* : String */;
-val* var1075 /* : Array[Object] */;
-long var1076 /* : Int */;
-val* var1077 /* : NativeArray[Object] */;
-val* var1078 /* : String */;
-val* var1079 /* : RuntimeVariable */;
-static val* varonce1080;
-val* var1081 /* : String */;
-char* var1082 /* : NativeString */;
-long var1083 /* : Int */;
-val* var1084 /* : String */;
-short int var1085 /* : Bool */;
-long var1086 /* : Int */;
-val* var1087 /* : nullable Object */;
-static val* varonce1088;
-val* var1089 /* : String */;
-char* var1090 /* : NativeString */;
-long var1091 /* : Int */;
-val* var1092 /* : String */;
-long var1093 /* : Int */;
-val* var1094 /* : nullable Object */;
-static val* varonce1095;
-val* var1096 /* : String */;
-char* var1097 /* : NativeString */;
-long var1098 /* : Int */;
-val* var1099 /* : String */;
-long var1100 /* : Int */;
-val* var1101 /* : nullable Object */;
-static val* varonce1102;
-val* var1103 /* : String */;
-char* var1104 /* : NativeString */;
-long var1105 /* : Int */;
-val* var1106 /* : String */;
-val* var1107 /* : Array[Object] */;
-long var1108 /* : Int */;
-val* var1109 /* : NativeArray[Object] */;
-val* var1110 /* : String */;
-static val* varonce1111;
-val* var1112 /* : String */;
-char* var1113 /* : NativeString */;
-long var1114 /* : Int */;
-val* var1115 /* : String */;
-short int var1116 /* : Bool */;
-static val* varonce1117;
-val* var1118 /* : String */;
-char* var1119 /* : NativeString */;
-long var1120 /* : Int */;
-val* var1121 /* : String */;
-long var1122 /* : Int */;
-val* var1123 /* : nullable Object */;
-static val* varonce1124;
-val* var1125 /* : String */;
-char* var1126 /* : NativeString */;
-long var1127 /* : Int */;
-val* var1128 /* : String */;
-long var1129 /* : Int */;
-val* var1130 /* : nullable Object */;
-static val* varonce1131;
-val* var1132 /* : String */;
-char* var1133 /* : NativeString */;
-long var1134 /* : Int */;
-val* var1135 /* : String */;
-long var1136 /* : Int */;
-val* var1137 /* : nullable Object */;
-static val* varonce1138;
-val* var1139 /* : String */;
-char* var1140 /* : NativeString */;
-long var1141 /* : Int */;
-val* var1142 /* : String */;
-long var1143 /* : Int */;
-val* var1144 /* : nullable Object */;
-static val* varonce1145;
-val* var1146 /* : String */;
-char* var1147 /* : NativeString */;
-long var1148 /* : Int */;
-val* var1149 /* : String */;
-long var1150 /* : Int */;
-val* var1151 /* : nullable Object */;
-static val* varonce1152;
-val* var1153 /* : String */;
-char* var1154 /* : NativeString */;
-long var1155 /* : Int */;
-val* var1156 /* : String */;
-val* var1157 /* : Array[Object] */;
-long var1158 /* : Int */;
-val* var1159 /* : NativeArray[Object] */;
-val* var1160 /* : String */;
-static val* varonce1161;
-val* var1162 /* : String */;
-char* var1163 /* : NativeString */;
-long var1164 /* : Int */;
-val* var1165 /* : String */;
-short int var1166 /* : Bool */;
-static val* varonce1167;
-val* var1168 /* : String */;
-char* var1169 /* : NativeString */;
-long var1170 /* : Int */;
-val* var1171 /* : String */;
-long var1172 /* : Int */;
-val* var1173 /* : nullable Object */;
-static val* varonce1174;
-val* var1175 /* : String */;
-char* var1176 /* : NativeString */;
-long var1177 /* : Int */;
-val* var1178 /* : String */;
-val* var1179 /* : Array[Object] */;
-long var1180 /* : Int */;
-val* var1181 /* : NativeArray[Object] */;
-val* var1182 /* : String */;
-val* var1183 /* : RuntimeVariable */;
-static val* varonce1184;
-val* var1185 /* : String */;
-char* var1186 /* : NativeString */;
-long var1187 /* : Int */;
-val* var1188 /* : String */;
-short int var1189 /* : Bool */;
-static val* varonce1190;
-val* var1191 /* : String */;
-char* var1192 /* : NativeString */;
-long var1193 /* : Int */;
-val* var1194 /* : String */;
-short int var1195 /* : Bool */;
-static val* varonce1196;
-val* var1197 /* : String */;
-char* var1198 /* : NativeString */;
-long var1199 /* : Int */;
-val* var1200 /* : String */;
-long var1201 /* : Int */;
-val* var1202 /* : nullable Object */;
-static val* varonce1203;
-val* var1204 /* : String */;
-char* var1205 /* : NativeString */;
-long var1206 /* : Int */;
-val* var1207 /* : String */;
-val* var1208 /* : Array[Object] */;
-long var1209 /* : Int */;
-val* var1210 /* : NativeArray[Object] */;
-val* var1211 /* : String */;
-static val* varonce1212;
-val* var1213 /* : String */;
-char* var1214 /* : NativeString */;
-long var1215 /* : Int */;
-val* var1216 /* : String */;
-short int var1217 /* : Bool */;
-static val* varonce1218;
-val* var1219 /* : String */;
-char* var1220 /* : NativeString */;
-long var1221 /* : Int */;
-val* var1222 /* : String */;
-val* var1223 /* : RuntimeVariable */;
-static val* varonce1224;
-val* var1225 /* : String */;
-char* var1226 /* : NativeString */;
-long var1227 /* : Int */;
-val* var1228 /* : String */;
-short int var1229 /* : Bool */;
-static val* varonce1230;
-val* var1231 /* : String */;
-char* var1232 /* : NativeString */;
-long var1233 /* : Int */;
-val* var1234 /* : String */;
-long var1235 /* : Int */;
-val* var1236 /* : nullable Object */;
-static val* varonce1237;
-val* var1238 /* : String */;
-char* var1239 /* : NativeString */;
-long var1240 /* : Int */;
-val* var1241 /* : String */;
-val* var1242 /* : Array[Object] */;
-long var1243 /* : Int */;
-val* var1244 /* : NativeArray[Object] */;
-val* var1245 /* : String */;
-val* var1246 /* : RuntimeVariable */;
-static val* varonce1247;
-val* var1248 /* : String */;
-char* var1249 /* : NativeString */;
-long var1250 /* : Int */;
-val* var1251 /* : String */;
-short int var1252 /* : Bool */;
-static val* varonce1253;
-val* var1254 /* : String */;
-char* var1255 /* : NativeString */;
-long var1256 /* : Int */;
-val* var1257 /* : String */;
-short int var1258 /* : Bool */;
-static val* varonce1259;
-val* var1260 /* : String */;
-char* var1261 /* : NativeString */;
-long var1262 /* : Int */;
-val* var1263 /* : String */;
-val* var1264 /* : nullable Object */;
-val* var1265 /* : Array[Object] */;
-long var1266 /* : Int */;
-val* var1267 /* : NativeArray[Object] */;
-val* var1268 /* : String */;
-val* var1269 /* : RuntimeVariable */;
-static val* varonce1270;
-val* var1271 /* : String */;
-char* var1272 /* : NativeString */;
-long var1273 /* : Int */;
-val* var1274 /* : String */;
-short int var1275 /* : Bool */;
-long var1276 /* : Int */;
-val* var1277 /* : nullable Object */;
-long var1278 /* : Int */;
-val* var1279 /* : nullable Object */;
-val* var1280 /* : RuntimeVariable */;
-static val* varonce1281;
-val* var1282 /* : String */;
-char* var1283 /* : NativeString */;
-long var1284 /* : Int */;
-val* var1285 /* : String */;
-short int var1286 /* : Bool */;
-long var1287 /* : Int */;
-val* var1288 /* : nullable Object */;
-long var1289 /* : Int */;
-val* var1290 /* : nullable Object */;
-val* var1291 /* : RuntimeVariable */;
-static val* varonce1292;
-val* var1293 /* : String */;
-char* var1294 /* : NativeString */;
-long var1295 /* : Int */;
-val* var1296 /* : String */;
-short int var1297 /* : Bool */;
-val* var1298 /* : nullable Object */;
-val* var1299 /* : String */;
-val* var_nat /* var nat: String */;
-static val* varonce1300;
-val* var1301 /* : String */;
-char* var1302 /* : NativeString */;
-long var1303 /* : Int */;
-val* var1304 /* : String */;
-static val* varonce1305;
-val* var1306 /* : String */;
-char* var1307 /* : NativeString */;
-long var1308 /* : Int */;
-val* var1309 /* : String */;
-val* var1310 /* : Array[Object] */;
-long var1311 /* : Int */;
-val* var1312 /* : NativeArray[Object] */;
-val* var1313 /* : String */;
-static val* varonce1314;
-val* var1315 /* : String */;
-char* var1316 /* : NativeString */;
-long var1317 /* : Int */;
-val* var1318 /* : String */;
-short int var1319 /* : Bool */;
-val* var1320 /* : nullable Object */;
-val* var1321 /* : String */;
-val* var_nat1322 /* var nat: String */;
-static val* varonce1323;
-val* var1324 /* : String */;
-char* var1325 /* : NativeString */;
-long var1326 /* : Int */;
-val* var1327 /* : String */;
-val* var1328 /* : Array[Object] */;
-long var1329 /* : Int */;
-val* var1330 /* : NativeArray[Object] */;
-val* var1331 /* : String */;
-val* var1332 /* : RuntimeVariable */;
-static val* varonce1333;
-val* var1334 /* : String */;
-char* var1335 /* : NativeString */;
-long var1336 /* : Int */;
-val* var1337 /* : String */;
-short int var1338 /* : Bool */;
-static val* varonce1339;
-val* var1340 /* : String */;
-char* var1341 /* : NativeString */;
-long var1342 /* : Int */;
-val* var1343 /* : String */;
-static val* varonce1344;
-val* var1345 /* : String */;
-char* var1346 /* : NativeString */;
-long var1347 /* : Int */;
-val* var1348 /* : String */;
-short int var1349 /* : Bool */;
-static val* varonce1350;
-val* var1351 /* : String */;
-char* var1352 /* : NativeString */;
-long var1353 /* : Int */;
-val* var1354 /* : String */;
-val* var1355 /* : RuntimeVariable */;
-static val* varonce1356;
-val* var1357 /* : String */;
-char* var1358 /* : NativeString */;
-long var1359 /* : Int */;
-val* var1360 /* : String */;
-short int var1361 /* : Bool */;
-static val* varonce1362;
-val* var1363 /* : String */;
-char* var1364 /* : NativeString */;
-long var1365 /* : Int */;
-val* var1366 /* : String */;
-long var1367 /* : Int */;
-val* var1368 /* : nullable Object */;
-static val* varonce1369;
-val* var1370 /* : String */;
-char* var1371 /* : NativeString */;
-long var1372 /* : Int */;
-val* var1373 /* : String */;
-val* var1374 /* : Array[Object] */;
-long var1375 /* : Int */;
-val* var1376 /* : NativeArray[Object] */;
-val* var1377 /* : String */;
-val* var1378 /* : RuntimeVariable */;
-static val* varonce1379;
-val* var1380 /* : String */;
-char* var1381 /* : NativeString */;
-long var1382 /* : Int */;
-val* var1383 /* : String */;
-val* var1384 /* : String */;
-static val* varonce1385;
-val* var1386 /* : String */;
-char* var1387 /* : NativeString */;
-long var1388 /* : Int */;
-val* var1389 /* : String */;
-static val* varonce1390;
-val* var1391 /* : String */;
-char* var1392 /* : NativeString */;
-long var1393 /* : Int */;
-val* var1394 /* : String */;
-val* var1395 /* : Location */;
-val* var1396 /* : String */;
-static val* varonce1397;
-val* var1398 /* : String */;
-char* var1399 /* : NativeString */;
-long var1400 /* : Int */;
-val* var1401 /* : String */;
-val* var1402 /* : Array[Object] */;
-long var1403 /* : Int */;
-val* var1404 /* : NativeArray[Object] */;
-val* var1405 /* : String */;
-static val* varonce1406;
-val* var1407 /* : String */;
-char* var1408 /* : NativeString */;
-long var1409 /* : Int */;
-val* var1410 /* : String */;
-val* var1411 /* : Array[Object] */;
-long var1412 /* : Int */;
-val* var1413 /* : NativeArray[Object] */;
-val* var1414 /* : String */;
-var_v = p0;
-var_mpropdef = p1;
-var_arguments = p2;
-var = ((val* (*)(val*))(var_mpropdef->class->vft[COLOR_model__MPropDef__mproperty]))(var_mpropdef) /* mproperty on <var_mpropdef:MMethodDef>*/;
-var1 = ((val* (*)(val*))(var->class->vft[COLOR_model__MProperty__name]))(var) /* name on <var:MProperty(MMethod)>*/;
-var_pname = var1;
-var2 = ((val* (*)(val*))(var_mpropdef->class->vft[COLOR_model__MPropDef__mclassdef]))(var_mpropdef) /* mclassdef on <var_mpropdef:MMethodDef>*/;
-var3 = ((val* (*)(val*))(var2->class->vft[COLOR_model__MClassDef__mclass]))(var2) /* mclass on <var2:MClassDef>*/;
-var4 = ((val* (*)(val*))(var3->class->vft[COLOR_model__MClass__name]))(var3) /* name on <var3:MClass>*/;
-var_cname = var4;
-var5 = ((val* (*)(val*))(var_mpropdef->class->vft[COLOR_model__MMethodDef__msignature]))(var_mpropdef) /* msignature on <var_mpropdef:MMethodDef>*/;
-if (var5 == NULL) {
-fprintf(stderr, "Runtime error: %s", "Reciever is null");
-fprintf(stderr, " (%s:%d)\n", "src/abstract_compiler.nit", 1356);
-exit(1);
-} else {
-var6 = ((val* (*)(val*))(var5->class->vft[COLOR_model__MSignature__return_mtype]))(var5) /* return_mtype on <var5:nullable MSignature>*/;
-}
-var_ret = var6;
-var7 = NULL;
-if (var_ret == NULL) {
-var8 = 0; /* is null */
-} else {
-var8 = 1; /* arg is null and recv is not */
+val* var340 /* : FlatString */;
+{
+{ /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
+var2 = self->attrs[COLOR_abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <self:AbstractCompiler> */
+if (unlikely(var2 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
+show_backtrace(1);
+}
+var = var2;
+RET_LABEL1:(void)0;
+}
+}
+{
+{ /* Inline modelbuilder#ModelBuilder#toolcontext (var) on <var:ModelBuilder> */
+var5 = var->attrs[COLOR_modelbuilder__ModelBuilder___toolcontext].val; /* _toolcontext on <var:ModelBuilder> */
+if (unlikely(var5 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
+PRINT_ERROR(" (%s:%d)\n", "modelbuilder.nit", 106);
+show_backtrace(1);
+}
+var3 = var5;
+RET_LABEL4:(void)0;
+}
+}
+{
+{ /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (var3) on <var3:ToolContext> */
+var8 = var3->attrs[COLOR_abstract_compiler__ToolContext___opt_typing_test_metrics].val; /* _opt_typing_test_metrics on <var3:ToolContext> */
+if (unlikely(var8 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 61);
+show_backtrace(1);
+}
+var6 = var8;
+RET_LABEL7:(void)0;
+}
+}
+{
+{ /* Inline opts#Option#value (var6) on <var6:OptionBool> */
+var11 = var6->attrs[COLOR_opts__Option___value].val; /* _value on <var6:OptionBool> */
+var9 = var11;
+RET_LABEL10:(void)0;
+}
+}
+var12 = ((struct instance_kernel__Bool*)var9)->value; /* autounbox from nullable Object to Bool */;
+if (var12){
+if (varonce) {
+var13 = varonce;
+} else {
+var14 = "# static count_type_test";
+var15 = 24;
+var16 = string__NativeString__to_s_with_length(var14, var15);
+var13 = var16;
+varonce = var13;
+}
+{
+file__Object__print(self, var13); /* Direct call file#Object#print on <self:AbstractCompiler>*/
+}
+if (varonce17) {
+var18 = varonce17;
+} else {
+var19 = "\11resolved:\11unresolved\11skipped\11total";
+var20 = 35;
+var21 = string__NativeString__to_s_with_length(var19, var20);
+var18 = var21;
+varonce17 = var18;
+}
+{
+file__Object__print(self, var18); /* Direct call file#Object#print on <self:AbstractCompiler>*/
+}
+{
+var22 = abstract_compiler__AbstractCompiler__init_count_type_test_tags(self);
+}
+var_count_type_test_total = var22;
+{
+{ /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:AbstractCompiler> */
+var25 = self->attrs[COLOR_abstract_compiler__AbstractCompiler___count_type_test_resolved].val; /* _count_type_test_resolved on <self:AbstractCompiler> */
+if (unlikely(var25 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 945);
+show_backtrace(1);
+}
+var23 = var25;
+RET_LABEL24:(void)0;
+}
+}
+if (varonce26) {
+var27 = varonce26;
+} else {
+var28 = "total";
+var29 = 5;
+var30 = string__NativeString__to_s_with_length(var28, var29);
+var27 = var30;
+varonce26 = var27;
+}
+var31 = 0;
+{
+var32 = BOX_kernel__Int(var31); /* autobox from Int to nullable Object */
+hash_collection__HashMap___91d_93d_61d(var23, var27, var32); /* Direct call hash_collection#HashMap#[]= on <var23:HashMap[String, Int]>*/
+}
+{
+{ /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:AbstractCompiler> */
+var35 = self->attrs[COLOR_abstract_compiler__AbstractCompiler___count_type_test_unresolved].val; /* _count_type_test_unresolved on <self:AbstractCompiler> */
+if (unlikely(var35 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 946);
+show_backtrace(1);
+}
+var33 = var35;
+RET_LABEL34:(void)0;
+}
+}
+if (varonce36) {
+var37 = varonce36;
+} else {
+var38 = "total";
+var39 = 5;
+var40 = string__NativeString__to_s_with_length(var38, var39);
+var37 = var40;
+varonce36 = var37;
+}
+var41 = 0;
+{
+var42 = BOX_kernel__Int(var41); /* autobox from Int to nullable Object */
+hash_collection__HashMap___91d_93d_61d(var33, var37, var42); /* Direct call hash_collection#HashMap#[]= on <var33:HashMap[String, Int]>*/
+}
+{
+{ /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:AbstractCompiler> */
+var45 = self->attrs[COLOR_abstract_compiler__AbstractCompiler___count_type_test_skipped].val; /* _count_type_test_skipped on <self:AbstractCompiler> */
+if (unlikely(var45 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 947);
+show_backtrace(1);
+}
+var43 = var45;
+RET_LABEL44:(void)0;
+}
+}
+if (varonce46) {
+var47 = varonce46;
+} else {
+var48 = "total";
+var49 = 5;
+var50 = string__NativeString__to_s_with_length(var48, var49);
+var47 = var50;
+varonce46 = var47;
+}
+var51 = 0;
+{
+var52 = BOX_kernel__Int(var51); /* autobox from Int to nullable Object */
+hash_collection__HashMap___91d_93d_61d(var43, var47, var52); /* Direct call hash_collection#HashMap#[]= on <var43:HashMap[String, Int]>*/
+}
+if (varonce53) {
+var54 = varonce53;
+} else {
+var55 = "total";
+var56 = 5;
+var57 = string__NativeString__to_s_with_length(var55, var56);
+var54 = var57;
+varonce53 = var54;
+}
+var58 = 0;
+{
+var59 = BOX_kernel__Int(var58); /* autobox from Int to nullable Object */
+hash_collection__HashMap___91d_93d_61d(var_count_type_test_total, var54, var59); /* Direct call hash_collection#HashMap#[]= on <var_count_type_test_total:HashMap[String, Int]>*/
+}
+{
+{ /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on <self:AbstractCompiler> */
+var62 = self->attrs[COLOR_abstract_compiler__AbstractCompiler___count_type_test_tags].val; /* _count_type_test_tags on <self:AbstractCompiler> */
+if (unlikely(var62 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 944);
+show_backtrace(1);
+}
+var60 = var62;
+RET_LABEL61:(void)0;
+}
+}
+var_ = var60;
+{
+var63 = array__AbstractArrayRead__iterator(var_);
+}
+var_64 = var63;
+for(;;) {
+{
+var65 = array__ArrayIterator__is_ok(var_64);
+}
+if (var65){
+{
+var66 = array__ArrayIterator__item(var_64);
+}
+var_tag = var66;
+{
+{ /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:AbstractCompiler> */
+var69 = self->attrs[COLOR_abstract_compiler__AbstractCompiler___count_type_test_resolved].val; /* _count_type_test_resolved on <self:AbstractCompiler> */
+if (unlikely(var69 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 945);
+show_backtrace(1);
+}
+var67 = var69;
+RET_LABEL68:(void)0;
+}
+}
+{
+var70 = hash_collection__HashMap___91d_93d(var67, var_tag);
+}
+{
+{ /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:AbstractCompiler> */
+var73 = self->attrs[COLOR_abstract_compiler__AbstractCompiler___count_type_test_unresolved].val; /* _count_type_test_unresolved on <self:AbstractCompiler> */
+if (unlikely(var73 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 946);
+show_backtrace(1);
+}
+var71 = var73;
+RET_LABEL72:(void)0;
+}
+}
+{
+var74 = hash_collection__HashMap___91d_93d(var71, var_tag);
+}
+{
+{ /* Inline kernel#Int#+ (var70,var74) on <var70:nullable Object(Int)> */
+/* Covariant cast for argument 0 (i) <var74:nullable Object(Int)> isa OTHER */
+/* <var74:nullable Object(Int)> isa OTHER */
+var77 = 1; /* easy <var74:nullable Object(Int)> isa OTHER*/
+if (unlikely(!var77)) {
+var_class_name = var74 == NULL ? "null" : var74->type->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
+show_backtrace(1);
+}
+var78 = ((struct instance_kernel__Int*)var70)->value; /* autounbox from nullable Object to Int */;
+var79 = ((struct instance_kernel__Int*)var74)->value; /* autounbox from nullable Object to Int */;
+var80 = var78 + var79;
+var75 = var80;
+goto RET_LABEL76;
+RET_LABEL76:(void)0;
+}
+}
+{
+{ /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:AbstractCompiler> */
+var83 = self->attrs[COLOR_abstract_compiler__AbstractCompiler___count_type_test_skipped].val; /* _count_type_test_skipped on <self:AbstractCompiler> */
+if (unlikely(var83 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 947);
+show_backtrace(1);
+}
+var81 = var83;
+RET_LABEL82:(void)0;
+}
+}
+{
+var84 = hash_collection__HashMap___91d_93d(var81, var_tag);
+}
+{
+{ /* Inline kernel#Int#+ (var75,var84) on <var75:Int> */
+/* Covariant cast for argument 0 (i) <var84:nullable Object(Int)> isa OTHER */
+/* <var84:nullable Object(Int)> isa OTHER */
+var87 = 1; /* easy <var84:nullable Object(Int)> isa OTHER*/
+if (unlikely(!var87)) {
+var_class_name90 = var84 == NULL ? "null" : var84->type->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name90);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
+show_backtrace(1);
+}
+var91 = ((struct instance_kernel__Int*)var84)->value; /* autounbox from nullable Object to Int */;
+var92 = var75 + var91;
+var85 = var92;
+goto RET_LABEL86;
+RET_LABEL86:(void)0;
+}
+}
+{
+var93 = BOX_kernel__Int(var85); /* autobox from Int to nullable Object */
+hash_collection__HashMap___91d_93d_61d(var_count_type_test_total, var_tag, var93); /* Direct call hash_collection#HashMap#[]= on <var_count_type_test_total:HashMap[String, Int]>*/
+}
+{
+{ /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:AbstractCompiler> */
+var96 = self->attrs[COLOR_abstract_compiler__AbstractCompiler___count_type_test_resolved].val; /* _count_type_test_resolved on <self:AbstractCompiler> */
+if (unlikely(var96 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 945);
+show_backtrace(1);
+}
+var94 = var96;
+RET_LABEL95:(void)0;
+}
+}
+var_97 = var94;
+if (varonce98) {
+var99 = varonce98;
+} else {
+var100 = "total";
+var101 = 5;
+var102 = string__NativeString__to_s_with_length(var100, var101);
+var99 = var102;
+varonce98 = var99;
+}
+var_103 = var99;
+{
+var104 = hash_collection__HashMap___91d_93d(var_97, var_103);
+}
+{
+{ /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:AbstractCompiler> */
+var107 = self->attrs[COLOR_abstract_compiler__AbstractCompiler___count_type_test_resolved].val; /* _count_type_test_resolved on <self:AbstractCompiler> */
+if (unlikely(var107 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 945);
+show_backtrace(1);
+}
+var105 = var107;
+RET_LABEL106:(void)0;
+}
+}
+{
+var108 = hash_collection__HashMap___91d_93d(var105, var_tag);
+}
+{
+{ /* Inline kernel#Int#+ (var104,var108) on <var104:nullable Object(Int)> */
+/* Covariant cast for argument 0 (i) <var108:nullable Object(Int)> isa OTHER */
+/* <var108:nullable Object(Int)> isa OTHER */
+var111 = 1; /* easy <var108:nullable Object(Int)> isa OTHER*/
+if (unlikely(!var111)) {
+var_class_name114 = var108 == NULL ? "null" : var108->type->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name114);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
+show_backtrace(1);
+}
+var115 = ((struct instance_kernel__Int*)var104)->value; /* autounbox from nullable Object to Int */;
+var116 = ((struct instance_kernel__Int*)var108)->value; /* autounbox from nullable Object to Int */;
+var117 = var115 + var116;
+var109 = var117;
+goto RET_LABEL110;
+RET_LABEL110:(void)0;
+}
+}
+{
+var118 = BOX_kernel__Int(var109); /* autobox from Int to nullable Object */
+hash_collection__HashMap___91d_93d_61d(var_97, var_103, var118); /* Direct call hash_collection#HashMap#[]= on <var_97:HashMap[String, Int]>*/
+}
+{
+{ /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:AbstractCompiler> */
+var121 = self->attrs[COLOR_abstract_compiler__AbstractCompiler___count_type_test_unresolved].val; /* _count_type_test_unresolved on <self:AbstractCompiler> */
+if (unlikely(var121 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 946);
+show_backtrace(1);
+}
+var119 = var121;
+RET_LABEL120:(void)0;
+}
+}
+var_122 = var119;
+if (varonce123) {
+var124 = varonce123;
+} else {
+var125 = "total";
+var126 = 5;
+var127 = string__NativeString__to_s_with_length(var125, var126);
+var124 = var127;
+varonce123 = var124;
+}
+var_128 = var124;
+{
+var129 = hash_collection__HashMap___91d_93d(var_122, var_128);
+}
+{
+{ /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:AbstractCompiler> */
+var132 = self->attrs[COLOR_abstract_compiler__AbstractCompiler___count_type_test_unresolved].val; /* _count_type_test_unresolved on <self:AbstractCompiler> */
+if (unlikely(var132 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 946);
+show_backtrace(1);
+}
+var130 = var132;
+RET_LABEL131:(void)0;
+}
+}
+{
+var133 = hash_collection__HashMap___91d_93d(var130, var_tag);
+}
+{
+{ /* Inline kernel#Int#+ (var129,var133) on <var129:nullable Object(Int)> */
+/* Covariant cast for argument 0 (i) <var133:nullable Object(Int)> isa OTHER */
+/* <var133:nullable Object(Int)> isa OTHER */
+var136 = 1; /* easy <var133:nullable Object(Int)> isa OTHER*/
+if (unlikely(!var136)) {
+var_class_name139 = var133 == NULL ? "null" : var133->type->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name139);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
+show_backtrace(1);
+}
+var140 = ((struct instance_kernel__Int*)var129)->value; /* autounbox from nullable Object to Int */;
+var141 = ((struct instance_kernel__Int*)var133)->value; /* autounbox from nullable Object to Int */;
+var142 = var140 + var141;
+var134 = var142;
+goto RET_LABEL135;
+RET_LABEL135:(void)0;
+}
+}
+{
+var143 = BOX_kernel__Int(var134); /* autobox from Int to nullable Object */
+hash_collection__HashMap___91d_93d_61d(var_122, var_128, var143); /* Direct call hash_collection#HashMap#[]= on <var_122:HashMap[String, Int]>*/
+}
+{
+{ /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:AbstractCompiler> */
+var146 = self->attrs[COLOR_abstract_compiler__AbstractCompiler___count_type_test_skipped].val; /* _count_type_test_skipped on <self:AbstractCompiler> */
+if (unlikely(var146 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 947);
+show_backtrace(1);
+}
+var144 = var146;
+RET_LABEL145:(void)0;
+}
+}
+var_147 = var144;
+if (varonce148) {
+var149 = varonce148;
+} else {
+var150 = "total";
+var151 = 5;
+var152 = string__NativeString__to_s_with_length(var150, var151);
+var149 = var152;
+varonce148 = var149;
+}
+var_153 = var149;
+{
+var154 = hash_collection__HashMap___91d_93d(var_147, var_153);
+}
+{
+{ /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:AbstractCompiler> */
+var157 = self->attrs[COLOR_abstract_compiler__AbstractCompiler___count_type_test_skipped].val; /* _count_type_test_skipped on <self:AbstractCompiler> */
+if (unlikely(var157 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 947);
+show_backtrace(1);
+}
+var155 = var157;
+RET_LABEL156:(void)0;
+}
+}
+{
+var158 = hash_collection__HashMap___91d_93d(var155, var_tag);
+}
+{
+{ /* Inline kernel#Int#+ (var154,var158) on <var154:nullable Object(Int)> */
+/* Covariant cast for argument 0 (i) <var158:nullable Object(Int)> isa OTHER */
+/* <var158:nullable Object(Int)> isa OTHER */
+var161 = 1; /* easy <var158:nullable Object(Int)> isa OTHER*/
+if (unlikely(!var161)) {
+var_class_name164 = var158 == NULL ? "null" : var158->type->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name164);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
+show_backtrace(1);
+}
+var165 = ((struct instance_kernel__Int*)var154)->value; /* autounbox from nullable Object to Int */;
+var166 = ((struct instance_kernel__Int*)var158)->value; /* autounbox from nullable Object to Int */;
+var167 = var165 + var166;
+var159 = var167;
+goto RET_LABEL160;
+RET_LABEL160:(void)0;
+}
+}
+{
+var168 = BOX_kernel__Int(var159); /* autobox from Int to nullable Object */
+hash_collection__HashMap___91d_93d_61d(var_147, var_153, var168); /* Direct call hash_collection#HashMap#[]= on <var_147:HashMap[String, Int]>*/
+}
+var_169 = var_count_type_test_total;
+if (varonce170) {
+var171 = varonce170;
+} else {
+var172 = "total";
+var173 = 5;
+var174 = string__NativeString__to_s_with_length(var172, var173);
+var171 = var174;
+varonce170 = var171;
+}
+var_175 = var171;
+{
+var176 = hash_collection__HashMap___91d_93d(var_169, var_175);
+}
+{
+var177 = hash_collection__HashMap___91d_93d(var_count_type_test_total, var_tag);
+}
+{
+{ /* Inline kernel#Int#+ (var176,var177) on <var176:nullable Object(Int)> */
+/* Covariant cast for argument 0 (i) <var177:nullable Object(Int)> isa OTHER */
+/* <var177:nullable Object(Int)> isa OTHER */
+var180 = 1; /* easy <var177:nullable Object(Int)> isa OTHER*/
+if (unlikely(!var180)) {
+var_class_name183 = var177 == NULL ? "null" : var177->type->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name183);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
+show_backtrace(1);
+}
+var184 = ((struct instance_kernel__Int*)var176)->value; /* autounbox from nullable Object to Int */;
+var185 = ((struct instance_kernel__Int*)var177)->value; /* autounbox from nullable Object to Int */;
+var186 = var184 + var185;
+var178 = var186;
+goto RET_LABEL179;
+RET_LABEL179:(void)0;
+}
+}
+{
+var187 = BOX_kernel__Int(var178); /* autobox from Int to nullable Object */
+hash_collection__HashMap___91d_93d_61d(var_169, var_175, var187); /* Direct call hash_collection#HashMap#[]= on <var_169:HashMap[String, Int]>*/
+}
+{
+array__ArrayIterator__next(var_64); /* Direct call array#ArrayIterator#next on <var_64:ArrayIterator[String]>*/
+}
+} else {
+goto BREAK_label;
+}
+}
+BREAK_label: (void)0;
+{
+{ /* Inline abstract_collection#Iterator#finish (var_64) on <var_64:ArrayIterator[String]> */
+RET_LABEL188:(void)0;
+}
+}
+if (varonce189) {
+var190 = varonce189;
+} else {
+var191 = "total";
+var192 = 5;
+var193 = string__NativeString__to_s_with_length(var191, var192);
+var190 = var193;
+varonce189 = var190;
+}
+{
+var194 = hash_collection__HashMap___91d_93d(var_count_type_test_total, var190);
+}
+var195 = ((struct instance_kernel__Int*)var194)->value; /* autounbox from nullable Object to Int */;
+var_count_type_test = var195;
+{
+{ /* Inline abstract_compiler#AbstractCompiler#count_type_test_tags (self) on <self:AbstractCompiler> */
+var198 = self->attrs[COLOR_abstract_compiler__AbstractCompiler___count_type_test_tags].val; /* _count_type_test_tags on <self:AbstractCompiler> */
+if (unlikely(var198 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_tags");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 944);
+show_backtrace(1);
+}
+var196 = var198;
+RET_LABEL197:(void)0;
+}
+}
+{
+var199 = array__Collection__to_a(var196);
+}
+var_tags = var199;
+if (varonce200) {
+var201 = varonce200;
+} else {
+var202 = "total";
+var203 = 5;
+var204 = string__NativeString__to_s_with_length(var202, var203);
+var201 = var204;
+varonce200 = var201;
+}
+{
+array__Array__add(var_tags, var201); /* Direct call array#Array#add on <var_tags:Array[String]>*/
+}
+var_205 = var_tags;
+{
+var206 = array__AbstractArrayRead__iterator(var_205);
+}
+var_207 = var206;
+for(;;) {
+{
+var208 = array__ArrayIterator__is_ok(var_207);
+}
+if (var208){
+{
+var209 = array__ArrayIterator__item(var_207);
+}
+var_tag210 = var209;
+var211 = NEW_array__Array(&type_array__Arraykernel__Object);
+{ /* var211 = array_instance Array[Object] */
+var212 = 1;
+var213 = NEW_array__NativeArray(var212, &type_array__NativeArraykernel__Object);
+((struct instance_array__NativeArray*)var213)->values[0] = (val*) var_tag210;
+{
+((void (*)(val*, val*, long))(var211->class->vft[COLOR_array__Array__with_native]))(var211, var213, var212) /* with_native on <var211:Array[Object]>*/;
+}
+}
+{
+file__Object__printn(self, var211); /* Direct call file#Object#printn on <self:AbstractCompiler>*/
+}
+if (varonce214) {
+var215 = varonce214;
+} else {
+var216 = "\11";
+var217 = 1;
+var218 = string__NativeString__to_s_with_length(var216, var217);
+var215 = var218;
+varonce214 = var215;
+}
+{
+{ /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:AbstractCompiler> */
+var221 = self->attrs[COLOR_abstract_compiler__AbstractCompiler___count_type_test_resolved].val; /* _count_type_test_resolved on <self:AbstractCompiler> */
+if (unlikely(var221 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 945);
+show_backtrace(1);
+}
+var219 = var221;
+RET_LABEL220:(void)0;
+}
+}
+{
+var222 = hash_collection__HashMap___91d_93d(var219, var_tag210);
+}
+if (varonce223) {
+var224 = varonce223;
+} else {
+var225 = " (";
+var226 = 2;
+var227 = string__NativeString__to_s_with_length(var225, var226);
+var224 = var227;
+varonce223 = var224;
+}
+{
+{ /* Inline abstract_compiler#AbstractCompiler#count_type_test_resolved (self) on <self:AbstractCompiler> */
+var230 = self->attrs[COLOR_abstract_compiler__AbstractCompiler___count_type_test_resolved].val; /* _count_type_test_resolved on <self:AbstractCompiler> */
+if (unlikely(var230 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_resolved");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 945);
+show_backtrace(1);
+}
+var228 = var230;
+RET_LABEL229:(void)0;
+}
+}
+{
+var231 = hash_collection__HashMap___91d_93d(var228, var_tag210);
+}
+{
+var233 = ((struct instance_kernel__Int*)var231)->value; /* autounbox from nullable Object to Int */;
+var232 = abstract_compiler__AbstractCompiler__div(self, var233, var_count_type_test);
+}
+if (varonce234) {
+var235 = varonce234;
+} else {
+var236 = "%)";
+var237 = 2;
+var238 = string__NativeString__to_s_with_length(var236, var237);
+var235 = var238;
+varonce234 = var235;
+}
+var239 = NEW_array__Array(&type_array__Arraykernel__Object);
+{ /* var239 = array_instance Array[Object] */
+var240 = 5;
+var241 = NEW_array__NativeArray(var240, &type_array__NativeArraykernel__Object);
+((struct instance_array__NativeArray*)var241)->values[0] = (val*) var215;
+((struct instance_array__NativeArray*)var241)->values[1] = (val*) var222;
+((struct instance_array__NativeArray*)var241)->values[2] = (val*) var224;
+((struct instance_array__NativeArray*)var241)->values[3] = (val*) var232;
+((struct instance_array__NativeArray*)var241)->values[4] = (val*) var235;
+{
+((void (*)(val*, val*, long))(var239->class->vft[COLOR_array__Array__with_native]))(var239, var241, var240) /* with_native on <var239:Array[Object]>*/;
+}
+}
+{
+var242 = ((val* (*)(val*))(var239->class->vft[COLOR_string__Object__to_s]))(var239) /* to_s on <var239:Array[Object]>*/;
+}
+var243 = NEW_array__Array(&type_array__Arraykernel__Object);
+{ /* var243 = array_instance Array[Object] */
+var244 = 1;
+var245 = NEW_array__NativeArray(var244, &type_array__NativeArraykernel__Object);
+((struct instance_array__NativeArray*)var245)->values[0] = (val*) var242;
+{
+((void (*)(val*, val*, long))(var243->class->vft[COLOR_array__Array__with_native]))(var243, var245, var244) /* with_native on <var243:Array[Object]>*/;
+}
+}
+{
+file__Object__printn(self, var243); /* Direct call file#Object#printn on <self:AbstractCompiler>*/
+}
+if (varonce246) {
+var247 = varonce246;
+} else {
+var248 = "\11";
+var249 = 1;
+var250 = string__NativeString__to_s_with_length(var248, var249);
+var247 = var250;
+varonce246 = var247;
+}
+{
+{ /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:AbstractCompiler> */
+var253 = self->attrs[COLOR_abstract_compiler__AbstractCompiler___count_type_test_unresolved].val; /* _count_type_test_unresolved on <self:AbstractCompiler> */
+if (unlikely(var253 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 946);
+show_backtrace(1);
+}
+var251 = var253;
+RET_LABEL252:(void)0;
+}
+}
+{
+var254 = hash_collection__HashMap___91d_93d(var251, var_tag210);
+}
+if (varonce255) {
+var256 = varonce255;
+} else {
+var257 = " (";
+var258 = 2;
+var259 = string__NativeString__to_s_with_length(var257, var258);
+var256 = var259;
+varonce255 = var256;
+}
+{
+{ /* Inline abstract_compiler#AbstractCompiler#count_type_test_unresolved (self) on <self:AbstractCompiler> */
+var262 = self->attrs[COLOR_abstract_compiler__AbstractCompiler___count_type_test_unresolved].val; /* _count_type_test_unresolved on <self:AbstractCompiler> */
+if (unlikely(var262 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_unresolved");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 946);
+show_backtrace(1);
+}
+var260 = var262;
+RET_LABEL261:(void)0;
+}
+}
+{
+var263 = hash_collection__HashMap___91d_93d(var260, var_tag210);
+}
+{
+var265 = ((struct instance_kernel__Int*)var263)->value; /* autounbox from nullable Object to Int */;
+var264 = abstract_compiler__AbstractCompiler__div(self, var265, var_count_type_test);
+}
+if (varonce266) {
+var267 = varonce266;
+} else {
+var268 = "%)";
+var269 = 2;
+var270 = string__NativeString__to_s_with_length(var268, var269);
+var267 = var270;
+varonce266 = var267;
+}
+var271 = NEW_array__Array(&type_array__Arraykernel__Object);
+{ /* var271 = array_instance Array[Object] */
+var272 = 5;
+var273 = NEW_array__NativeArray(var272, &type_array__NativeArraykernel__Object);
+((struct instance_array__NativeArray*)var273)->values[0] = (val*) var247;
+((struct instance_array__NativeArray*)var273)->values[1] = (val*) var254;
+((struct instance_array__NativeArray*)var273)->values[2] = (val*) var256;
+((struct instance_array__NativeArray*)var273)->values[3] = (val*) var264;
+((struct instance_array__NativeArray*)var273)->values[4] = (val*) var267;
+{
+((void (*)(val*, val*, long))(var271->class->vft[COLOR_array__Array__with_native]))(var271, var273, var272) /* with_native on <var271:Array[Object]>*/;
+}
+}
+{
+var274 = ((val* (*)(val*))(var271->class->vft[COLOR_string__Object__to_s]))(var271) /* to_s on <var271:Array[Object]>*/;
+}
+var275 = NEW_array__Array(&type_array__Arraykernel__Object);
+{ /* var275 = array_instance Array[Object] */
+var276 = 1;
+var277 = NEW_array__NativeArray(var276, &type_array__NativeArraykernel__Object);
+((struct instance_array__NativeArray*)var277)->values[0] = (val*) var274;
+{
+((void (*)(val*, val*, long))(var275->class->vft[COLOR_array__Array__with_native]))(var275, var277, var276) /* with_native on <var275:Array[Object]>*/;
+}
+}
+{
+file__Object__printn(self, var275); /* Direct call file#Object#printn on <self:AbstractCompiler>*/
+}
+if (varonce278) {
+var279 = varonce278;
+} else {
+var280 = "\11";
+var281 = 1;
+var282 = string__NativeString__to_s_with_length(var280, var281);
+var279 = var282;
+varonce278 = var279;
+}
+{
+{ /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:AbstractCompiler> */
+var285 = self->attrs[COLOR_abstract_compiler__AbstractCompiler___count_type_test_skipped].val; /* _count_type_test_skipped on <self:AbstractCompiler> */
+if (unlikely(var285 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 947);
+show_backtrace(1);
+}
+var283 = var285;
+RET_LABEL284:(void)0;
+}
+}
+{
+var286 = hash_collection__HashMap___91d_93d(var283, var_tag210);
+}
+if (varonce287) {
+var288 = varonce287;
+} else {
+var289 = " (";
+var290 = 2;
+var291 = string__NativeString__to_s_with_length(var289, var290);
+var288 = var291;
+varonce287 = var288;
+}
+{
+{ /* Inline abstract_compiler#AbstractCompiler#count_type_test_skipped (self) on <self:AbstractCompiler> */
+var294 = self->attrs[COLOR_abstract_compiler__AbstractCompiler___count_type_test_skipped].val; /* _count_type_test_skipped on <self:AbstractCompiler> */
+if (unlikely(var294 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _count_type_test_skipped");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 947);
+show_backtrace(1);
+}
+var292 = var294;
+RET_LABEL293:(void)0;
+}
+}
+{
+var295 = hash_collection__HashMap___91d_93d(var292, var_tag210);
+}
+{
+var297 = ((struct instance_kernel__Int*)var295)->value; /* autounbox from nullable Object to Int */;
+var296 = abstract_compiler__AbstractCompiler__div(self, var297, var_count_type_test);
+}
+if (varonce298) {
+var299 = varonce298;
+} else {
+var300 = "%)";
+var301 = 2;
+var302 = string__NativeString__to_s_with_length(var300, var301);
+var299 = var302;
+varonce298 = var299;
+}
+var303 = NEW_array__Array(&type_array__Arraykernel__Object);
+{ /* var303 = array_instance Array[Object] */
+var304 = 5;
+var305 = NEW_array__NativeArray(var304, &type_array__NativeArraykernel__Object);
+((struct instance_array__NativeArray*)var305)->values[0] = (val*) var279;
+((struct instance_array__NativeArray*)var305)->values[1] = (val*) var286;
+((struct instance_array__NativeArray*)var305)->values[2] = (val*) var288;
+((struct instance_array__NativeArray*)var305)->values[3] = (val*) var296;
+((struct instance_array__NativeArray*)var305)->values[4] = (val*) var299;
+{
+((void (*)(val*, val*, long))(var303->class->vft[COLOR_array__Array__with_native]))(var303, var305, var304) /* with_native on <var303:Array[Object]>*/;
+}
+}
+{
+var306 = ((val* (*)(val*))(var303->class->vft[COLOR_string__Object__to_s]))(var303) /* to_s on <var303:Array[Object]>*/;
+}
+var307 = NEW_array__Array(&type_array__Arraykernel__Object);
+{ /* var307 = array_instance Array[Object] */
+var308 = 1;
+var309 = NEW_array__NativeArray(var308, &type_array__NativeArraykernel__Object);
+((struct instance_array__NativeArray*)var309)->values[0] = (val*) var306;
+{
+((void (*)(val*, val*, long))(var307->class->vft[COLOR_array__Array__with_native]))(var307, var309, var308) /* with_native on <var307:Array[Object]>*/;
+}
+}
+{
+file__Object__printn(self, var307); /* Direct call file#Object#printn on <self:AbstractCompiler>*/
+}
+if (varonce310) {
+var311 = varonce310;
+} else {
+var312 = "\11";
+var313 = 1;
+var314 = string__NativeString__to_s_with_length(var312, var313);
+var311 = var314;
+varonce310 = var311;
+}
+{
+var315 = hash_collection__HashMap___91d_93d(var_count_type_test_total, var_tag210);
+}
+if (varonce316) {
+var317 = varonce316;
+} else {
+var318 = " (";
+var319 = 2;
+var320 = string__NativeString__to_s_with_length(var318, var319);
+var317 = var320;
+varonce316 = var317;
+}
+{
+var321 = hash_collection__HashMap___91d_93d(var_count_type_test_total, var_tag210);
+}
+{
+var323 = ((struct instance_kernel__Int*)var321)->value; /* autounbox from nullable Object to Int */;
+var322 = abstract_compiler__AbstractCompiler__div(self, var323, var_count_type_test);
+}
+if (varonce324) {
+var325 = varonce324;
+} else {
+var326 = "%)";
+var327 = 2;
+var328 = string__NativeString__to_s_with_length(var326, var327);
+var325 = var328;
+varonce324 = var325;
+}
+var329 = NEW_array__Array(&type_array__Arraykernel__Object);
+{ /* var329 = array_instance Array[Object] */
+var330 = 5;
+var331 = NEW_array__NativeArray(var330, &type_array__NativeArraykernel__Object);
+((struct instance_array__NativeArray*)var331)->values[0] = (val*) var311;
+((struct instance_array__NativeArray*)var331)->values[1] = (val*) var315;
+((struct instance_array__NativeArray*)var331)->values[2] = (val*) var317;
+((struct instance_array__NativeArray*)var331)->values[3] = (val*) var322;
+((struct instance_array__NativeArray*)var331)->values[4] = (val*) var325;
+{
+((void (*)(val*, val*, long))(var329->class->vft[COLOR_array__Array__with_native]))(var329, var331, var330) /* with_native on <var329:Array[Object]>*/;
+}
+}
+{
+var332 = ((val* (*)(val*))(var329->class->vft[COLOR_string__Object__to_s]))(var329) /* to_s on <var329:Array[Object]>*/;
+}
+var333 = NEW_array__Array(&type_array__Arraykernel__Object);
+{ /* var333 = array_instance Array[Object] */
+var334 = 1;
+var335 = NEW_array__NativeArray(var334, &type_array__NativeArraykernel__Object);
+((struct instance_array__NativeArray*)var335)->values[0] = (val*) var332;
+{
+((void (*)(val*, val*, long))(var333->class->vft[COLOR_array__Array__with_native]))(var333, var335, var334) /* with_native on <var333:Array[Object]>*/;
+}
+}
+{
+file__Object__printn(self, var333); /* Direct call file#Object#printn on <self:AbstractCompiler>*/
+}
+if (varonce336) {
+var337 = varonce336;
+} else {
+var338 = "";
+var339 = 0;
+var340 = string__NativeString__to_s_with_length(var338, var339);
+var337 = var340;
+varonce336 = var337;
+}
+{
+file__Object__print(self, var337); /* Direct call file#Object#print on <self:AbstractCompiler>*/
+}
+{
+array__ArrayIterator__next(var_207); /* Direct call array#ArrayIterator#next on <var_207:ArrayIterator[String]>*/
+}
+} else {
+goto BREAK_label341;
+}
+}
+BREAK_label341: (void)0;
+{
+{ /* Inline abstract_collection#Iterator#finish (var_207) on <var_207:ArrayIterator[String]> */
+RET_LABEL342:(void)0;
+}
+}
+} else {
+}
+RET_LABEL:;
+}
+/* method abstract_compiler#AbstractCompiler#display_stats for (self: Object) */
+void VIRTUAL_abstract_compiler__AbstractCompiler__display_stats(val* self) {
+abstract_compiler__AbstractCompiler__display_stats(self); /* Direct call abstract_compiler#AbstractCompiler#display_stats on <self:Object(AbstractCompiler)>*/
+RET_LABEL:;
+}
+/* method abstract_compiler#AbstractCompiler#finalize_ffi_for_module for (self: AbstractCompiler, MModule) */
+void abstract_compiler__AbstractCompiler__finalize_ffi_for_module(val* self, val* p0) {
+val* var_mmodule /* var mmodule: MModule */;
+val* var_c /* var c: AbstractCompiler */;
+var_mmodule = p0;
+{
+{ /* Inline abstract_compiler#MModule#finalize_ffi (var_mmodule,self) on <var_mmodule:MModule> */
+var_c = self;
+RET_LABEL1:(void)0;
+}
+}
+RET_LABEL:;
+}
+/* method abstract_compiler#AbstractCompiler#finalize_ffi_for_module for (self: Object, MModule) */
+void VIRTUAL_abstract_compiler__AbstractCompiler__finalize_ffi_for_module(val* self, val* p0) {
+abstract_compiler__AbstractCompiler__finalize_ffi_for_module(self, p0); /* Direct call abstract_compiler#AbstractCompiler#finalize_ffi_for_module on <self:Object(AbstractCompiler)>*/
+RET_LABEL:;
+}
+/* method abstract_compiler#AbstractCompiler#div for (self: AbstractCompiler, Int, Int): String */
+val* abstract_compiler__AbstractCompiler__div(val* self, long p0, long p1) {
+val* var /* : String */;
+long var_a /* var a: Int */;
+long var_b /* var b: Int */;
+long var1 /* : Int */;
+short int var2 /* : Bool */;
+short int var3 /* : Bool */;
+short int var5 /* : Bool */;
+static val* varonce;
+val* var6 /* : String */;
+char* var7 /* : NativeString */;
+long var8 /* : Int */;
+val* var9 /* : FlatString */;
+long var10 /* : Int */;
+long var11 /* : Int */;
+short int var13 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+long var14 /* : Int */;
+long var15 /* : Int */;
+short int var17 /* : Bool */;
+int cltype18;
+int idtype19;
+const char* var_class_name20;
+long var21 /* : Int */;
+double var22 /* : Float */;
+double var24 /* : Float */;
+double var25 /* : Float */;
+double var26 /* : Float */;
+short int var28 /* : Bool */;
+int cltype29;
+int idtype30;
+const char* var_class_name31;
+double var32 /* : Float */;
+long var33 /* : Int */;
+val* var34 /* : String */;
+var_a = p0;
+var_b = p1;
+var1 = 0;
+{
+{ /* Inline kernel#Int#== (var_b,var1) on <var_b:Int> */
+var5 = var_b == var1;
+var3 = var5;
+goto RET_LABEL4;
+RET_LABEL4:(void)0;
+}
+var2 = var3;
+}
+if (var2){
+if (varonce) {
+var6 = varonce;
+} else {
+var7 = "n/a";
+var8 = 3;
+var9 = string__NativeString__to_s_with_length(var7, var8);
+var6 = var9;
+varonce = var6;
+}
+var = var6;
+goto RET_LABEL;
+} else {
+}
+var10 = 10000;
+{
+{ /* Inline kernel#Int#* (var_a,var10) on <var_a:Int> */
+/* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
+/* <var10:Int> isa OTHER */
+var13 = 1; /* easy <var10:Int> isa OTHER*/
+if (unlikely(!var13)) {
+var_class_name = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 378);
+show_backtrace(1);
+}
+var14 = var_a * var10;
+var11 = var14;
+goto RET_LABEL12;
+RET_LABEL12:(void)0;
+}
+}
+{
+{ /* Inline kernel#Int#/ (var11,var_b) on <var11:Int> */
+/* Covariant cast for argument 0 (i) <var_b:Int> isa OTHER */
+/* <var_b:Int> isa OTHER */
+var17 = 1; /* easy <var_b:Int> isa OTHER*/
+if (unlikely(!var17)) {
+var_class_name20 = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 379);
+show_backtrace(1);
+}
+var21 = var11 / var_b;
+var15 = var21;
+goto RET_LABEL16;
+RET_LABEL16:(void)0;
+}
+}
+{
+{ /* Inline kernel#Int#to_f (var15) on <var15:Int> */
+var24 = (double)var15;
+var22 = var24;
+goto RET_LABEL23;
+RET_LABEL23:(void)0;
+}
+}
+var25 = 100.0;
+{
+{ /* Inline kernel#Float#/ (var22,var25) on <var22:Float> */
+/* Covariant cast for argument 0 (i) <var25:Float> isa OTHER */
+/* <var25:Float> isa OTHER */
+var28 = 1; /* easy <var25:Float> isa OTHER*/
+if (unlikely(!var28)) {
+var_class_name31 = type_kernel__Float.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name31);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 306);
+show_backtrace(1);
+}
+var32 = var22 / var25;
+var26 = var32;
+goto RET_LABEL27;
+RET_LABEL27:(void)0;
+}
+}
+var33 = 2;
+{
+var34 = string__Float__to_precision(var26, var33);
+}
+var = var34;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#AbstractCompiler#div for (self: Object, Int, Int): String */
+val* VIRTUAL_abstract_compiler__AbstractCompiler__div(val* self, long p0, long p1) {
+val* var /* : String */;
+val* var1 /* : String */;
+var1 = abstract_compiler__AbstractCompiler__div(self, p0, p1);
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#CodeFile#name for (self: CodeFile): String */
+val* abstract_compiler__CodeFile__name(val* self) {
+val* var /* : String */;
+val* var1 /* : String */;
+var1 = self->attrs[COLOR_abstract_compiler__CodeFile___name].val; /* _name on <self:CodeFile> */
+if (unlikely(var1 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1011);
+show_backtrace(1);
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#CodeFile#name for (self: Object): String */
+val* VIRTUAL_abstract_compiler__CodeFile__name(val* self) {
+val* var /* : String */;
+val* var1 /* : String */;
+val* var3 /* : String */;
+{ /* Inline abstract_compiler#CodeFile#name (self) on <self:Object(CodeFile)> */
+var3 = self->attrs[COLOR_abstract_compiler__CodeFile___name].val; /* _name on <self:Object(CodeFile)> */
+if (unlikely(var3 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1011);
+show_backtrace(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#CodeFile#name= for (self: CodeFile, String) */
+void abstract_compiler__CodeFile__name_61d(val* self, val* p0) {
+self->attrs[COLOR_abstract_compiler__CodeFile___name].val = p0; /* _name on <self:CodeFile> */
+RET_LABEL:;
+}
+/* method abstract_compiler#CodeFile#name= for (self: Object, String) */
+void VIRTUAL_abstract_compiler__CodeFile__name_61d(val* self, val* p0) {
+{ /* Inline abstract_compiler#CodeFile#name= (self,p0) on <self:Object(CodeFile)> */
+self->attrs[COLOR_abstract_compiler__CodeFile___name].val = p0; /* _name on <self:Object(CodeFile)> */
+RET_LABEL1:(void)0;
+}
+RET_LABEL:;
+}
+/* method abstract_compiler#CodeFile#writers for (self: CodeFile): Array[CodeWriter] */
+val* abstract_compiler__CodeFile__writers(val* self) {
+val* var /* : Array[CodeWriter] */;
+val* var1 /* : Array[CodeWriter] */;
+var1 = self->attrs[COLOR_abstract_compiler__CodeFile___writers].val; /* _writers on <self:CodeFile> */
+if (unlikely(var1 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writers");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1012);
+show_backtrace(1);
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#CodeFile#writers for (self: Object): Array[CodeWriter] */
+val* VIRTUAL_abstract_compiler__CodeFile__writers(val* self) {
+val* var /* : Array[CodeWriter] */;
+val* var1 /* : Array[CodeWriter] */;
+val* var3 /* : Array[CodeWriter] */;
+{ /* Inline abstract_compiler#CodeFile#writers (self) on <self:Object(CodeFile)> */
+var3 = self->attrs[COLOR_abstract_compiler__CodeFile___writers].val; /* _writers on <self:Object(CodeFile)> */
+if (unlikely(var3 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writers");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1012);
+show_backtrace(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#CodeFile#required_declarations for (self: CodeFile): HashSet[String] */
+val* abstract_compiler__CodeFile__required_declarations(val* self) {
+val* var /* : HashSet[String] */;
+val* var1 /* : HashSet[String] */;
+var1 = self->attrs[COLOR_abstract_compiler__CodeFile___required_declarations].val; /* _required_declarations on <self:CodeFile> */
+if (unlikely(var1 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _required_declarations");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1013);
+show_backtrace(1);
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#CodeFile#required_declarations for (self: Object): HashSet[String] */
+val* VIRTUAL_abstract_compiler__CodeFile__required_declarations(val* self) {
+val* var /* : HashSet[String] */;
+val* var1 /* : HashSet[String] */;
+val* var3 /* : HashSet[String] */;
+{ /* Inline abstract_compiler#CodeFile#required_declarations (self) on <self:Object(CodeFile)> */
+var3 = self->attrs[COLOR_abstract_compiler__CodeFile___required_declarations].val; /* _required_declarations on <self:Object(CodeFile)> */
+if (unlikely(var3 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _required_declarations");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1013);
+show_backtrace(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#CodeFile#init for (self: CodeFile) */
+void abstract_compiler__CodeFile__init(val* self) {
+{
+((void (*)(val*))(self->class->vft[COLOR_abstract_compiler__CodeFile__init]))(self) /* init on <self:CodeFile>*/;
+}
+RET_LABEL:;
+}
+/* method abstract_compiler#CodeFile#init for (self: Object) */
+void VIRTUAL_abstract_compiler__CodeFile__init(val* self) {
+{ /* Inline abstract_compiler#CodeFile#init (self) on <self:Object(CodeFile)> */
+{
+((void (*)(val*))(self->class->vft[COLOR_abstract_compiler__CodeFile__init]))(self) /* init on <self:Object(CodeFile)>*/;
+}
+RET_LABEL1:(void)0;
+}
+RET_LABEL:;
+}
+/* method abstract_compiler#CodeWriter#file for (self: CodeWriter): CodeFile */
+val* abstract_compiler__CodeWriter__file(val* self) {
+val* var /* : CodeFile */;
+val* var1 /* : CodeFile */;
+var1 = self->attrs[COLOR_abstract_compiler__CodeWriter___file].val; /* _file on <self:CodeWriter> */
+if (unlikely(var1 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _file");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1018);
+show_backtrace(1);
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#CodeWriter#file for (self: Object): CodeFile */
+val* VIRTUAL_abstract_compiler__CodeWriter__file(val* self) {
+val* var /* : CodeFile */;
+val* var1 /* : CodeFile */;
+val* var3 /* : CodeFile */;
+{ /* Inline abstract_compiler#CodeWriter#file (self) on <self:Object(CodeWriter)> */
+var3 = self->attrs[COLOR_abstract_compiler__CodeWriter___file].val; /* _file on <self:Object(CodeWriter)> */
+if (unlikely(var3 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _file");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1018);
+show_backtrace(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#CodeWriter#file= for (self: CodeWriter, CodeFile) */
+void abstract_compiler__CodeWriter__file_61d(val* self, val* p0) {
+self->attrs[COLOR_abstract_compiler__CodeWriter___file].val = p0; /* _file on <self:CodeWriter> */
+RET_LABEL:;
+}
+/* method abstract_compiler#CodeWriter#file= for (self: Object, CodeFile) */
+void VIRTUAL_abstract_compiler__CodeWriter__file_61d(val* self, val* p0) {
+{ /* Inline abstract_compiler#CodeWriter#file= (self,p0) on <self:Object(CodeWriter)> */
+self->attrs[COLOR_abstract_compiler__CodeWriter___file].val = p0; /* _file on <self:Object(CodeWriter)> */
+RET_LABEL1:(void)0;
+}
+RET_LABEL:;
+}
+/* method abstract_compiler#CodeWriter#lines for (self: CodeWriter): List[String] */
+val* abstract_compiler__CodeWriter__lines(val* self) {
+val* var /* : List[String] */;
+val* var1 /* : List[String] */;
+var1 = self->attrs[COLOR_abstract_compiler__CodeWriter___lines].val; /* _lines on <self:CodeWriter> */
+if (unlikely(var1 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lines");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1019);
+show_backtrace(1);
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#CodeWriter#lines for (self: Object): List[String] */
+val* VIRTUAL_abstract_compiler__CodeWriter__lines(val* self) {
+val* var /* : List[String] */;
+val* var1 /* : List[String] */;
+val* var3 /* : List[String] */;
+{ /* Inline abstract_compiler#CodeWriter#lines (self) on <self:Object(CodeWriter)> */
+var3 = self->attrs[COLOR_abstract_compiler__CodeWriter___lines].val; /* _lines on <self:Object(CodeWriter)> */
+if (unlikely(var3 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lines");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1019);
+show_backtrace(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#CodeWriter#decl_lines for (self: CodeWriter): List[String] */
+val* abstract_compiler__CodeWriter__decl_lines(val* self) {
+val* var /* : List[String] */;
+val* var1 /* : List[String] */;
+var1 = self->attrs[COLOR_abstract_compiler__CodeWriter___decl_lines].val; /* _decl_lines on <self:CodeWriter> */
+if (unlikely(var1 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1020);
+show_backtrace(1);
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#CodeWriter#decl_lines for (self: Object): List[String] */
+val* VIRTUAL_abstract_compiler__CodeWriter__decl_lines(val* self) {
+val* var /* : List[String] */;
+val* var1 /* : List[String] */;
+val* var3 /* : List[String] */;
+{ /* Inline abstract_compiler#CodeWriter#decl_lines (self) on <self:Object(CodeWriter)> */
+var3 = self->attrs[COLOR_abstract_compiler__CodeWriter___decl_lines].val; /* _decl_lines on <self:Object(CodeWriter)> */
+if (unlikely(var3 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1020);
+show_backtrace(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#CodeWriter#add_decl for (self: CodeWriter, String) */
+void abstract_compiler__CodeWriter__add_decl(val* self, val* p0) {
+val* var_s /* var s: String */;
+val* var /* : List[String] */;
+val* var2 /* : List[String] */;
+var_s = p0;
+{
+{ /* Inline abstract_compiler#CodeWriter#decl_lines (self) on <self:CodeWriter> */
+var2 = self->attrs[COLOR_abstract_compiler__CodeWriter___decl_lines].val; /* _decl_lines on <self:CodeWriter> */
+if (unlikely(var2 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1020);
+show_backtrace(1);
+}
+var = var2;
+RET_LABEL1:(void)0;
+}
+}
+{
+abstract_collection__Sequence__add(var, var_s); /* Direct call abstract_collection#Sequence#add on <var:List[String]>*/
+}
+RET_LABEL:;
+}
+/* method abstract_compiler#CodeWriter#add_decl for (self: Object, String) */
+void VIRTUAL_abstract_compiler__CodeWriter__add_decl(val* self, val* p0) {
+abstract_compiler__CodeWriter__add_decl(self, p0); /* Direct call abstract_compiler#CodeWriter#add_decl on <self:Object(CodeWriter)>*/
+RET_LABEL:;
+}
+/* method abstract_compiler#CodeWriter#init for (self: CodeWriter, CodeFile) */
+void abstract_compiler__CodeWriter__init(val* self, val* p0) {
+val* var_file /* var file: CodeFile */;
+val* var /* : Array[CodeWriter] */;
+val* var3 /* : Array[CodeWriter] */;
+var_file = p0;
+{
+{ /* Inline abstract_compiler#CodeWriter#file= (self,var_file) on <self:CodeWriter> */
+self->attrs[COLOR_abstract_compiler__CodeWriter___file].val = var_file; /* _file on <self:CodeWriter> */
+RET_LABEL1:(void)0;
+}
+}
+{
+{ /* Inline abstract_compiler#CodeFile#writers (var_file) on <var_file:CodeFile> */
+var3 = var_file->attrs[COLOR_abstract_compiler__CodeFile___writers].val; /* _writers on <var_file:CodeFile> */
+if (unlikely(var3 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writers");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1012);
+show_backtrace(1);
+}
+var = var3;
+RET_LABEL2:(void)0;
+}
+}
+{
+array__Array__add(var, self); /* Direct call array#Array#add on <var:Array[CodeWriter]>*/
+}
+RET_LABEL:;
+}
+/* method abstract_compiler#CodeWriter#init for (self: Object, CodeFile) */
+void VIRTUAL_abstract_compiler__CodeWriter__init(val* self, val* p0) {
+abstract_compiler__CodeWriter__init(self, p0); /* Direct call abstract_compiler#CodeWriter#init on <self:Object(CodeWriter)>*/
+RET_LABEL:;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#compiler for (self: AbstractCompilerVisitor): AbstractCompiler */
+val* abstract_compiler__AbstractCompilerVisitor__compiler(val* self) {
+val* var /* : AbstractCompiler */;
+val* var1 /* : AbstractCompiler */;
+var1 = self->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on <self:AbstractCompilerVisitor> */
+if (unlikely(var1 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
+show_backtrace(1);
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#compiler for (self: Object): AbstractCompiler */
+val* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__compiler(val* self) {
+val* var /* : AbstractCompiler */;
+val* var1 /* : AbstractCompiler */;
+val* var3 /* : AbstractCompiler */;
+{ /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:Object(AbstractCompilerVisitor)> */
+var3 = self->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on <self:Object(AbstractCompilerVisitor)> */
+if (unlikely(var3 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
+show_backtrace(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#compiler= for (self: AbstractCompilerVisitor, AbstractCompiler) */
+void abstract_compiler__AbstractCompilerVisitor__compiler_61d(val* self, val* p0) {
+short int var /* : Bool */;
+int cltype;
+int idtype;
+const struct type* type_struct;
+const char* var_class_name;
+/* Covariant cast for argument 0 (compiler) <p0:AbstractCompiler> isa COMPILER */
+/* <p0:AbstractCompiler> isa COMPILER */
+type_struct = self->type->resolution_table->types[COLOR_abstract_compiler__AbstractCompilerVisitor_VTCOMPILER];
+cltype = type_struct->color;
+idtype = type_struct->id;
+if(cltype >= p0->type->table_size) {
+var = 0;
+} else {
+var = p0->type->type_table[cltype] == idtype;
+}
+if (unlikely(!var)) {
+var_class_name = p0 == NULL ? "null" : p0->type->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
+show_backtrace(1);
+}
+self->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler].val = p0; /* _compiler on <self:AbstractCompilerVisitor> */
+RET_LABEL:;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#compiler= for (self: Object, AbstractCompiler) */
+void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__compiler_61d(val* self, val* p0) {
+short int var /* : Bool */;
+int cltype;
+int idtype;
+const struct type* type_struct;
+const char* var_class_name;
+{ /* Inline abstract_compiler#AbstractCompilerVisitor#compiler= (self,p0) on <self:Object(AbstractCompilerVisitor)> */
+/* Covariant cast for argument 0 (compiler) <p0:AbstractCompiler> isa COMPILER */
+/* <p0:AbstractCompiler> isa COMPILER */
+type_struct = self->type->resolution_table->types[COLOR_abstract_compiler__AbstractCompilerVisitor_VTCOMPILER];
+cltype = type_struct->color;
+idtype = type_struct->id;
+if(cltype >= p0->type->table_size) {
+var = 0;
+} else {
+var = p0->type->type_table[cltype] == idtype;
+}
+if (unlikely(!var)) {
+var_class_name = p0 == NULL ? "null" : p0->type->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
+show_backtrace(1);
+}
+self->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler].val = p0; /* _compiler on <self:Object(AbstractCompilerVisitor)> */
+RET_LABEL1:(void)0;
+}
+RET_LABEL:;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#current_node for (self: AbstractCompilerVisitor): nullable ANode */
+val* abstract_compiler__AbstractCompilerVisitor__current_node(val* self) {
+val* var /* : nullable ANode */;
+val* var1 /* : nullable ANode */;
+var1 = self->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node].val; /* _current_node on <self:AbstractCompilerVisitor> */
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#current_node for (self: Object): nullable ANode */
+val* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__current_node(val* self) {
+val* var /* : nullable ANode */;
+val* var1 /* : nullable ANode */;
+val* var3 /* : nullable ANode */;
+{ /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on <self:Object(AbstractCompilerVisitor)> */
+var3 = self->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node].val; /* _current_node on <self:Object(AbstractCompilerVisitor)> */
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#current_node= for (self: AbstractCompilerVisitor, nullable ANode) */
+void abstract_compiler__AbstractCompilerVisitor__current_node_61d(val* self, val* p0) {
+self->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node].val = p0; /* _current_node on <self:AbstractCompilerVisitor> */
+RET_LABEL:;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#current_node= for (self: Object, nullable ANode) */
+void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__current_node_61d(val* self, val* p0) {
+{ /* Inline abstract_compiler#AbstractCompilerVisitor#current_node= (self,p0) on <self:Object(AbstractCompilerVisitor)> */
+self->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node].val = p0; /* _current_node on <self:Object(AbstractCompilerVisitor)> */
+RET_LABEL1:(void)0;
+}
+RET_LABEL:;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#frame for (self: AbstractCompilerVisitor): nullable Frame */
+val* abstract_compiler__AbstractCompilerVisitor__frame(val* self) {
+val* var /* : nullable Frame */;
+val* var1 /* : nullable Frame */;
+var1 = self->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___frame].val; /* _frame on <self:AbstractCompilerVisitor> */
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#frame for (self: Object): nullable Frame */
+val* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__frame(val* self) {
+val* var /* : nullable Frame */;
+val* var1 /* : nullable Frame */;
+val* var3 /* : nullable Frame */;
+{ /* Inline abstract_compiler#AbstractCompilerVisitor#frame (self) on <self:Object(AbstractCompilerVisitor)> */
+var3 = self->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___frame].val; /* _frame on <self:Object(AbstractCompilerVisitor)> */
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#frame= for (self: AbstractCompilerVisitor, nullable Frame) */
+void abstract_compiler__AbstractCompilerVisitor__frame_61d(val* self, val* p0) {
+self->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___frame].val = p0; /* _frame on <self:AbstractCompilerVisitor> */
+RET_LABEL:;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#frame= for (self: Object, nullable Frame) */
+void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__frame_61d(val* self, val* p0) {
+{ /* Inline abstract_compiler#AbstractCompilerVisitor#frame= (self,p0) on <self:Object(AbstractCompilerVisitor)> */
+self->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___frame].val = p0; /* _frame on <self:Object(AbstractCompilerVisitor)> */
+RET_LABEL1:(void)0;
+}
+RET_LABEL:;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#object_type for (self: AbstractCompilerVisitor): MClassType */
+val* abstract_compiler__AbstractCompilerVisitor__object_type(val* self) {
+val* var /* : MClassType */;
+val* var1 /* : AbstractCompiler */;
+val* var3 /* : AbstractCompiler */;
+val* var4 /* : MModule */;
+val* var6 /* : MModule */;
+val* var7 /* : MClassType */;
+{
+{ /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
+var3 = self->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on <self:AbstractCompilerVisitor> */
+if (unlikely(var3 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
+show_backtrace(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+{
+{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (var1) on <var1:AbstractCompiler> */
+var6 = var1->attrs[COLOR_abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <var1:AbstractCompiler> */
+if (unlikely(var6 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 463);
+show_backtrace(1);
+}
+var4 = var6;
+RET_LABEL5:(void)0;
+}
+}
+{
+var7 = model__MModule__object_type(var4);
+}
+var = var7;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#object_type for (self: Object): MClassType */
+val* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__object_type(val* self) {
+val* var /* : MClassType */;
+val* var1 /* : MClassType */;
+var1 = abstract_compiler__AbstractCompilerVisitor__object_type(self);
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#bool_type for (self: AbstractCompilerVisitor): MClassType */
+val* abstract_compiler__AbstractCompilerVisitor__bool_type(val* self) {
+val* var /* : MClassType */;
+val* var1 /* : AbstractCompiler */;
+val* var3 /* : AbstractCompiler */;
+val* var4 /* : MModule */;
+val* var6 /* : MModule */;
+val* var7 /* : MClassType */;
+{
+{ /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
+var3 = self->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on <self:AbstractCompilerVisitor> */
+if (unlikely(var3 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
+show_backtrace(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+{
+{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (var1) on <var1:AbstractCompiler> */
+var6 = var1->attrs[COLOR_abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <var1:AbstractCompiler> */
+if (unlikely(var6 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 463);
+show_backtrace(1);
+}
+var4 = var6;
+RET_LABEL5:(void)0;
+}
+}
+{
+var7 = model__MModule__bool_type(var4);
+}
+var = var7;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#bool_type for (self: Object): MClassType */
+val* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__bool_type(val* self) {
+val* var /* : MClassType */;
+val* var1 /* : MClassType */;
+var1 = abstract_compiler__AbstractCompilerVisitor__bool_type(self);
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#writer for (self: AbstractCompilerVisitor): CodeWriter */
+val* abstract_compiler__AbstractCompilerVisitor__writer(val* self) {
+val* var /* : CodeWriter */;
+val* var1 /* : CodeWriter */;
+var1 = self->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___writer].val; /* _writer on <self:AbstractCompilerVisitor> */
+if (unlikely(var1 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writer");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1056);
+show_backtrace(1);
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#writer for (self: Object): CodeWriter */
+val* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__writer(val* self) {
+val* var /* : CodeWriter */;
+val* var1 /* : CodeWriter */;
+val* var3 /* : CodeWriter */;
+{ /* Inline abstract_compiler#AbstractCompilerVisitor#writer (self) on <self:Object(AbstractCompilerVisitor)> */
+var3 = self->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___writer].val; /* _writer on <self:Object(AbstractCompilerVisitor)> */
+if (unlikely(var3 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writer");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1056);
+show_backtrace(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#writer= for (self: AbstractCompilerVisitor, CodeWriter) */
+void abstract_compiler__AbstractCompilerVisitor__writer_61d(val* self, val* p0) {
+self->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___writer].val = p0; /* _writer on <self:AbstractCompilerVisitor> */
+RET_LABEL:;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#writer= for (self: Object, CodeWriter) */
+void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__writer_61d(val* self, val* p0) {
+{ /* Inline abstract_compiler#AbstractCompilerVisitor#writer= (self,p0) on <self:Object(AbstractCompilerVisitor)> */
+self->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___writer].val = p0; /* _writer on <self:Object(AbstractCompilerVisitor)> */
+RET_LABEL1:(void)0;
+}
+RET_LABEL:;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#init for (self: AbstractCompilerVisitor, AbstractCompiler) */
+void abstract_compiler__AbstractCompilerVisitor__init(val* self, val* p0) {
+short int var /* : Bool */;
+int cltype;
+int idtype;
+const struct type* type_struct;
+const char* var_class_name;
+val* var_compiler /* var compiler: AbstractCompiler */;
+short int var2 /* : Bool */;
+int cltype3;
+int idtype4;
+const struct type* type_struct5;
+const char* var_class_name6;
+val* var7 /* : CodeWriter */;
+val* var8 /* : List[CodeFile] */;
+val* var10 /* : List[CodeFile] */;
+val* var11 /* : nullable Object */;
+/* Covariant cast for argument 0 (compiler) <p0:AbstractCompiler> isa COMPILER */
+/* <p0:AbstractCompiler> isa COMPILER */
+type_struct = self->type->resolution_table->types[COLOR_abstract_compiler__AbstractCompilerVisitor_VTCOMPILER];
+cltype = type_struct->color;
+idtype = type_struct->id;
+if(cltype >= p0->type->table_size) {
+var = 0;
+} else {
+var = p0->type->type_table[cltype] == idtype;
+}
+if (unlikely(!var)) {
+var_class_name = p0 == NULL ? "null" : p0->type->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1058);
+show_backtrace(1);
+}
+var_compiler = p0;
+{
+{ /* Inline abstract_compiler#AbstractCompilerVisitor#compiler= (self,var_compiler) on <self:AbstractCompilerVisitor> */
+/* Covariant cast for argument 0 (compiler) <var_compiler:AbstractCompiler> isa COMPILER */
+/* <var_compiler:AbstractCompiler> isa COMPILER */
+type_struct5 = self->type->resolution_table->types[COLOR_abstract_compiler__AbstractCompilerVisitor_VTCOMPILER];
+cltype3 = type_struct5->color;
+idtype4 = type_struct5->id;
+if(cltype3 >= var_compiler->type->table_size) {
+var2 = 0;
+} else {
+var2 = var_compiler->type->type_table[cltype3] == idtype4;
+}
+if (unlikely(!var2)) {
+var_class_name6 = var_compiler == NULL ? "null" : var_compiler->type->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name6);
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
+show_backtrace(1);
+}
+self->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler].val = var_compiler; /* _compiler on <self:AbstractCompilerVisitor> */
+RET_LABEL1:(void)0;
+}
+}
+var7 = NEW_abstract_compiler__CodeWriter(&type_abstract_compiler__CodeWriter);
+{
+{ /* Inline abstract_compiler#AbstractCompiler#files (var_compiler) on <var_compiler:AbstractCompiler> */
+var10 = var_compiler->attrs[COLOR_abstract_compiler__AbstractCompiler___files].val; /* _files on <var_compiler:AbstractCompiler> */
+if (unlikely(var10 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 499);
+show_backtrace(1);
+}
+var8 = var10;
+RET_LABEL9:(void)0;
+}
+}
+{
+var11 = list__List__last(var8);
+}
+{
+abstract_compiler__CodeWriter__init(var7, var11); /* Direct call abstract_compiler#CodeWriter#init on <var7:CodeWriter>*/
+}
+{
+{ /* Inline abstract_compiler#AbstractCompilerVisitor#writer= (self,var7) on <self:AbstractCompilerVisitor> */
+self->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___writer].val = var7; /* _writer on <self:AbstractCompilerVisitor> */
+RET_LABEL12:(void)0;
+}
+}
+RET_LABEL:;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#init for (self: Object, AbstractCompiler) */
+void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__init(val* self, val* p0) {
+abstract_compiler__AbstractCompilerVisitor__init(self, p0); /* Direct call abstract_compiler#AbstractCompilerVisitor#init on <self:Object(AbstractCompilerVisitor)>*/
+RET_LABEL:;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#get_class for (self: AbstractCompilerVisitor, String): MClass */
+val* abstract_compiler__AbstractCompilerVisitor__get_class(val* self, val* p0) {
+val* var /* : MClass */;
+val* var_name /* var name: String */;
+val* var1 /* : AbstractCompiler */;
+val* var3 /* : AbstractCompiler */;
+val* var4 /* : MModule */;
+val* var6 /* : MModule */;
+val* var7 /* : MClass */;
+var_name = p0;
+{
+{ /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
+var3 = self->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on <self:AbstractCompilerVisitor> */
+if (unlikely(var3 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
+show_backtrace(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+{
+{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (var1) on <var1:AbstractCompiler> */
+var6 = var1->attrs[COLOR_abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <var1:AbstractCompiler> */
+if (unlikely(var6 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 463);
+show_backtrace(1);
+}
+var4 = var6;
+RET_LABEL5:(void)0;
+}
+}
+{
+var7 = model__MModule__get_primitive_class(var4, var_name);
+}
+var = var7;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#get_class for (self: Object, String): MClass */
+val* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__get_class(val* self, val* p0) {
+val* var /* : MClass */;
+val* var1 /* : MClass */;
+var1 = abstract_compiler__AbstractCompilerVisitor__get_class(self, p0);
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#get_property for (self: AbstractCompilerVisitor, String, MType): MMethod */
+val* abstract_compiler__AbstractCompilerVisitor__get_property(val* self, val* p0, val* p1) {
+val* var /* : MMethod */;
+val* var_name /* var name: String */;
+val* var_recv /* var recv: MType */;
+short int var1 /* : Bool */;
+int cltype;
+int idtype;
+val* var2 /* : AbstractCompiler */;
+val* var4 /* : AbstractCompiler */;
+val* var5 /* : ModelBuilder */;
+val* var7 /* : ModelBuilder */;
+val* var8 /* : nullable ANode */;
+val* var10 /* : nullable ANode */;
+val* var11 /* : MClass */;
+val* var13 /* : MClass */;
+val* var14 /* : AbstractCompiler */;
+val* var16 /* : AbstractCompiler */;
+val* var17 /* : MModule */;
+val* var19 /* : MModule */;
+val* var20 /* : MMethod */;
+var_name = p0;
+var_recv = p1;
+/* <var_recv:MType> isa MClassType */
+cltype = type_model__MClassType.color;
+idtype = type_model__MClassType.id;
+if(cltype >= var_recv->type->table_size) {
+var1 = 0;
+} else {
+var1 = var_recv->type->type_table[cltype] == idtype;
+}
+if (unlikely(!var1)) {
+PRINT_ERROR("Runtime error: %s", "Assert failed");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1070);
+show_backtrace(1);
+}
+{
+{ /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
+var4 = self->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on <self:AbstractCompilerVisitor> */
+if (unlikely(var4 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
+show_backtrace(1);
+}
+var2 = var4;
+RET_LABEL3:(void)0;
+}
+}
+{
+{ /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var2) on <var2:AbstractCompiler> */
+var7 = var2->attrs[COLOR_abstract_compiler__AbstractCompiler___modelbuilder].val; /* _modelbuilder on <var2:AbstractCompiler> */
+if (unlikely(var7 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 470);
+show_backtrace(1);
+}
+var5 = var7;
+RET_LABEL6:(void)0;
+}
+}
+{
+{ /* Inline abstract_compiler#AbstractCompilerVisitor#current_node (self) on <self:AbstractCompilerVisitor> */
+var10 = self->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___current_node].val; /* _current_node on <self:AbstractCompilerVisitor> */
+var8 = var10;
+RET_LABEL9:(void)0;
+}
+}
+{
+{ /* Inline model#MClassType#mclass (var_recv) on <var_recv:MType(MClassType)> */
+var13 = var_recv->attrs[COLOR_model__MClassType___mclass].val; /* _mclass on <var_recv:MType(MClassType)> */
+if (unlikely(var13 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
+PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 986);
+show_backtrace(1);
+}
+var11 = var13;
+RET_LABEL12:(void)0;
+}
+}
+{
+{ /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (self) on <self:AbstractCompilerVisitor> */
+var16 = self->attrs[COLOR_abstract_compiler__AbstractCompilerVisitor___compiler].val; /* _compiler on <self:AbstractCompilerVisitor> */
+if (unlikely(var16 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1041);
+show_backtrace(1);
+}
+var14 = var16;
+RET_LABEL15:(void)0;
+}
+}
+{
+{ /* Inline abstract_compiler#AbstractCompiler#mainmodule (var14) on <var14:AbstractCompiler> */
+var19 = var14->attrs[COLOR_abstract_compiler__AbstractCompiler___mainmodule].val; /* _mainmodule on <var14:AbstractCompiler> */
+if (unlikely(var19 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 463);
+show_backtrace(1);
+}
+var17 = var19;
+RET_LABEL18:(void)0;
+}
+}
+{
+var20 = modelbuilder__ModelBuilder__force_get_primitive_method(var5, var8, var_name, var11, var17);
+}
+var = var20;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#get_property for (self: Object, String, MType): MMethod */
+val* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__get_property(val* self, val* p0, val* p1) {
+val* var /* : MMethod */;
+val* var1 /* : MMethod */;
+var1 = abstract_compiler__AbstractCompilerVisitor__get_property(self, p0, p1);
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#compile_callsite for (self: AbstractCompilerVisitor, CallSite, Array[RuntimeVariable]): nullable RuntimeVariable */
+val* abstract_compiler__AbstractCompilerVisitor__compile_callsite(val* self, val* p0, val* p1) {
+val* var /* : nullable RuntimeVariable */;
+val* var_callsite /* var callsite: CallSite */;
+val* var_arguments /* var arguments: Array[RuntimeVariable] */;
+val* var1 /* : MMethodDef */;
+val* var3 /* : MMethodDef */;
+val* var4 /* : Array[MProperty] */;
+val* var6 /* : Array[MProperty] */;
+val* var_initializers /* var initializers: Array[MProperty] */;
+short int var7 /* : Bool */;
+short int var8 /* : Bool */;
+val* var9 /* : nullable Object */;
+val* var_recv /* var recv: RuntimeVariable */;
+long var10 /* : Int */;
+long var_i /* var i: Int */;
+val* var_ /* var : Array[MProperty] */;
+val* var11 /* : ArrayIterator[nullable Object] */;
+val* var_12 /* var : ArrayIterator[MProperty] */;
+short int var13 /* : Bool */;
+val* var14 /* : nullable Object */;
+val* var_p /* var p: MProperty */;
+short int var15 /* : Bool */;
+int cltype;
+int idtype;
+val* var16 /* : Array[RuntimeVariable] */;
+long var17 /* : Int */;
+val* var_18 /* var : Array[RuntimeVariable] */;
+val* var_args /* var args: Array[RuntimeVariable] */;
+val* var19 /* : MPropDef */;
+val* var21 /* : MPropDef */;
+val* var22 /* : nullable MSignature */;
+val* var24 /* : nullable MSignature */;
+val* var25 /* : Array[MParameter] */;
+val* var27 /* : Array[MParameter] */;
+val* var_28 /* var : Array[MParameter] */;
+val* var29 /* : ArrayIterator[nullable Object] */;
+val* var_30 /* var : ArrayIterator[MParameter] */;
+short int var31 /* : Bool */;
+val* var32 /* : nullable Object */;
+val* var_x /* var x: MParameter */;
+val* var33 /* : nullable Object */;
+long var34 /* : Int */;
+long var35 /* : Int */;
+short int var37 /* : Bool */;
+int cltype38;
+int idtype39;
+const char* var_class_name;
+long var40 /* : Int */;
+val* var42 /* : nullable RuntimeVariable */;
+short int var43 /* : Bool */;
+int cltype44;
+int idtype45;
+val* var46 /* : nullable Object */;
+long var47 /* : Int */;
+long var48 /* : Int */;
+short int var50 /* : Bool */;
+int cltype51;
+int idtype52;
+const char* var_class_name53;
+long var54 /* : Int */;
+long var57 /* : Int */;
+long var59 /* : Int */;
+short int var60 /* : Bool */;
+short int var61 /* : Bool */;
+short int var63 /* : Bool */;
+val* var64 /* : MMethod */;
+val* var66 /* : MMethod */;
+val* var67 /* : Array[RuntimeVariable] */;
+long var68 /* : Int */;
+val* var_69 /* var : Array[RuntimeVariable] */;
+val* var70 /* : nullable RuntimeVariable */;
+val* var71 /* : MMethod */;
+val* var73 /* : MMethod */;
+val* var74 /* : nullable RuntimeVariable */;
+var_callsite = p0;
+var_arguments = p1;
+{
+{ /* Inline typing#CallSite#mpropdef (var_callsite) on <var_callsite:CallSite> */
+var3 = var_callsite->attrs[COLOR_typing__CallSite___mpropdef].val; /* _mpropdef on <var_callsite:CallSite> */
+if (unlikely(var3 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mpropdef");
+PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 486);
+show_backtrace(1);
+}
+var1 = var3;
+RET_LABEL2:(void)0;
+}
+}
+{
+{ /* Inline model#MMethodDef#initializers (var1) on <var1:MMethodDef> */
+var6 = var1->attrs[COLOR_model__MMethodDef___initializers].val; /* _initializers on <var1:MMethodDef> */
+if (unlikely(var6 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _initializers");
+PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1967);
+show_backtrace(1);
+}
+var4 = var6;
+RET_LABEL5:(void)0;
+}
+}
+var_initializers = var4;
+{
+var7 = array__AbstractArrayRead__is_empty(var_initializers);
+}
+var8 = !var7;
+if (var8){
+{
+var9 = abstract_collection__SequenceRead__first(var_arguments);
+}
+var_recv = var9;
+var10 = 1;
+var_i = var10;
+var_ = var_initializers;
+{
+var11 = array__AbstractArrayRead__iterator(var_);
+}
+var_12 = var11;
+for(;;) {
+{
+var13 = array__ArrayIterator__is_ok(var_12);
+}
+if (var13){
+{
+var14 = array__ArrayIterator__item(var_12);
+}
+var_p = var14;
+/* <var_p:MProperty> isa MMethod */
+cltype = type_model__MMethod.color;
+idtype = type_model__MMethod.id;
+if(cltype >= var_p->type->table_size) {
+var15 = 0;
+} else {
+var15 = var_p->type->type_table[cltype] == idtype;
+}
+if (var15){
+var16 = NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable);
+var17 = 1;
+{
+array__Array__with_capacity(var16, var17); /* Direct call array#Array#with_capacity on <var16:Array[RuntimeVariable]>*/
+}
+var_18 = var16;
+{
+array__AbstractArray__push(var_18, var_recv); /* Direct call array#AbstractArray#push on <var_18:Array[RuntimeVariable]>*/
+}
+var_args = var_18;
+{
+{ /* Inline model#MProperty#intro (var_p) on <var_p:MProperty(MMethod)> */
+var21 = var_p->attrs[COLOR_model__MProperty___intro].val; /* _intro on <var_p:MProperty(MMethod)> */
+if (unlikely(var21 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
+PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1649);
+show_backtrace(1);
+}
+var19 = var21;
+RET_LABEL20:(void)0;
+}
+}
+{
+{ /* Inline model#MMethodDef#msignature (var19) on <var19:MPropDef(MMethodDef)> */
+var24 = var19->attrs[COLOR_model__MMethodDef___msignature].val; /* _msignature on <var19:MPropDef(MMethodDef)> */
+var22 = var24;
+RET_LABEL23:(void)0;
+}
+}
+if (var22 == NULL) {
+PRINT_ERROR("Runtime error: %s", "Receiver is null");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1084);
+show_backtrace(1);
+} else {
+{ /* Inline model#MSignature#mparameters (var22) on <var22:nullable MSignature> */
+if (unlikely(var22 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Receiver is null");
+PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
+show_backtrace(1);
+}
+var27 = var22->attrs[COLOR_model__MSignature___mparameters].val; /* _mparameters on <var22:nullable MSignature> */
+if (unlikely(var27 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
+PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
+show_backtrace(1);
+}
+var25 = var27;
+RET_LABEL26:(void)0;
+}
+}
+var_28 = var25;
+{
+var29 = array__AbstractArrayRead__iterator(var_28);
+}
+var_30 = var29;
+for(;;) {
+{
+var31 = array__ArrayIterator__is_ok(var_30);
+}
+if (var31){
+{
+var32 = array__ArrayIterator__item(var_30);
+}
+var_x = var32;
+{
+var33 = array__Array___91d_93d(var_arguments, var_i);
+}
+{
+array__Array__add(var_args, var33); /* Direct call array#Array#add on <var_args:Array[RuntimeVariable]>*/
+}
+var34 = 1;
+{
+{ /* Inline kernel#Int#+ (var_i,var34) on <var_i:Int> */
+/* Covariant cast for argument 0 (i) <var34:Int> isa OTHER */
+/* <var34:Int> isa OTHER */
+var37 = 1; /* easy <var34:Int> isa OTHER*/
+if (unlikely(!var37)) {
+var_class_name = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
+show_backtrace(1);
+}
+var40 = var_i + var34;
+var35 = var40;
+goto RET_LABEL36;
+RET_LABEL36:(void)0;
+}
+}
+var_i = var35;
+{
+array__ArrayIterator__next(var_30); /* Direct call array#ArrayIterator#next on <var_30:ArrayIterator[MParameter]>*/
+}
+} else {
+goto BREAK_label;
+}
+}
+BREAK_label: (void)0;
+{
+{ /* Inline abstract_collection#Iterator#finish (var_30) on <var_30:ArrayIterator[MParameter]> */
+RET_LABEL41:(void)0;
+}
+}
+{
+var42 = separate_compiler__SeparateCompilerVisitor__send(self, var_p, var_args);
+}
+} else {
+/* <var_p:MProperty> isa MAttribute */
+cltype44 = type_model__MAttribute.color;
+idtype45 = type_model__MAttribute.id;
+if(cltype44 >= var_p->type->table_size) {
+var43 = 0;
+} else {
+var43 = var_p->type->type_table[cltype44] == idtype45;
+}
+if (var43){
+{
+var46 = array__Array___91d_93d(var_arguments, var_i);
+}
+{
+separate_compiler__SeparateCompilerVisitor__write_attribute(self, var_p, var_recv, var46); /* Direct call separate_compiler#SeparateCompilerVisitor#write_attribute on <self:AbstractCompilerVisitor>*/
+}
+var47 = 1;
+{
+{ /* Inline kernel#Int#+ (var_i,var47) on <var_i:Int> */
+/* Covariant cast for argument 0 (i) <var47:Int> isa OTHER */
+/* <var47:Int> isa OTHER */
+var50 = 1; /* easy <var47:Int> isa OTHER*/
+if (unlikely(!var50)) {
+var_class_name53 = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name53);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
+show_backtrace(1);
+}
+var54 = var_i + var47;
+var48 = var54;
+goto RET_LABEL49;
+RET_LABEL49:(void)0;
+}
+}
+var_i = var48;
+} else {
+PRINT_ERROR("Runtime error: %s", "Aborted");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1092);
+show_backtrace(1);
+}
+}
+{
+array__ArrayIterator__next(var_12); /* Direct call array#ArrayIterator#next on <var_12:ArrayIterator[MProperty]>*/
+}
+} else {
+goto BREAK_label55;
+}
+}
+BREAK_label55: (void)0;
+{
+{ /* Inline abstract_collection#Iterator#finish (var_12) on <var_12:ArrayIterator[MProperty]> */
+RET_LABEL56:(void)0;
+}
+}
+{
+{ /* Inline array#AbstractArrayRead#length (var_arguments) on <var_arguments:Array[RuntimeVariable]> */
+var59 = var_arguments->attrs[COLOR_array__AbstractArrayRead___length].l; /* _length on <var_arguments:Array[RuntimeVariable]> */
+var57 = var59;
+RET_LABEL58:(void)0;
+}
+}
+{
+{ /* Inline kernel#Int#== (var_i,var57) on <var_i:Int> */
+var63 = var_i == var57;
+var61 = var63;
+goto RET_LABEL62;
+RET_LABEL62:(void)0;
+}
+var60 = var61;
+}
+if (unlikely(!var60)) {
+PRINT_ERROR("Runtime error: %s", "Assert failed");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1094);
+show_backtrace(1);
+}
+{
+{ /* Inline typing#CallSite#mproperty (var_callsite) on <var_callsite:CallSite> */
+var66 = var_callsite->attrs[COLOR_typing__CallSite___mproperty].val; /* _mproperty on <var_callsite:CallSite> */
+if (unlikely(var66 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
+PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 483);
+show_backtrace(1);
+}
+var64 = var66;
+RET_LABEL65:(void)0;
+}
+}
+var67 = NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable);
+var68 = 1;
+{
+array__Array__with_capacity(var67, var68); /* Direct call array#Array#with_capacity on <var67:Array[RuntimeVariable]>*/
+}
+var_69 = var67;
+{
+array__AbstractArray__push(var_69, var_recv); /* Direct call array#AbstractArray#push on <var_69:Array[RuntimeVariable]>*/
+}
+{
+var70 = separate_compiler__SeparateCompilerVisitor__send(self, var64, var_69);
+}
+var = var70;
+goto RET_LABEL;
+} else {
+}
+{
+{ /* Inline typing#CallSite#mproperty (var_callsite) on <var_callsite:CallSite> */
+var73 = var_callsite->attrs[COLOR_typing__CallSite___mproperty].val; /* _mproperty on <var_callsite:CallSite> */
+if (unlikely(var73 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
+PRINT_ERROR(" (%s:%d)\n", "semantize/typing.nit", 483);
+show_backtrace(1);
+}
+var71 = var73;
+RET_LABEL72:(void)0;
+}
+}
+{
+var74 = separate_compiler__SeparateCompilerVisitor__send(self, var71, var_arguments);
+}
+var = var74;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#compile_callsite for (self: Object, CallSite, Array[RuntimeVariable]): nullable RuntimeVariable */
+val* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__compile_callsite(val* self, val* p0, val* p1) {
+val* var /* : nullable RuntimeVariable */;
+val* var1 /* : nullable RuntimeVariable */;
+var1 = abstract_compiler__AbstractCompilerVisitor__compile_callsite(self, p0, p1);
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#varargize for (self: AbstractCompilerVisitor, MMethodDef, RuntimeVariable, SequenceRead[AExpr]): Array[RuntimeVariable] */
+val* abstract_compiler__AbstractCompilerVisitor__varargize(val* self, val* p0, val* p1, val* p2) {
+val* var /* : Array[RuntimeVariable] */;
+val* var_mpropdef /* var mpropdef: MMethodDef */;
+val* var_recv /* var recv: RuntimeVariable */;
+val* var_args /* var args: SequenceRead[AExpr] */;
+val* var1 /* : MSignature */;
+val* var2 /* : nullable MSignature */;
+val* var4 /* : nullable MSignature */;
+val* var5 /* : nullable MSignature */;
+val* var7 /* : nullable MSignature */;
+val* var_msignature /* var msignature: MSignature */;
+val* var8 /* : Array[RuntimeVariable] */;
+val* var_res /* var res: Array[RuntimeVariable] */;
+short int var9 /* : Bool */;
+long var10 /* : Int */;
+long var12 /* : Int */;
+long var_vararg_rank /* var vararg_rank: Int */;
+long var13 /* : Int */;
+long var14 /* : Int */;
+long var15 /* : Int */;
+short int var17 /* : Bool */;
+int cltype;
+int idtype;
+const char* var_class_name;
+long var18 /* : Int */;
+long var_vararg_len /* var vararg_len: Int */;
+long var19 /* : Int */;
+short int var20 /* : Bool */;
+short int var22 /* : Bool */;
+int cltype23;
+int idtype24;
+const char* var_class_name25;
+short int var26 /* : Bool */;
+long var27 /* : Int */;
+long var28 /* : Int */;
+long var_i /* var i: Int */;
+long var29 /* : Int */;
+long var_ /* var : Int */;
+short int var30 /* : Bool */;
+short int var32 /* : Bool */;
+int cltype33;
+int idtype34;
+const char* var_class_name35;
+short int var36 /* : Bool */;
+short int var37 /* : Bool */;
+short int var38 /* : Bool */;
+short int var40 /* : Bool */;
+val* var41 /* : nullable Object */;
+val* var_ne /* var ne: AExpr */;
+short int var42 /* : Bool */;
+int cltype43;
+int idtype44;
+val* var45 /* : AExpr */;
+val* var47 /* : AExpr */;
+val* var48 /* : null */;
+val* var49 /* : RuntimeVariable */;
+val* var_e /* var e: RuntimeVariable */;
+val* var50 /* : Array[RuntimeVariable] */;
+val* var_vararg /* var vararg: Array[RuntimeVariable] */;
+long var_j /* var j: Int */;
+long var51 /* : Int */;
+short int var53 /* : Bool */;
+int cltype54;
+int idtype55;
+const char* var_class_name56;
+long var57 /* : Int */;
+long var_58 /* var : Int */;
+short int var59 /* : Bool */;
+short int var61 /* : Bool */;
+int cltype62;
+int idtype63;
+const char* var_class_name64;
+short int var65 /* : Bool */;
+val* var66 /* : nullable Object */;
+val* var67 /* : null */;
+val* var68 /* : RuntimeVariable */;
+val* var_e69 /* var e: RuntimeVariable */;
+long var70 /* : Int */;
+long var71 /* : Int */;
+val* var73 /* : Array[MParameter] */;
+val* var75 /* : Array[MParameter] */;
+val* var76 /* : nullable Object */;
+val* var77 /* : MType */;
+val* var79 /* : MType */;
+val* var_elttype /* var elttype: MType */;
+val* var80 /* : RuntimeVariable */;
+val* var_arg /* var arg: RuntimeVariable */;
+long var_j81 /* var j: Int */;
+short int var82 /* : Bool */;
+short int var84 /* : Bool */;
+int cltype85;
+int idtype86;
+const char* var_class_name87;
+short int var88 /* : Bool */;
+long var89 /* : Int */;
+short int var91 /* : Bool */;
+int cltype92;
+int idtype93;
+const char* var_class_name94;
+long var95 /* : Int */;
+val* var96 /* : nullable Object */;
+val* var97 /* : null */;
+val* var98 /* : RuntimeVariable */;
+val* var_e99 /* var e: RuntimeVariable */;
+long var100 /* : Int */;
+long var101 /* : Int */;
+var_mpropdef = p0;
+var_recv = p1;
+var_args = p2;
+{
+{ /* Inline model#MMethodDef#new_msignature (var_mpropdef) on <var_mpropdef:MMethodDef> */
+var4 = var_mpropdef->attrs[COLOR_model__MMethodDef___new_msignature].val; /* _new_msignature on <var_mpropdef:MMethodDef> */
+var2 = var4;
+RET_LABEL3:(void)0;
+}
+}
+if (var2!=NULL) {
+var1 = var2;
+} else {
+{
+{ /* Inline model#MMethodDef#msignature (var_mpropdef) on <var_mpropdef:MMethodDef> */
+var7 = var_mpropdef->attrs[COLOR_model__MMethodDef___msignature].val; /* _msignature on <var_mpropdef:MMethodDef> */
+var5 = var7;
+RET_LABEL6:(void)0;
+}
+}
+if (unlikely(var5 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Cast failed");
+PRINT_ERROR(" (%s:%d)\n", "compiler/abstract_compiler.nit", 1113);
+show_backtrace(1);
+}
+var1 = var5;
+}
+var_msignature = var1;
+var8 = NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable);
+{
+((void (*)(val*))(var8->class->vft[COLOR_kernel__Object__init]))(var8) /* init on <var8:Array[RuntimeVariable]>*/;
+}
+var_res = var8;
+{
+array__Array__add(var_res, var_recv); /* Direct call array#Array#add on <var_res:Array[RuntimeVariable]>*/
+}
+{
+var9 = ((short int (*)(val*))(var_args->class->vft[COLOR_abstract_collection__Collection__is_empty]))(var_args) /* is_empty on <var_args:SequenceRead[AExpr]>*/;
+}
+if (var9){
+var = var_res;
+goto RET_LABEL;
+} else {
+}
+{
+{ /* Inline model#MSignature#vararg_rank (var_msignature) on <var_msignature:MSignature> */
+var12 = var_msignature->attrs[COLOR_model__MSignature___vararg_rank].l; /* _vararg_rank on <var_msignature:MSignature> */
+var10 = var12;
+RET_LABEL11:(void)0;
+}
+}
+var_vararg_rank = var10;
+{
+var13 = ((long (*)(val*))(var_args->class->vft[COLOR_abstract_collection__Collection__length]))(var_args) /* length on <var_args:SequenceRead[AExpr]>*/;
+}
+{
+var14 = model__MSignature__arity(var_msignature);
+}
+{
+{ /* Inline kernel#Int#- (var13,var14) on <var13:Int> */
+/* Covariant cast for argument 0 (i) <var14:Int> isa OTHER */
+/* <var14:Int> isa OTHER */
+var17 = 1; /* easy <var14:Int> isa OTHER*/
+if (unlikely(!var17)) {
+var_class_name = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377);
+show_backtrace(1);
+}
+var18 = var13 - var14;
+var15 = var18;
+goto RET_LABEL16;
+RET_LABEL16:(void)0;
+}
+}
+var_vararg_len = var15;
+var19 = 0;
+{
+{ /* Inline kernel#Int#< (var_vararg_len,var19) on <var_vararg_len:Int> */
+/* Covariant cast for argument 0 (i) <var19:Int> isa OTHER */
+/* <var19:Int> isa OTHER */
+var22 = 1; /* easy <var19:Int> isa OTHER*/
+if (unlikely(!var22)) {
+var_class_name25 = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
+show_backtrace(1);
+}
+var26 = var_vararg_len < var19;
+var20 = var26;
+goto RET_LABEL21;
+RET_LABEL21:(void)0;
+}
+}
+if (var20){
+var27 = 0;
+var_vararg_len = var27;
+} else {
+}
+var28 = 0;
+var_i = var28;
+{
+var29 = model__MSignature__arity(var_msignature);
+}
+var_ = var29;
+for(;;) {
+{
+{ /* Inline kernel#Int#< (var_i,var_) on <var_i:Int> */
+/* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
+/* <var_:Int> isa OTHER */
+var32 = 1; /* easy <var_:Int> isa OTHER*/
+if (unlikely(!var32)) {
+var_class_name35 = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371);
+show_backtrace(1);
+}
+var36 = var_i < var_;
+var30 = var36;
+goto RET_LABEL31;
+RET_LABEL31:(void)0;
+}
+}
+if (var30){
+{
+{ /* Inline kernel#Int#== (var_i,var_vararg_rank) on <var_i:Int> */
+var40 = var_i == var_vararg_rank;
+var38 = var40;
+goto RET_LABEL39;
+RET_LABEL39:(void)0;
+}
+var37 = var38;
+}
+if (var37){
+{
+var41 = ((val* (*)(val*, long))(var_args->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_args, var_i) /* [] on <var_args:SequenceRead[AExpr]>*/;
+}
+var_ne = var41;
+/* <var_ne:AExpr> isa AVarargExpr */
+cltype43 = type_parser_nodes__AVarargExpr.color;
+idtype44 = type_parser_nodes__AVarargExpr.id;
+if(cltype43 >= var_ne->type->table_size) {
+var42 = 0;
+} else {
+var42 = var_ne->type->type_table[cltype43] == idtype44;
+}
+if (var42){
+{
+{ /* Inline parser_nodes#AVarargExpr#n_expr (var_ne) on <var_ne:AExpr(AVarargExpr)> */
+var47 = var_ne->attrs[COLOR_parser_nodes__AVarargExpr___n_expr].val; /* _n_expr on <var_ne:AExpr(AVarargExpr)> */
+if (unlikely(var47 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_expr");
+PRINT_ERROR(" (%s:%d)\n", "parser/parser_nodes.nit", 1902);
+show_backtrace(1);
+}
+var45 = var47;
+RET_LABEL46:(void)0;
+}
+}
+var48 = NULL;
+{
+var49 = abstract_compiler__AbstractCompilerVisitor__expr(self, var45, var48);
+}
+var_e = var49;
+{
+array__Array__add(var_res, var_e); /* Direct call array#Array#add on <var_res:Array[RuntimeVariable]>*/
+}
+goto BREAK_label;
+} else {
+}
+var50 = NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable);
+{
+((void (*)(val*))(var50->class->vft[COLOR_kernel__Object__init]))(var50) /* init on <var50:Array[RuntimeVariable]>*/;
+}
+var_vararg = var50;
+var_j = var_vararg_rank;
+{
+{ /* Inline kernel#Int#+ (var_vararg_rank,var_vararg_len) on <var_vararg_rank:Int> */
+/* Covariant cast for argument 0 (i) <var_vararg_len:Int> isa OTHER */
+/* <var_vararg_len:Int> isa OTHER */
+var53 = 1; /* easy <var_vararg_len:Int> isa OTHER*/
+if (unlikely(!var53)) {
+var_class_name56 = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name56);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
+show_backtrace(1);
+}
+var57 = var_vararg_rank + var_vararg_len;
+var51 = var57;
+goto RET_LABEL52;
+RET_LABEL52:(void)0;
+}
+}
+var_58 = var51;
+for(;;) {
+{
+{ /* Inline kernel#Int#<= (var_j,var_58) on <var_j:Int> */
+/* Covariant cast for argument 0 (i) <var_58:Int> isa OTHER */
+/* <var_58:Int> isa OTHER */
+var61 = 1; /* easy <var_58:Int> isa OTHER*/
+if (unlikely(!var61)) {
+var_class_name64 = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name64);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 370);
+show_backtrace(1);
+}
+var65 = var_j <= var_58;
+var59 = var65;
+goto RET_LABEL60;
+RET_LABEL60:(void)0;
+}
+}
+if (var59){
+{
+var66 = ((val* (*)(val*, long))(var_args->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_args, var_j) /* [] on <var_args:SequenceRead[AExpr]>*/;
+}
+var67 = NULL;
+{
+var68 = abstract_compiler__AbstractCompilerVisitor__expr(self, var66, var67);
+}
+var_e69 = var68;
+{
+array__Array__add(var_vararg, var_e69); /* Direct call array#Array#add on <var_vararg:Array[RuntimeVariable]>*/
+}
+var70 = 1;
+{
+var71 = kernel__Int__successor(var_j, var70);
+}
+var_j = var71;
+} else {
+goto BREAK_label72;
+}
+}
+BREAK_label72: (void)0;
+{
+{ /* Inline model#MSignature#mparameters (var_msignature) on <var_msignature:MSignature> */
+var75 = var_msignature->attrs[COLOR_model__MSignature___mparameters].val; /* _mparameters on <var_msignature:MSignature> */
+if (unlikely(var75 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
+PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1465);
+show_backtrace(1);
+}
+var73 = var75;
+RET_LABEL74:(void)0;
+}
+}
+{
+var76 = array__Array___91d_93d(var73, var_vararg_rank);
+}
+{
+{ /* Inline model#MParameter#mtype (var76) on <var76:nullable Object(MParameter)> */
+var79 = var76->attrs[COLOR_model__MParameter___mtype].val; /* _mtype on <var76:nullable Object(MParameter)> */
+if (unlikely(var79 == NULL)) {
+PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
+PRINT_ERROR(" (%s:%d)\n", "model/model.nit", 1565);
+show_backtrace(1);
+}
+var77 = var79;
+RET_LABEL78:(void)0;
+}
+}
+var_elttype = var77;
+{
+var80 = separate_compiler__SeparateCompilerVisitor__vararg_instance(self, var_mpropdef, var_recv, var_vararg, var_elttype);
+}
+var_arg = var80;
+{
+array__Array__add(var_res, var_arg); /* Direct call array#Array#add on <var_res:Array[RuntimeVariable]>*/
+}
+} else {
+var_j81 = var_i;
+{
+{ /* Inline kernel#Int#> (var_i,var_vararg_rank) on <var_i:Int> */
+/* Covariant cast for argument 0 (i) <var_vararg_rank:Int> isa OTHER */
+/* <var_vararg_rank:Int> isa OTHER */
+var84 = 1; /* easy <var_vararg_rank:Int> isa OTHER*/
+if (unlikely(!var84)) {
+var_class_name87 = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name87);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
+show_backtrace(1);
+}
+var88 = var_i > var_vararg_rank;
+var82 = var88;
+goto RET_LABEL83;
+RET_LABEL83:(void)0;
+}
+}
+if (var82){
+{
+{ /* Inline kernel#Int#+ (var_j81,var_vararg_len) on <var_j81:Int> */
+/* Covariant cast for argument 0 (i) <var_vararg_len:Int> isa OTHER */
+/* <var_vararg_len:Int> isa OTHER */
+var91 = 1; /* easy <var_vararg_len:Int> isa OTHER*/
+if (unlikely(!var91)) {
+var_class_name94 = type_kernel__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name94);
+PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
+show_backtrace(1);
+}
+var95 = var_j81 + var_vararg_len;
+var89 = var95;
+goto RET_LABEL90;
+RET_LABEL90:(void)0;
+}
+}
+var_j81 = var89;
+} else {
+}
+{
+var96 = ((val* (*)(val*, long))(var_args->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_args, var_j81) /* [] on <var_args:SequenceRead[AExpr]>*/;
+}
+var97 = NULL;
+{
+var98 = abstract_compiler__AbstractCompilerVisitor__expr(self, var96, var97);
+}
+var_e99 = var98;
+{
+array__Array__add(var_res, var_e99); /* Direct call array#Array#add on <var_res:Array[RuntimeVariable]>*/
+}
+}
+BREAK_label: (void)0;
+var100 = 1;
+{
+var101 = kernel__Int__successor(var_i, var100);
+}
+var_i = var101;
+} else {
+goto BREAK_label102;
+}
+}
+BREAK_label102: (void)0;
+var = var_res;
+goto RET_LABEL;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#varargize for (self: Object, MMethodDef, RuntimeVariable, SequenceRead[AExpr]): Array[RuntimeVariable] */
+val* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__varargize(val* self, val* p0, val* p1, val* p2) {
+val* var /* : Array[RuntimeVariable] */;
+val* var1 /* : Array[RuntimeVariable] */;
+var1 = abstract_compiler__AbstractCompilerVisitor__varargize(self, p0, p1, p2);
+var = var1;
+RET_LABEL:;
+return var;
+}
+/* method abstract_compiler#AbstractCompilerVisitor#anchor for (self: AbstractCompilerVisitor, MType): MType */
+val* abstract_compiler__AbstractCompilerVisitor__anchor(val* self, val* p0) {
+val* var /* : MType */;
+val* var_mtype /* var mtype: MType */;
+short int var1 /* : Bool */;
+short int var2 /* : Bool */;
+val* var3 /* : AbstractCompiler */;
+val* var5 /* : AbstractCompiler */;
+val* var6 /* : MModule */;
+val* var8 /* : MModule */;
+val* var9 /* : nullable Frame */;
+val* var11 /* : nullable Frame */;
+val* var12 /* : MClassType */;
+val* var14 /* : MClassType */;
+val* var15 /* : MType */;
+var_mtype = p0;
+{
+var1 = ((short int (*)(val*))(var_mtype->class->vft[COLOR_model__MType__need_anchor]))(var_mtype) /* need_anchor on <var_mtype:MType>*/;
+}
+var2 = !var1;
+if (var2){
+var = var_mtype;
+goto RET_LABEL;
+} else {