'From Squeak3.6 of ''6 October 2003'' [latest update: #5424] on 17 December 2003 at 12:16:18 am'! !Class methodsFor: 'compiling' stamp: 'sumim 12/16/2003 23:03'! attribute: instVarSym | selectors setterSym | (self allInstVarNames includes: instVarSym) ifFalse: [ self addInstVarName: instVarSym asString]. selectors := self selectors. (selectors includes: instVarSym) ifFalse: [ self define: instVarSym as: '^ ', instVarSym classified: 'accessing']. setterSym := (instVarSym, ':') asSymbol. (selectors includes: setterSym) ifFalse: [ self define: setterSym, ' x' as: instVarSym, ' := x' classified: 'accessing']! ! !Class methodsFor: 'compiling' stamp: 'sumim 12/17/2003 00:16'! define: messageTemplateStr as: codeStr self define: messageTemplateStr as: codeStr classified: nil! ! !Class methodsFor: 'compiling' stamp: 'sumim 12/16/2003 22:55'! define: messageTemplateStr as: codeStr classified: categoryStr | code | code := String streamContents: [ :stream | stream nextPutAll: messageTemplateStr; cr; tab; nextPutAll: codeStr]. self compile: code classified: categoryStr! ! !Symbol methodsFor: 'converting' stamp: 'sumim 12/16/2003 21:45'! << aClass aClass subclass: self instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: (Preferences parameterAt: #userScriptCategory ifAbsentPut: 'Category-UserScript'). ^ Smalltalk at: self! ! !Symbol methodsFor: 'converting' stamp: 'sumim 12/17/2003 00:12'! <== anObject ^ Smalltalk at: self put: anObject! !