--- a/CustomNamespace.st Sun Nov 02 22:01:00 2014 +0100
+++ b/CustomNamespace.st Tue Nov 04 01:29:31 2014 +0100
@@ -63,6 +63,38 @@
"Modified (comment): / 09-10-2014 / 11:16:02 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
!
+putModelClass: aModelClass
+ "Stores model class (e.g. RBClass) in this model so we can work further with
+ the given class and the modifications done to the given class
+ are reflected in this model (represented by CustomNamespace/RBNamespace)."
+ | classIndex name isClassUndefined |
+
+ classIndex := 1.
+ name := aModelClass name.
+ aModelClass isMeta ifTrue: [
+ classIndex := 2.
+ name := aModelClass theNonMetaclass name.
+ ].
+
+ isClassUndefined := true.
+ newClasses at: name ifPresent: [ :classes |
+ isClassUndefined := false.
+ classes at: classIndex put: aModelClass
+ ].
+
+ changedClasses at: name ifPresent: [ :classes |
+ isClassUndefined := false.
+ classes at: classIndex put: aModelClass
+ ].
+
+ isClassUndefined ifTrue: [
+ self error: 'Class has to be defined in the model - see defineClass: .'.
+ ]
+
+ "Created: / 04-11-2014 / 00:03:52 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
+ "Modified: / 04-11-2014 / 01:07:58 / Jakub Nesveda <nesvejak@fit.cvut.cz>"
+!
+
sourceCodeGenerator
"Returns initialized source code generator"
| sourceCodeGenerator |