Commit 78d1cf6
committed
Move ivars back into define_class!
This has a better `Debug` impl, is shorter, and is more in line with
what the user would expect.
It also allows us to extend it in the future with an attribute like
`#[name = "my_ivar"]` on the field to make the ivar publicly visible on
the class (which is important for KVO), and maybe even at some point
a `#[property(getter, setter = setIvar)]` attribute for generating
Objective-C getter and setter methods.
This fixes #788.
A downside is that deriving `Default` is no longer possible, which means
that some `init` methods are a bit longer, but we should really solve
that by allowing some sort of `Default` on the class itself, see
#267.1 parent f906f40 commit 78d1cf6
File tree
48 files changed
+937
-475
lines changed- crates
- objc2
- src
- __macros
- define_class
- extern_class
- rc
- runtime
- topics
- tests
- test-assembly/crates
- test_define_class_drop_ivars
- expected
- test_define_class_forgetable_ivars
- expected
- test-fuzz/fuzz_targets
- test-ui/ui
- examples
- app
- default_xcode_app
- metal
- default_xcode_game
- triangle
- webkit
- framework-crates
- objc2-foundation/src
- objc2-ui-kit/src
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
48 files changed
+937
-475
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
11 | 12 | | |
12 | 13 | | |
13 | 14 | | |
14 | 15 | | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
15 | 93 | | |
16 | 94 | | |
17 | 95 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
547 | 547 | | |
548 | 548 | | |
549 | 549 | | |
550 | | - | |
551 | | - | |
552 | | - | |
553 | 550 | | |
554 | 551 | | |
555 | 552 | | |
| |||
566 | 563 | | |
567 | 564 | | |
568 | 565 | | |
569 | | - | |
570 | 566 | | |
571 | 567 | | |
572 | 568 | | |
| |||
588 | 584 | | |
589 | 585 | | |
590 | 586 | | |
591 | | - | |
592 | 587 | | |
593 | 588 | | |
594 | 589 | | |
| |||
604 | 599 | | |
605 | 600 | | |
606 | 601 | | |
607 | | - | |
608 | 602 | | |
609 | 603 | | |
610 | 604 | | |
| |||
621 | 615 | | |
622 | 616 | | |
623 | 617 | | |
624 | | - | |
625 | 618 | | |
626 | 619 | | |
627 | 620 | | |
| |||
636 | 629 | | |
637 | 630 | | |
638 | 631 | | |
639 | | - | |
640 | 632 | | |
641 | 633 | | |
642 | 634 | | |
| |||
655 | 647 | | |
656 | 648 | | |
657 | 649 | | |
658 | | - | |
659 | 650 | | |
660 | 651 | | |
661 | 652 | | |
| |||
670 | 661 | | |
671 | 662 | | |
672 | 663 | | |
673 | | - | |
674 | 664 | | |
675 | 665 | | |
676 | 666 | | |
| |||
690 | 680 | | |
691 | 681 | | |
692 | 682 | | |
693 | | - | |
694 | 683 | | |
695 | 684 | | |
696 | 685 | | |
| |||
705 | 694 | | |
706 | 695 | | |
707 | 696 | | |
708 | | - | |
709 | 697 | | |
710 | 698 | | |
711 | 699 | | |
| |||
724 | 712 | | |
725 | 713 | | |
726 | 714 | | |
727 | | - | |
728 | 715 | | |
729 | 716 | | |
730 | 717 | | |
| |||
739 | 726 | | |
740 | 727 | | |
741 | 728 | | |
742 | | - | |
743 | 729 | | |
744 | 730 | | |
745 | 731 | | |
| |||
759 | 745 | | |
760 | 746 | | |
761 | 747 | | |
762 | | - | |
763 | 748 | | |
764 | 749 | | |
765 | 750 | | |
| |||
774 | 759 | | |
775 | 760 | | |
776 | 761 | | |
777 | | - | |
778 | 762 | | |
779 | 763 | | |
780 | 764 | | |
| |||
794 | 778 | | |
795 | 779 | | |
796 | 780 | | |
797 | | - | |
798 | 781 | | |
799 | 782 | | |
800 | 783 | | |
| |||
809 | 792 | | |
810 | 793 | | |
811 | 794 | | |
812 | | - | |
813 | 795 | | |
814 | 796 | | |
815 | 797 | | |
| |||
819 | 801 | | |
820 | 802 | | |
821 | 803 | | |
822 | | - | |
| 804 | + | |
823 | 805 | | |
824 | 806 | | |
825 | 807 | | |
| |||
829 | 811 | | |
830 | 812 | | |
831 | 813 | | |
832 | | - | |
833 | 814 | | |
834 | 815 | | |
835 | 816 | | |
836 | 817 | | |
837 | 818 | | |
838 | 819 | | |
839 | 820 | | |
840 | | - | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
841 | 831 | | |
842 | 832 | | |
843 | 833 | | |
844 | 834 | | |
845 | 835 | | |
846 | 836 | | |
847 | | - | |
848 | 837 | | |
849 | 838 | | |
850 | 839 | | |
| |||
864 | 853 | | |
865 | 854 | | |
866 | 855 | | |
867 | | - | |
868 | 856 | | |
869 | 857 | | |
870 | 858 | | |
| |||
878 | 866 | | |
879 | 867 | | |
880 | 868 | | |
881 | | - | |
882 | 869 | | |
883 | 870 | | |
884 | 871 | | |
| |||
899 | 886 | | |
900 | 887 | | |
901 | 888 | | |
902 | | - | |
903 | 889 | | |
904 | 890 | | |
905 | 891 | | |
| |||
913 | 899 | | |
914 | 900 | | |
915 | 901 | | |
916 | | - | |
917 | 902 | | |
918 | 903 | | |
919 | 904 | | |
| |||
940 | 925 | | |
941 | 926 | | |
942 | 927 | | |
943 | | - | |
944 | 928 | | |
945 | 929 | | |
946 | 930 | | |
| |||
954 | 938 | | |
955 | 939 | | |
956 | 940 | | |
957 | | - | |
958 | 941 | | |
959 | 942 | | |
960 | 943 | | |
| |||
982 | 965 | | |
983 | 966 | | |
984 | 967 | | |
985 | | - | |
986 | 968 | | |
987 | 969 | | |
988 | 970 | | |
| |||
996 | 978 | | |
997 | 979 | | |
998 | 980 | | |
999 | | - | |
1000 | 981 | | |
1001 | 982 | | |
1002 | 983 | | |
| |||
0 commit comments