--- a/ProjectDefinition.st Tue Oct 13 18:50:39 2009 +0200
+++ b/ProjectDefinition.st Tue Oct 13 18:54:04 2009 +0200
@@ -4049,10 +4049,9 @@
|class oldMethod oldPackage defClass|
class := Smalltalk classNamed:className.
- class isNil ifTrue:[
- self error:'missing class for extension: ', className
+ class notNil ifTrue:[
+ oldMethod := class compiledMethodAt:selector.
].
- oldMethod := class compiledMethodAt:selector.
oldMethod notNil ifTrue:[
oldPackage := oldMethod package.
oldPackage ~= PackageId noProjectID ifTrue:[
@@ -4109,13 +4108,20 @@
!ProjectDefinition class methodsFor:'private-loading'!
checkPrerequisitesForLoading
+ |classesAlreadyWarned|
+
+ classesAlreadyWarned := Set new.
+
self extensionMethodNames
pairWiseDo:[:className :selector |
|class |
class := Smalltalk classNamed:className.
class isNil ifTrue:[
- self error:'missing class for extension: ', className
+ (classesAlreadyWarned includes:className) ifFalse:[
+ self error:'missing class for extension: ', className mayProceed:true.
+ classesAlreadyWarned add:className.
+ ].
].
]
@@ -4670,11 +4676,11 @@
!ProjectDefinition class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.248 2009-10-13 16:50:39 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.249 2009-10-13 16:54:04 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.248 2009-10-13 16:50:39 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.249 2009-10-13 16:54:04 cg Exp $'
! !
ProjectDefinition initialize!