SmalltalkCodeGeneratorTool.st
branchjv
changeset 16256 65473fc50115
parent 16213 f667b5b42a11
parent 16241 0d57786bae5c
child 16268 82848a0b6d70
equal deleted inserted replaced
16237:bc32adffa408 16256:65473fc50115
  2031             forClass:aMetaClass 
  2031             forClass:aMetaClass 
  2032             inCategory:category.
  2032             inCategory:category.
  2033     ].
  2033     ].
  2034 !
  2034 !
  2035 
  2035 
       
  2036 createMultiSetterInstanceCreationMethodFor:aCollectionOfVarNames in:aClass
       
  2037     "create a multi-setter instance creator method for instvars."
       
  2038 
       
  2039     |argPart source|
       
  2040     
       
  2041     self createMultiSetterMethodFor:aCollectionOfVarNames in:aClass.
       
  2042     
       
  2043     source := ''.
       
  2044     aCollectionOfVarNames do:[:eachVar |
       
  2045         source := source , (eachVar , ':' , eachVar , 'Arg ').
       
  2046     ].
       
  2047     argPart := source.
       
  2048     
       
  2049     source := source , Character cr.
       
  2050     (userPreferences generateCommentsForSetters) ifTrue:[
       
  2051         source := source , ('    "return a new instance with multiple instance variables initialized"' , Character cr , Character cr).
       
  2052     ].
       
  2053     source := source , ('    ^ self new ' , argPart).
       
  2054     self compile:source forClass:aClass theMetaclass inCategory:#'instance creation'.
       
  2055 !
       
  2056 
  2036 createMultiSetterMethodFor:aCollectionOfVarNames in:aClass
  2057 createMultiSetterMethodFor:aCollectionOfVarNames in:aClass
  2037     "create a multi-setter method for instvars."
  2058     "create a multi-setter method for instvars."
  2038 
  2059 
  2039     |source|
  2060     |source|
  2040 
  2061