Spaces:
Running
Running
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 |