Structure.st
author Claus Gittinger <cg@exept.de>
Fri, 24 May 1996 17:00:36 +0200
changeset 282 7f91d09a768b
child 283 3fdbe3ef9a1d
permissions -rw-r--r--
renamed
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
282
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
Object subclass:#Structure
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
	instanceVariableNames:'superclass flags selectorArray methodArray otherSupers instSize
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
		i1 i2 i3 i4 i5 i6 i7 i8 i9 i10 i11 i12 i13 i14 i15 i16 i17 i18
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
		i19 i20'
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:'OneInstance DummyClass'
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	category:'Collections-Arrayed'
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
!Structure class methodsFor:'documentation'!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
documentation
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
    are you tired of using arrays or identityDictionaries, when
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
    multiple values have to be returned from some method, AND
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
    you dont want to add many stupid dummy data-holder classes to
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
    avoid the above ?
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
    (for example, the value returned by someMethod>>who) 
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
    Here is a goody to return an object which is class-less,
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
    only holding some values, and provides a protocol to access
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
    those fields. In addition, it supports the array-protocol,
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
    so it can be used as a backward compatible replacement in
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
    places where arrays were returned.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
    
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
    For example, in Method>>who, instead of returning:
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
	^ Array with:cls with:selector
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
    you can also return:
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
	^ Structure with:#containingClass->cls with:#selector->selector
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
    and access these values either as:
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
	retVal at:1	-> returns the cls
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
	retVal at:2	-> returns the selector
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
    or (much more convenient and readable) as:
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
	retVal containingClass
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
	retVal selector
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
    implementation note:
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
	this is a very tricky (but fully legal) implementation,
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
	creating an objects which is its own class. Therefore, no additional
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
	overhead by extra objects is involved.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
	
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
	Another prove that smalltalk is a powerful & flexible programming language.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
	However, some smalltalk systems crash if your try this ;-)
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
    [author:]
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
	Claus Gittinger
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
    [see also:]
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
	Array 
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
	Behavior
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
examples
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
    								[exBegin]
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
    (Structure names:#(foo bar)) inspect
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
								[exEnd]
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
    								[exBegin]
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
    (Structure with:#foo->'foo value') inspect
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
								[exEnd]
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
    								[exBegin]
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
    (Structure with:#foo->'foo value' with:#bar->'bar value') inspect
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
								[exEnd]
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
    								[exBegin]
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
    (Structure with:#foo->'hello' with:#bar->true with:#baz->'world') inspect
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
								[exEnd]
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
! !
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
!Structure class methodsFor:'initialization'!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
initialize
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
    OneInstance isNil ifTrue:[
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
        OneInstance := self basicNew.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
        DummyClass := Behavior shallowCopy.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
        DummyClass flags:(Behavior flagBehavior bitOr:Behavior flagPointers).
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
    ].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
    "
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
     OneInstance := nil
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
     self initialize
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
    "
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
! !
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
!Structure class methodsFor:'instance creation'!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
newWith:names
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
    "return a new structure containing fields as passed in the names collection.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
     The argument must be a sequenceable collection of symbols.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
     The new structures values are all nil."
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
     ^ self newWith:names values:nil
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
    "
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
     Structure newWith:#(foo bar)
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
    "
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
    "Created: 13.5.1996 / 20:03:42 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
newWith:names values:values
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
    "return a new structure containing fields as passed in the names collection.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
     The argument must be a sequenceable collection of symbols.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
     The new structures values are set to corresponding values from the second argument, values."
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
    |cls arr sels mthds dummyClass|
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
    sels := names collect:[:nm | nm asSymbol].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
    sels := sels , (names collect:[:nm | (nm , ':') asSymbol]).
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
    sels := sels , #(#doesNotUnderstand: #class #at: #at:put: #basicAt: #basicAt:put:).
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
    mthds := (1 to:names size) 
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
                collect:[:i | (self compiledMethodAt:('i',i printString)asSymbol)].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
    mthds := mthds , 
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
             ( (1 to:names size) 
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
                collect:[:i | (self compiledMethodAt:('i',i printString,':')asSymbol)]).
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
    mthds := mthds , (Array 
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
                       with:(self compiledMethodAt:#doesNotUnderstand:)
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
                       with:(Object compiledMethodAt:#class)
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
                     )
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
                   , (Array
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
                       with:(Object compiledMethodAt:#at:)
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
                       with:(Object compiledMethodAt:#at:put:)
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
                       with:(Object compiledMethodAt:#basicAt:)
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
                       with:(Object compiledMethodAt:#basicAt:put:)
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
                     ).
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
    arr := Array new:(names size + 6).
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
    arr at:1 put:nil.                                                   "/ superclass
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
    arr at:2 put:(Behavior flagBehavior bitOr:Behavior flagPointers).   "/ flags
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
    arr at:3 put:sels asArray.                                          "/ selectors
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
    arr at:4 put:mthds asArray.                                         "/ methods
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
    arr at:5 put:nil.                                                   "/ other supers
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
    arr at:6 put:6.                                                     "/ instSize 
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
    arr changeClassTo:DummyClass.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
    arr changeClassTo:arr.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
    values notNil ifTrue:[
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
        values keysAndValuesDo:[:i :val |
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
            arr at:i put:val
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
        ]
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
    ].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
    ^ arr.  
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
    "
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
     Structure newWith:#(foo bar) values:#('foo' 'bar')
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
    "
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
    "Created: 13.5.1996 / 20:03:42 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
with:assoc
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
    "return a new structure with a single field, named to the assocs key,
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
     and initialized with assocs value."
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
     ^ self newWith:(Array with:assoc key) values:(Array with:assoc value)
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
    "
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
     Structure with:#foo->'foo'
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
    "
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
with:assoc1 with:assoc2
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
    "return a new structure with two fields, named as defined by the arguments'
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
     keys, and and initialized with the assocs' values."
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
     ^ self newWith:(Array with:assoc1 key
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
                           with:assoc2 key) 
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
             values:(Array with:assoc1 value
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
                           with:assoc2 value)
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
    "
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
     Structure with:#foo->'foo' with:#bar->'bar'
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
    "
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
with:assoc1 with:assoc2 with:assoc3
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
    "return a new structure with three fields, named as defined by the arguments'
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
     keys, and and initialized with the assocs' values."
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
     ^ self newWith:(Array with:assoc1 key
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
                           with:assoc2 key
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
                           with:assoc3 key) 
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
             values:(Array with:assoc1 value
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
                           with:assoc2 value
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
                           with:assoc3 value)
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
    "
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
     Structure with:#foo->'foo' with:#bar->'bar' with:#baz->'baz'
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
    "
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
with:assoc1 with:assoc2 with:assoc3 with:assoc4
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
    "return a new structure with four fields, named as defined by the arguments'
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
     keys, and and initialized with the assocs' values."
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
     ^ self newWith:(Array with:assoc1 key 
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
                           with:assoc2 key 
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
                           with:assoc3 key 
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
                           with:assoc4 key) 
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
             values:(Array with:assoc1 value 
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
                           with:assoc2 value 
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
                           with:assoc3 value 
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
                           with:assoc4 value)
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
    "
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
     Structure with:#foo->'foo' with:#bar->'bar' with:#baz->'baz' with:#hello->'hello'
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
    "
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
with:assoc1 with:assoc2 with:assoc3 with:assoc4 with:assoc5
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
    "return a new structure with five fields, named as defined by the arguments'
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
     keys, and and initialized with the assocs' values."
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
     ^ self newWith:(Array with:assoc1 key 
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
                           with:assoc2 key 
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
                           with:assoc3 key 
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
                           with:assoc4 key      
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
                           with:assoc5 key) 
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
             values:(Array with:assoc1 value 
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
                           with:assoc2 value 
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
                           with:assoc3 value 
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
                           with:assoc4 value 
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
                           with:assoc5 value)
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
    "
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
     Structure with:#foo->'foo' with:#bar->'bar' with:#baz->'baz' with:#hello->'hello' with:#world->'world'
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
    "
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
! !
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
!Structure methodsFor:'accessing'!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
flags
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
    "return the flags - required class protocol"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
    ^ flags
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   249
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
    "Created: 13.5.1996 / 21:19:23 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
flags:something
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   254
    "set the flags - required class protocol"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
    flags := something.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   257
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   258
    "Created: 13.5.1996 / 21:19:23 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   259
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   260
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   261
i1
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   262
    "return the first instance variable"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   263
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   264
    ^ i1
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   265
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   266
    "Created: 13.5.1996 / 21:19:25 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   267
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   268
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   269
i10
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   270
    "return i10"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   271
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   272
    ^ i10
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   273
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   274
    "Created: 13.5.1996 / 21:19:27 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   275
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   276
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   277
i10:something
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   278
    "set i10"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   279
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   280
    i10 := something.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   281
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   282
    "Created: 13.5.1996 / 21:19:27 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   283
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   284
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   285
i11
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   286
    "return i11"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   287
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   288
    ^ i11
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   290
    "Created: 13.5.1996 / 21:19:27 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   291
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   292
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   293
i11:something
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   294
    "set i11"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   295
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   296
    i11 := something.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   297
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   298
    "Created: 13.5.1996 / 21:19:27 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   299
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   300
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   301
i12
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   302
    "return i12"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   303
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   304
    ^ i12
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   305
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   306
    "Created: 13.5.1996 / 21:19:27 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   307
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   308
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   309
i12:something
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   310
    "set i12"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   311
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   312
    i12 := something.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   313
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   314
    "Created: 13.5.1996 / 21:19:27 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   315
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   316
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   317
i13
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   318
    "return i13"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   319
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   320
    ^ i13
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   321
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   322
    "Created: 13.5.1996 / 21:19:28 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   323
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   324
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   325
i13:something
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   326
    "set i13"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   327
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   328
    i13 := something.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   329
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   330
    "Created: 13.5.1996 / 21:19:28 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   332
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   333
i14
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   334
    "return i14"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   335
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   336
    ^ i14
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   337
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   338
    "Created: 13.5.1996 / 21:19:28 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   339
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   340
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   341
i14:something
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   342
    "set i14"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   343
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   344
    i14 := something.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   345
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   346
    "Created: 13.5.1996 / 21:19:28 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   347
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   348
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   349
i15
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   350
    "return i15"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   351
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   352
    ^ i15
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   353
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   354
    "Created: 13.5.1996 / 21:19:28 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   355
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   356
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   357
i15:something
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   358
    "set i15"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   359
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   360
    i15 := something.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   361
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   362
    "Created: 13.5.1996 / 21:19:28 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   363
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   364
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   365
i16
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   366
    "return i16"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   367
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   368
    ^ i16
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   369
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   370
    "Created: 13.5.1996 / 21:19:28 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   371
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   372
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   373
i16:something
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   374
    "set i16"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   375
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   376
    i16 := something.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   377
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   378
    "Created: 13.5.1996 / 21:19:28 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   379
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   380
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   381
i17
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   382
    "return i17"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   383
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   384
    ^ i17
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   385
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   386
    "Created: 13.5.1996 / 21:19:28 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   387
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   388
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   389
i17:something
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   390
    "set i17"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   391
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   392
    i17 := something.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   393
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   394
    "Created: 13.5.1996 / 21:19:29 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   395
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   396
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   397
i18
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   398
    "return i18"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   399
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   400
    ^ i18
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   401
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   402
    "Created: 13.5.1996 / 21:19:29 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   403
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   404
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   405
i18:something
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   406
    "set i18"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   407
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   408
    i18 := something.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   409
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   410
    "Created: 13.5.1996 / 21:19:29 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   411
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   412
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   413
i19
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   414
    "return i19"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   415
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   416
    ^ i19
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   417
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   418
    "Created: 13.5.1996 / 21:19:29 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   419
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   420
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   421
i19:something
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   422
    "set i19"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   423
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   424
    i19 := something.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   425
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   426
    "Created: 13.5.1996 / 21:19:29 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   427
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   428
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   429
i1:something
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   430
    "set i1"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   431
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   432
    i1 := something.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   433
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   434
    "Created: 13.5.1996 / 21:19:25 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   435
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   436
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   437
i2
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   438
    "return i2"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   439
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   440
    ^ i2
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   441
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   442
    "Created: 13.5.1996 / 21:19:25 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   443
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   444
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   445
i20
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   446
    "return i20"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   447
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   448
    ^ i20
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   449
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   450
    "Created: 13.5.1996 / 21:19:29 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   451
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   452
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   453
i20:something
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   454
    "set i20"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   455
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   456
    i20 := something.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   457
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   458
    "Created: 13.5.1996 / 21:19:29 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   459
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   460
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   461
i2:something
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   462
    "set i2"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   463
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   464
    i2 := something.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   465
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   466
    "Created: 13.5.1996 / 21:19:25 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   467
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   468
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   469
i3
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   470
    "return i3"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   471
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   472
    ^ i3
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   473
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   474
    "Created: 13.5.1996 / 21:19:25 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   475
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   476
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   477
i3:something
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   478
    "set i3"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   479
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   480
    i3 := something.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   481
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   482
    "Created: 13.5.1996 / 21:19:25 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   483
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   484
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   485
i4
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   486
    "return i4"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   487
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   488
    ^ i4
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   489
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   490
    "Created: 13.5.1996 / 21:19:25 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   491
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   492
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   493
i4:something
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   494
    "set i4"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   495
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   496
    i4 := something.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   497
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   498
    "Created: 13.5.1996 / 21:19:25 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   499
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   500
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   501
i5
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   502
    "return i5"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   503
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   504
    ^ i5
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   505
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   506
    "Created: 13.5.1996 / 21:19:26 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   507
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   508
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   509
i5:something
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   510
    "set i5"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   511
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   512
    i5 := something.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   513
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   514
    "Created: 13.5.1996 / 21:19:26 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   515
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   516
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   517
i6
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   518
    "return i6"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   519
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   520
    ^ i6
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   521
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   522
    "Created: 13.5.1996 / 21:19:26 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   523
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   524
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   525
i6:something
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   526
    "set i6"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   527
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   528
    i6 := something.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   529
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   530
    "Created: 13.5.1996 / 21:19:26 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   531
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   532
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   533
i7
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   534
    "return i7"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   535
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   536
    ^ i7
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   537
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   538
    "Created: 13.5.1996 / 21:19:26 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   539
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   540
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   541
i7:something
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   542
    "set i7"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   543
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   544
    i7 := something.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   545
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   546
    "Created: 13.5.1996 / 21:19:26 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   547
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   548
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   549
i8
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   550
    "return i8"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   551
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   552
    ^ i8
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   553
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   554
    "Created: 13.5.1996 / 21:19:26 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   555
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   556
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   557
i8:something
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   558
    "set i8"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   559
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   560
    i8 := something.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   561
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   562
    "Created: 13.5.1996 / 21:19:26 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   563
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   564
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   565
i9
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   566
    "return i9"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   567
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   568
    ^ i9
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   569
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   570
    "Created: 13.5.1996 / 21:19:26 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   571
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   572
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   573
i9:something
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   574
    "set i9"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   575
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   576
    i9 := something.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   577
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   578
    "Created: 13.5.1996 / 21:19:27 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   579
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   580
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   581
instSize
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   582
    "return instSize - required class protocol"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   583
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   584
    ^ instSize
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   585
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   586
    "Created: 13.5.1996 / 21:19:24 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   587
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   588
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   589
instSize:something
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   590
    "set instSize - required class protocol"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   591
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   592
    instSize := something.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   593
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   594
    "Created: 13.5.1996 / 21:19:25 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   595
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   596
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   597
methodArray
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   598
    "return methodArray - required class protocol"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   599
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   600
    ^ methodArray
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   601
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   602
    "Created: 13.5.1996 / 21:19:24 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   603
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   604
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   605
methodArray:something
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   606
    "set methodArray - required class protocol"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   607
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   608
    methodArray := something.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   609
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   610
    "Created: 13.5.1996 / 21:19:24 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   611
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   612
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   613
otherSupers
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   614
    "return otherSupers"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   615
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   616
    ^ otherSupers
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   617
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   618
    "Created: 13.5.1996 / 21:19:24 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   619
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   620
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   621
otherSupers:something
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   622
    "set otherSupers"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   623
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   624
    otherSupers := something.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   625
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   626
    "Created: 13.5.1996 / 21:19:24 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   627
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   628
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   629
selectorArray
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   630
    "return selectorArray - required class protocol"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   631
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   632
    ^ selectorArray
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   633
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   634
    "Created: 13.5.1996 / 21:19:24 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   635
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   636
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   637
selectorArray:something
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   638
    "set selectorArray - required class protocol"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   639
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   640
    selectorArray := something.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   641
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   642
    "Created: 13.5.1996 / 21:19:24 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   643
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   644
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   645
superclass
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   646
    "return superclass - required class protocol"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   647
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   648
    ^ superclass
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   649
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   650
    "Created: 13.5.1996 / 21:19:23 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   651
!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   652
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   653
superclass:something
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   654
    "set superclass - required class protocol"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   655
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   656
    superclass := something.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   657
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   658
    "Created: 13.5.1996 / 21:19:23 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   659
! !
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   660
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   661
!Structure methodsFor:'stubs'!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   662
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   663
doesNotUnderstand:aMessage
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   664
    "catch unimplemented messages - pass some to the superclass"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   665
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   666
    |sel args names sz s|
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   667
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   668
    "/ instance protocol
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   669
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   670
    sel := aMessage selector.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   671
    args := aMessage arguments.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   672
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   673
    sel == #displayString ifTrue:[
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   674
         ^ super displayString
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   675
    ].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   676
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   677
    sel == #printString ifTrue:[
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   678
         ^ super printString
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   679
    ].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   680
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   681
    sel == #printOn: ifTrue:[
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   682
       s := args at:1.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   683
       s nextPutAll:'Structure('.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   684
        names := self allInstVarNames.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   685
        names keysAndValuesDo:[:idx :nm |
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   686
            s nextPutAll:nm; nextPutAll:'->'.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   687
            s nextPutAll:(self at:idx) displayString.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   688
            s space
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   689
        ].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   690
        s nextPutAll:')'.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   691
        ^ self
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   692
    ].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   693
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   694
    sel == #basicInspect ifTrue:[
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   695
        ^ InspectorView openOn:self
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   696
    ].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   697
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   698
    sel == #inspect ifTrue:[
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   699
        ^ InspectorView openOn:self
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   700
    ].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   701
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   702
    sel == #instVarAt: ifTrue:[
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   703
        |nr|
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   704
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   705
        nr := args at:1.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   706
        nr == 1 ifTrue:[^ i1].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   707
        nr == 2 ifTrue:[^ i2].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   708
        nr == 3 ifTrue:[^ i3].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   709
        nr == 4 ifTrue:[^ i4].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   710
        nr == 5 ifTrue:[^ i5].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   711
        nr == 6 ifTrue:[^ i6].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   712
        ^ nil
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   713
    ].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   714
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   715
    (sel == #size
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   716
    or:[sel == #basicSize]) ifTrue:[
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   717
         ^ super basicSize
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   718
    ].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   719
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   720
    (sel == #at:
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   721
    or:[sel == #basicAt:]) ifTrue:[
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   722
         ^ super basicAt:(args at:1)
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   723
    ].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   724
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   725
    (sel == #at:put:
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   726
    or:[sel == #basicAt:put:]) ifTrue:[
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   727
         ^ super basicAt:(args at:1) put:(args at:2)
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   728
    ].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   729
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   730
    sel == #== ifTrue:[
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   731
         ^ self == (args at:1)
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   732
    ].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   733
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   734
    "/ class protocol
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   735
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   736
    (sel := aMessage selector) == #name ifTrue:[
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   737
        ^ 'Structure'
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   738
    ].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   739
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   740
    sel == #instSize ifTrue:[
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   741
        ^ instSize
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   742
    ].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   743
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   744
    sel == #isVariable ifTrue:[
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   745
         ^ false
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   746
    ].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   747
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   748
    sel == #isClass ifTrue:[
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   749
         ^ false
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   750
    ].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   751
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   752
    sel == #isMeta ifTrue:[
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   753
         ^ false
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   754
    ].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   755
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   756
    sel == #isBehavior ifTrue:[
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   757
         ^ false
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   758
    ].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   759
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   760
    sel == #respondsTo: ifTrue:[
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   761
        (args at:1) printNL.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   762
         ^ false
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   763
    ].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   764
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   765
    sel == #evaluatorClass ifTrue:[
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   766
        ^ Compiler
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   767
    ].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   768
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   769
    sel == #classNameWithArticle ifTrue:[
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   770
         ^ self displayString
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   771
    ].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   772
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   773
    sel == #allSubclasses ifTrue:[
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   774
        ^ #()
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   775
    ].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   776
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   777
    sel == #allClassVarNames ifTrue:[
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   778
        ^ #()
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   779
    ].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   780
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   781
    sel == #allInstVarNames ifTrue:[
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   782
        sz := super basicSize.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   783
        names := Array new:sz.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   784
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   785
        selectorArray copy with:methodArray copy do:[:sel :mthd|
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   786
            |index|
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   787
            (sel endsWith:$:) ifFalse:[
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   788
                (sel ~~ #class) ifTrue:[
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   789
                    "/
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   790
                    "/ which method is it ?
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   791
                    "/
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   792
                    (1 to:20) do:[:i |
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   793
                        |mysel|
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   794
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   795
                        mysel := ('i' , i printString) asSymbol.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   796
                        mthd == (Structure compiledMethodAt:mysel) ifTrue:[
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   797
                            index := i
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   798
                        ]
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   799
                    ].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   800
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   801
                    index isNil ifTrue:[
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   802
                        'oops' printNL.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   803
                        ^ nil
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   804
                    ].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   805
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   806
                    names at:index put:sel.                
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   807
                ]
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   808
            ]
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   809
        ].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   810
        "/ must now sort by index ...
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   811
        
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   812
         ^ names
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   813
    ].
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   814
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   815
    aMessage printNL.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   816
    'args ' print. args printNL.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   817
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   818
^ nil.
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   819
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   820
    "Created: 13.5.1996 / 20:22:22 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   821
    "Modified: 13.5.1996 / 21:12:54 / cg"
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   822
! !
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   823
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   824
!Structure class methodsFor:'documentation'!
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   825
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   826
version
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   827
    ^ '$Header: /cvs/stx/stx/libcomp/Structure.st,v 1.1 1996-05-24 15:00:36 cg Exp $'
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   828
! !
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   829
7f91d09a768b renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   830
Structure initialize!