class: ClassBuilder
authorClaus Gittinger <cg@exept.de>
Mon, 29 Dec 2014 16:34:40 +0100
changeset 17258 ce2eaec7a6f2
parent 17257 5ea3a01fb14f
child 17259 fc323a98d6c4
class: ClassBuilder changed: #buildClass #fixMethodsIn: #handleEasyNewClass: #handleHardNewClass: when classVars are listed in different order, these lists are considered the same (i.e. no need to recompile after an order change)
ClassBuilder.st
--- a/ClassBuilder.st	Mon Dec 29 16:14:05 2014 +0100
+++ b/ClassBuilder.st	Mon Dec 29 16:34:40 2014 +0100
@@ -670,8 +670,8 @@
     newInstVars := newClass instanceVariableString asCollectionOfWords.
     oldClassInstVars := oldClass class instanceVariableString asCollectionOfWords.
     newClassInstVars := newClass class instanceVariableString asCollectionOfWords.
-    oldClassVars := oldClass classVariableString asCollectionOfWords.
-    newClassVars := newClass classVariableString asCollectionOfWords.
+    oldClassVars := oldClass classVariableString asCollectionOfWords asSet.
+    newClassVars := newClass classVariableString asCollectionOfWords asSet.
     oldPoolDictionaries := oldClass sharedPoolNames.
     newPoolDictionaries := newClass sharedPoolNames.
     poolChange := (oldPoolDictionaries ~= newPoolDictionaries).
@@ -909,7 +909,7 @@
         and:[newSuperClass notNil
         and:[oldSuperClass allClassVarNames = newSuperClass allClassVarNames
         and:[oldSuperClass name = newSuperClass name
-        and:[oldClassVars = newClassVars
+        and:[(oldClassVars sameContentsAs: newClassVars)
         and:[poolChange not]]]]])
         ifTrue:[
 
@@ -1166,7 +1166,7 @@
         oldClass setPackage:newClass package. 
     ].
 
-    ((oldClassVars = newClassVars)
+    ((oldClassVars sameContentsAs: newClassVars)
     and:[oldPoolVars = newPoolVars]) ifTrue:[
         "/ really no change (just comment and/or category)
 
@@ -1286,7 +1286,7 @@
     changed ifTrue:[
         (superClassChange 
          and:[(oldSuperClass isNil or:[newSuperClass notNil and:[oldSuperClass name = newSuperClass name]])
-         and:[(oldClassVars = newClassVars) 
+         and:[(oldClassVars sameContentsAs: newClassVars) 
          and:[(oldInstVars = newInstVars)
          and:[poolChange not 
          and:[oldClass comment = newClass comment]]]]]) ifFalse:[
@@ -2389,11 +2389,11 @@
 !ClassBuilder class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/ClassBuilder.st,v 1.130 2014-07-11 12:22:02 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/ClassBuilder.st,v 1.131 2014-12-29 15:34:40 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic/ClassBuilder.st,v 1.130 2014-07-11 12:22:02 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/ClassBuilder.st,v 1.131 2014-12-29 15:34:40 cg Exp $'
 ! !