ClassBuilder.st
changeset 13607 a0e8ff7bf150
parent 13605 fbef4a56fdde
child 13617 99a24e792ee6
--- a/ClassBuilder.st	Sat Aug 20 18:45:03 2011 +0200
+++ b/ClassBuilder.st	Sat Aug 20 19:44:19 2011 +0200
@@ -12,18 +12,18 @@
 "{ Package: 'stx:libbasic' }"
 
 Object subclass:#ClassBuilder
-	instanceVariableNames:'metaclass classClass className environment superClass
-		instanceVariableNames flags classVariableNames poolDictionaries
-		category comment changed classInstanceVariableNames oldMetaClass
-		oldClass oldPoolDictionaries oldSuperClass oldClassVars
-		oldInstVars realNewName buildPrivateClass buildingPrivateClass
-		nameKey newSuperClass superClassChange newClassVars newInstVars
-		classVarChange instVarChange recompileGlobalAccessTo
-		oldClassToBecomeNew oldClassInstVars newClassInstVars'
-	classVariableNames:'LastNamespace LastNamespaceName LastClassesInNameSpace
-		LastClassNamesInNameSpace'
-	poolDictionaries:''
-	category:'Kernel-Support'
+        instanceVariableNames:'metaclass classClass className environment superClass
+                instanceVariableNames flags classVariableNames poolDictionaries
+                category comment changed classInstanceVariableNames oldMetaClass
+                oldClass oldPoolDictionaries oldSuperClass oldClassVars
+                oldInstVars realNewName buildPrivateClass buildingPrivateClass
+                nameKey newSuperClass superClassChange newClassVars newInstVars
+                classVarChange instVarChange recompileGlobalAccessTo
+                oldClassToBecomeNew oldClassInstVars newClassInstVars'
+        classVariableNames:'LastNamespace LastNamespaceName LastClassesInNameSpace
+                LastClassNamesInNameSpace'
+        poolDictionaries:''
+        category:'Kernel-Support'
 !
 
 !ClassBuilder class methodsFor:'documentation'!
@@ -2279,15 +2279,58 @@
     "Modified: 9.1.1997 / 02:10:02 / cg"
 ! !
 
+!ClassBuilder methodsFor:'compatibility - squeak'!
+
+name:newName 
+    inEnvironment:aSystemDictionaryOrClass 
+    subclassOf:aClass
+    type: type 
+    instanceVariableNames: stringOfInstVarNames 
+    classVariableNames: stringOfClassVarNames 
+    poolDictionaries: stringOfPoolNames
+    category: categoryString
+
+    "this returns the created class; it is not a simple accessor"
+
+    |variableBoolean wordsBoolean pointersBoolean|
+
+    variableBoolean := wordsBoolean := pointersBoolean := false.
+    type ~~ #normal ifTrue:[
+        type == #variable ifTrue:[
+            variableBoolean := true
+        ] ifFalse:[
+self halt:'todo'.
+        ].
+    ].
+
+    self 
+        name:newName 
+        inEnvironment:aSystemDictionaryOrClass 
+        subclassOf:aClass 
+        instanceVariableNames:stringOfInstVarNames 
+        variable:variableBoolean 
+        words:wordsBoolean 
+        pointers:pointersBoolean 
+        classVariableNames:stringOfClassVarNames 
+        poolDictionaries:stringOfPoolNames 
+        category:categoryString 
+        comment:''
+        changed:false
+        classInstanceVariableNames:''.
+
+    ^ self buildClass
+
+    "Modified: / 20-08-2011 / 18:33:45 / cg"
+! !
 
 !ClassBuilder class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/ClassBuilder.st,v 1.103 2011-08-20 15:44:43 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/ClassBuilder.st,v 1.104 2011-08-20 17:44:19 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic/ClassBuilder.st,v 1.103 2011-08-20 15:44:43 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/ClassBuilder.st,v 1.104 2011-08-20 17:44:19 cg Exp $'
 ! !
 
 ClassBuilder initialize!