Structure.st
changeset 343 3232712d4a28
parent 294 6f937c0ba907
child 429 ffc4e2ab5581
equal deleted inserted replaced
342:fe32a900f0a3 343:3232712d4a28
    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!