Spaces:
Running
Running
File size: 877 Bytes
8f3f8db |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
public
addClass: aClass
"Add the variables and methods of the given class to the code base."
aClass prepareToBeAddedToCodeGenerator: self.
self checkClassForNameConflicts: aClass.
self addClassVarsFor: aClass.
"ikp..."
self addPoolVarsFor: aClass.
variables addAll: aClass instVarNames.
self retainMethods: aClass requiredMethodNames.
"The identity of the translated class is kept in vmClass for use in identifying the
translated source. Unless otherwise overridden, the first class to be added to the
code generator will provide this identifier."
vmClass ifNil: [self vmClass: aClass].
'Adding Class ' , aClass name , '...'
displayProgressAt: Sensor cursorPoint
from: 0
to: aClass selectors size
during:
[:bar |
aClass selectors doWithIndex: [:sel :i |
bar value: i.
self addMethodFor: aClass selector: sel]].
aClass declareCVarsIn: self |