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)
--- 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 $'
! !