equal
deleted
inserted
replaced
10 hereby transferred. |
10 hereby transferred. |
11 " |
11 " |
12 |
12 |
13 Object subclass:#Structure |
13 Object subclass:#Structure |
14 instanceVariableNames:'superclass flags methodDictionary otherSupers instSize i1 i2 i3 |
14 instanceVariableNames:'superclass flags methodDictionary otherSupers instSize i1 i2 i3 |
15 i4 i5 i6 i7 i8 i9 i10 i11 i12 i13 i14 i15 i16 i17 i18 i19 i20' |
15 i4 i5 i6 i7 i8 i9 i10 i11 i12 i13 i14 i15 i16 i17 i18 i19 i20 i21 |
|
16 i22 i23 i24 i25 i26 i27 i28 i29 i30 i31 i32 i33 i34 i35 i36 i37 |
|
17 i38 i39 i40 i41 i42 i43 i44 i45 i46 i47 i48 i49 i50' |
16 classVariableNames:'OneInstance DummyClass ReadAccessMethods WriteAccessMethods |
18 classVariableNames:'OneInstance DummyClass ReadAccessMethods WriteAccessMethods |
17 OtherMethods' |
19 OtherMethods' |
18 poolDictionaries:'' |
20 poolDictionaries:'' |
19 category:'Programming-Support' |
21 category:'Programming-Support' |
20 ! |
22 ! |
67 Therefore, no additional overhead by extra objects is involved. |
69 Therefore, no additional overhead by extra objects is involved. |
68 |
70 |
69 Another prove that smalltalk is a powerful & flexible programming language. |
71 Another prove that smalltalk is a powerful & flexible programming language. |
70 However, some smalltalk systems crash if your try this ;-) |
72 However, some smalltalk systems crash if your try this ;-) |
71 |
73 |
|
74 CAVEAT: |
|
75 a maximum of 50 instance variables is allowed. |
|
76 |
72 [author:] |
77 [author:] |
73 Claus Gittinger |
78 Claus Gittinger |
74 |
79 |
75 [see also:] |
80 [see also:] |
76 Array |
81 Array |
116 OneInstance := self basicNew. |
121 OneInstance := self basicNew. |
117 |
122 |
118 DummyClass := Behavior shallowCopy. |
123 DummyClass := Behavior shallowCopy. |
119 DummyClass flags:(Behavior flagBehavior bitOr:Behavior flagPointers). |
124 DummyClass flags:(Behavior flagBehavior bitOr:Behavior flagPointers). |
120 |
125 |
121 ReadAccessMethods := (1 to:20) |
126 ReadAccessMethods := (1 to:50) |
122 collect:[:i | |
127 collect:[:i | |
123 (self compiledMethodAt:('i', i printString) asSymbol) |
128 (self compiledMethodAt:('i', i printString) asSymbol) |
124 ]. |
129 ]. |
125 WriteAccessMethods := (1 to:20) |
130 WriteAccessMethods := (1 to:50) |
126 collect:[:i | |
131 collect:[:i | |
127 (self compiledMethodAt:('i', i printString,':') asSymbol) |
132 (self compiledMethodAt:('i', i printString,':') asSymbol) |
128 ]. |
133 ]. |
129 |
134 |
130 OtherMethods := Array new:6. |
135 OtherMethods := Array new:6. |
139 " |
144 " |
140 OneInstance := nil. |
145 OneInstance := nil. |
141 self initialize. |
146 self initialize. |
142 " |
147 " |
143 |
148 |
|
149 "Modified: 21.9.1996 / 16:01:48 / cg" |
144 ! ! |
150 ! ! |
145 |
151 |
146 !Structure class methodsFor:'instance creation'! |
152 !Structure class methodsFor:'instance creation'! |
147 |
153 |
148 newWith:names |
154 newWith:names |
485 i20 := something. |
491 i20 := something. |
486 |
492 |
487 "Created: 13.5.1996 / 21:19:29 / cg" |
493 "Created: 13.5.1996 / 21:19:29 / cg" |
488 ! |
494 ! |
489 |
495 |
|
496 i21 |
|
497 "return i21" |
|
498 |
|
499 ^ i21 |
|
500 |
|
501 "Created: 21.9.1996 / 16:06:21 / cg" |
|
502 ! |
|
503 |
|
504 i21:something |
|
505 "set i21" |
|
506 |
|
507 i21 := something. |
|
508 |
|
509 "Created: 21.9.1996 / 16:06:21 / cg" |
|
510 ! |
|
511 |
|
512 i22 |
|
513 "return i22" |
|
514 |
|
515 ^ i22 |
|
516 |
|
517 "Created: 21.9.1996 / 16:06:21 / cg" |
|
518 ! |
|
519 |
|
520 i22:something |
|
521 "set i22" |
|
522 |
|
523 i22 := something. |
|
524 |
|
525 "Created: 21.9.1996 / 16:06:21 / cg" |
|
526 ! |
|
527 |
|
528 i23 |
|
529 "return i23" |
|
530 |
|
531 ^ i23 |
|
532 |
|
533 "Created: 21.9.1996 / 16:06:21 / cg" |
|
534 ! |
|
535 |
|
536 i23:something |
|
537 "set i23" |
|
538 |
|
539 i23 := something. |
|
540 |
|
541 "Created: 21.9.1996 / 16:06:21 / cg" |
|
542 ! |
|
543 |
|
544 i24 |
|
545 "return i24" |
|
546 |
|
547 ^ i24 |
|
548 |
|
549 "Created: 21.9.1996 / 16:06:21 / cg" |
|
550 ! |
|
551 |
|
552 i24:something |
|
553 "set i24" |
|
554 |
|
555 i24 := something. |
|
556 |
|
557 "Created: 21.9.1996 / 16:06:21 / cg" |
|
558 ! |
|
559 |
|
560 i25 |
|
561 "return i25" |
|
562 |
|
563 ^ i25 |
|
564 |
|
565 "Created: 21.9.1996 / 16:06:21 / cg" |
|
566 ! |
|
567 |
|
568 i25:something |
|
569 "set i25" |
|
570 |
|
571 i25 := something. |
|
572 |
|
573 "Created: 21.9.1996 / 16:06:22 / cg" |
|
574 ! |
|
575 |
|
576 i26 |
|
577 "return i26" |
|
578 |
|
579 ^ i26 |
|
580 |
|
581 "Created: 21.9.1996 / 16:06:22 / cg" |
|
582 ! |
|
583 |
|
584 i26:something |
|
585 "set i26" |
|
586 |
|
587 i26 := something. |
|
588 |
|
589 "Created: 21.9.1996 / 16:06:22 / cg" |
|
590 ! |
|
591 |
|
592 i27 |
|
593 "return i27" |
|
594 |
|
595 ^ i27 |
|
596 |
|
597 "Created: 21.9.1996 / 16:06:22 / cg" |
|
598 ! |
|
599 |
|
600 i27:something |
|
601 "set i27" |
|
602 |
|
603 i27 := something. |
|
604 |
|
605 "Created: 21.9.1996 / 16:06:22 / cg" |
|
606 ! |
|
607 |
|
608 i28 |
|
609 "return i28" |
|
610 |
|
611 ^ i28 |
|
612 |
|
613 "Created: 21.9.1996 / 16:06:22 / cg" |
|
614 ! |
|
615 |
|
616 i28:something |
|
617 "set i28" |
|
618 |
|
619 i28 := something. |
|
620 |
|
621 "Created: 21.9.1996 / 16:06:22 / cg" |
|
622 ! |
|
623 |
|
624 i29 |
|
625 "return i29" |
|
626 |
|
627 ^ i29 |
|
628 |
|
629 "Created: 21.9.1996 / 16:06:22 / cg" |
|
630 ! |
|
631 |
|
632 i29:something |
|
633 "set i29" |
|
634 |
|
635 i29 := something. |
|
636 |
|
637 "Created: 21.9.1996 / 16:06:22 / cg" |
|
638 ! |
|
639 |
490 i2:something |
640 i2:something |
491 "set i2" |
641 "set i2" |
492 |
642 |
493 i2 := something. |
643 i2 := something. |
494 |
644 |
501 ^ i3 |
651 ^ i3 |
502 |
652 |
503 "Created: 13.5.1996 / 21:19:25 / cg" |
653 "Created: 13.5.1996 / 21:19:25 / cg" |
504 ! |
654 ! |
505 |
655 |
|
656 i30:something |
|
657 "set i30" |
|
658 |
|
659 i30 := something. |
|
660 |
|
661 "Created: 21.9.1996 / 16:06:22 / cg" |
|
662 ! |
|
663 |
|
664 i31 |
|
665 "return i31" |
|
666 |
|
667 ^ i31 |
|
668 |
|
669 "Created: 21.9.1996 / 16:06:22 / cg" |
|
670 ! |
|
671 |
|
672 i31:something |
|
673 "set i31" |
|
674 |
|
675 i31 := something. |
|
676 |
|
677 "Created: 21.9.1996 / 16:06:22 / cg" |
|
678 ! |
|
679 |
|
680 i32 |
|
681 "return i32" |
|
682 |
|
683 ^ i32 |
|
684 |
|
685 "Created: 21.9.1996 / 16:06:22 / cg" |
|
686 ! |
|
687 |
|
688 i32:something |
|
689 "set i32" |
|
690 |
|
691 i32 := something. |
|
692 |
|
693 "Created: 21.9.1996 / 16:06:22 / cg" |
|
694 ! |
|
695 |
|
696 i33 |
|
697 "return i33" |
|
698 |
|
699 ^ i33 |
|
700 |
|
701 "Created: 21.9.1996 / 16:06:22 / cg" |
|
702 ! |
|
703 |
|
704 i33:something |
|
705 "set i33" |
|
706 |
|
707 i33 := something. |
|
708 |
|
709 "Created: 21.9.1996 / 16:06:22 / cg" |
|
710 ! |
|
711 |
|
712 i34 |
|
713 "return i34" |
|
714 |
|
715 ^ i34 |
|
716 |
|
717 "Created: 21.9.1996 / 16:06:22 / cg" |
|
718 ! |
|
719 |
|
720 i34:something |
|
721 "set i34" |
|
722 |
|
723 i34 := something. |
|
724 |
|
725 "Created: 21.9.1996 / 16:06:22 / cg" |
|
726 ! |
|
727 |
|
728 i35 |
|
729 "return i35" |
|
730 |
|
731 ^ i35 |
|
732 |
|
733 "Created: 21.9.1996 / 16:06:22 / cg" |
|
734 ! |
|
735 |
|
736 i35:something |
|
737 "set i35" |
|
738 |
|
739 i35 := something. |
|
740 |
|
741 "Created: 21.9.1996 / 16:06:22 / cg" |
|
742 ! |
|
743 |
|
744 i36 |
|
745 "return i36" |
|
746 |
|
747 ^ i36 |
|
748 |
|
749 "Created: 21.9.1996 / 16:06:22 / cg" |
|
750 ! |
|
751 |
|
752 i36:something |
|
753 "set i36" |
|
754 |
|
755 i36 := something. |
|
756 |
|
757 "Created: 21.9.1996 / 16:06:22 / cg" |
|
758 ! |
|
759 |
|
760 i37 |
|
761 "return i37" |
|
762 |
|
763 ^ i37 |
|
764 |
|
765 "Created: 21.9.1996 / 16:06:22 / cg" |
|
766 ! |
|
767 |
|
768 i37:something |
|
769 "set i37" |
|
770 |
|
771 i37 := something. |
|
772 |
|
773 "Created: 21.9.1996 / 16:06:22 / cg" |
|
774 ! |
|
775 |
|
776 i38 |
|
777 "return i38" |
|
778 |
|
779 ^ i38 |
|
780 |
|
781 "Created: 21.9.1996 / 16:06:22 / cg" |
|
782 ! |
|
783 |
|
784 i38:something |
|
785 "set i38" |
|
786 |
|
787 i38 := something. |
|
788 |
|
789 "Created: 21.9.1996 / 16:06:22 / cg" |
|
790 ! |
|
791 |
|
792 i39 |
|
793 "return i39" |
|
794 |
|
795 ^ i39 |
|
796 |
|
797 "Created: 21.9.1996 / 16:06:22 / cg" |
|
798 ! |
|
799 |
|
800 i39:something |
|
801 "set i39" |
|
802 |
|
803 i39 := something. |
|
804 |
|
805 "Created: 21.9.1996 / 16:06:22 / cg" |
|
806 ! |
|
807 |
506 i3:something |
808 i3:something |
507 "set i3" |
809 "set i3" |
508 |
810 |
509 i3 := something. |
811 i3 := something. |
510 |
812 |
517 ^ i4 |
819 ^ i4 |
518 |
820 |
519 "Created: 13.5.1996 / 21:19:25 / cg" |
821 "Created: 13.5.1996 / 21:19:25 / cg" |
520 ! |
822 ! |
521 |
823 |
|
824 i40:something |
|
825 "set i40" |
|
826 |
|
827 i40 := something. |
|
828 |
|
829 "Created: 21.9.1996 / 16:06:22 / cg" |
|
830 ! |
|
831 |
|
832 i41 |
|
833 "return i41" |
|
834 |
|
835 ^ i41 |
|
836 |
|
837 "Created: 21.9.1996 / 16:06:23 / cg" |
|
838 ! |
|
839 |
|
840 i41:something |
|
841 "set i41" |
|
842 |
|
843 i41 := something. |
|
844 |
|
845 "Created: 21.9.1996 / 16:06:23 / cg" |
|
846 ! |
|
847 |
|
848 i42 |
|
849 "return i42" |
|
850 |
|
851 ^ i42 |
|
852 |
|
853 "Created: 21.9.1996 / 16:06:23 / cg" |
|
854 ! |
|
855 |
|
856 i42:something |
|
857 "set i42" |
|
858 |
|
859 i42 := something. |
|
860 |
|
861 "Created: 21.9.1996 / 16:06:23 / cg" |
|
862 ! |
|
863 |
|
864 i43 |
|
865 "return i43" |
|
866 |
|
867 ^ i43 |
|
868 |
|
869 "Created: 21.9.1996 / 16:06:23 / cg" |
|
870 ! |
|
871 |
|
872 i43:something |
|
873 "set i43" |
|
874 |
|
875 i43 := something. |
|
876 |
|
877 "Created: 21.9.1996 / 16:06:23 / cg" |
|
878 ! |
|
879 |
|
880 i44 |
|
881 "return i44" |
|
882 |
|
883 ^ i44 |
|
884 |
|
885 "Created: 21.9.1996 / 16:06:23 / cg" |
|
886 ! |
|
887 |
|
888 i44:something |
|
889 "set i44" |
|
890 |
|
891 i44 := something. |
|
892 |
|
893 "Created: 21.9.1996 / 16:06:23 / cg" |
|
894 ! |
|
895 |
|
896 i45 |
|
897 "return i45" |
|
898 |
|
899 ^ i45 |
|
900 |
|
901 "Created: 21.9.1996 / 16:06:23 / cg" |
|
902 ! |
|
903 |
|
904 i45:something |
|
905 "set i45" |
|
906 |
|
907 i45 := something. |
|
908 |
|
909 "Created: 21.9.1996 / 16:06:23 / cg" |
|
910 ! |
|
911 |
|
912 i46 |
|
913 "return i46" |
|
914 |
|
915 ^ i46 |
|
916 |
|
917 "Created: 21.9.1996 / 16:06:23 / cg" |
|
918 ! |
|
919 |
|
920 i46:something |
|
921 "set i46" |
|
922 |
|
923 i46 := something. |
|
924 |
|
925 "Created: 21.9.1996 / 16:06:23 / cg" |
|
926 ! |
|
927 |
|
928 i47 |
|
929 "return i47" |
|
930 |
|
931 ^ i47 |
|
932 |
|
933 "Created: 21.9.1996 / 16:06:23 / cg" |
|
934 ! |
|
935 |
|
936 i47:something |
|
937 "set i47" |
|
938 |
|
939 i47 := something. |
|
940 |
|
941 "Created: 21.9.1996 / 16:06:23 / cg" |
|
942 ! |
|
943 |
|
944 i48 |
|
945 "return i48" |
|
946 |
|
947 ^ i48 |
|
948 |
|
949 "Created: 21.9.1996 / 16:06:23 / cg" |
|
950 ! |
|
951 |
|
952 i48:something |
|
953 "set i48" |
|
954 |
|
955 i48 := something. |
|
956 |
|
957 "Created: 21.9.1996 / 16:06:23 / cg" |
|
958 ! |
|
959 |
|
960 i49 |
|
961 "return i49" |
|
962 |
|
963 ^ i49 |
|
964 |
|
965 "Created: 21.9.1996 / 16:06:23 / cg" |
|
966 ! |
|
967 |
|
968 i49:something |
|
969 "set i49" |
|
970 |
|
971 i49 := something. |
|
972 |
|
973 "Created: 21.9.1996 / 16:06:24 / cg" |
|
974 ! |
|
975 |
522 i4:something |
976 i4:something |
523 "set i4" |
977 "set i4" |
524 |
978 |
525 i4 := something. |
979 i4 := something. |
526 |
980 |
531 "return i5" |
985 "return i5" |
532 |
986 |
533 ^ i5 |
987 ^ i5 |
534 |
988 |
535 "Created: 13.5.1996 / 21:19:26 / cg" |
989 "Created: 13.5.1996 / 21:19:26 / cg" |
|
990 ! |
|
991 |
|
992 i50 |
|
993 "return i50" |
|
994 |
|
995 ^ i50 |
|
996 |
|
997 "Created: 21.9.1996 / 16:06:24 / cg" |
|
998 ! |
|
999 |
|
1000 i50:something |
|
1001 "set i50" |
|
1002 |
|
1003 i50 := something. |
|
1004 |
|
1005 "Created: 21.9.1996 / 16:06:24 / cg" |
536 ! |
1006 ! |
537 |
1007 |
538 i5:something |
1008 i5:something |
539 "set i5" |
1009 "set i5" |
540 |
1010 |
853 ! ! |
1323 ! ! |
854 |
1324 |
855 !Structure class methodsFor:'documentation'! |
1325 !Structure class methodsFor:'documentation'! |
856 |
1326 |
857 version |
1327 version |
858 ^ '$Header: /cvs/stx/stx/libcomp/Structure.st,v 1.3 1996-07-03 09:01:11 cg Exp $' |
1328 ^ '$Header: /cvs/stx/stx/libcomp/Structure.st,v 1.4 1996-09-21 14:13:16 cg Exp $' |
859 ! ! |
1329 ! ! |
860 Structure initialize! |
1330 Structure initialize! |