--- a/ClassDescription.st Fri Apr 24 20:48:15 1998 +0200
+++ b/ClassDescription.st Sat Apr 25 14:29:57 1998 +0200
@@ -126,9 +126,10 @@
FileOutErrorSignal nameClass:self message:#fileOutErrorSignal.
FileOutErrorSignal notifierString:'error during fileOut'.
- MethodRedefinitionSignal := ErrorSignal newSignalMayProceed:true.
+ MethodRedefinitionSignal := QuerySignal new.
MethodRedefinitionSignal nameClass:self message:#methodRedefinitionSignal.
MethodRedefinitionSignal notifierString:'attempt to redefine method from different package'.
+ MethodRedefinitionSignal defaultAnswer:#keep.
UpdateChangeFileQuerySignal := QuerySignal new.
UpdateChangeFileQuerySignal nameClass:self message:#updateChangeFileQuerySignal.
@@ -203,6 +204,99 @@
"Modified: 5.11.1996 / 20:08:38 / cg"
"Created: 2.4.1997 / 17:28:41 / stefan"
+!
+
+methodRedefinitionSignal
+ "return the signal raised when a method is about to be installed
+ which redefines an existing method and the methods packages are not
+ equal. This helps when filing in alien code, to prevent existing
+ methods to be overwritten or redefined by incompatible methods"
+
+ ^ MethodRedefinitionSignal
+!
+
+nameSpaceQuerySignal
+ "return the signal used as an upQuery for the current nameSpace.
+ Will be used when filing in code"
+
+ ^ NameSpaceQuerySignal
+
+ "
+ Transcript showCR:Class nameSpaceQuerySignal raise
+ "
+
+ "Modified: 5.11.1996 / 20:08:38 / cg"
+!
+
+packageQuerySignal
+ "return the signal used as an upQuery for the current packages name.
+ Will be used when filing in code"
+
+ ^ PackageQuerySignal
+
+ "
+ Transcript showCR:Class packageQuerySignal raise
+ "
+
+ "Created: 5.11.1996 / 20:07:22 / cg"
+ "Modified: 5.11.1996 / 20:08:35 / cg"
+!
+
+updateChangeFileQuerySignal
+ "return the signal used as an upQuery if the changeFile should be updated.
+ If unhandled, the value of UpdatingChanges is returned by the signals
+ static handler."
+
+ ^ UpdateChangeFileQuerySignal
+
+ "
+ Transcript showCR:Class updateChangeFileQuerySignal raise
+ "
+
+ "Modified: 5.11.1996 / 20:08:44 / cg"
+!
+
+usedNameSpaceQuerySignal
+ "return the signal used as an upQuery for the used nameSpace.
+ Will be used when filing in code"
+
+ ^ UsedNameSpaceQuerySignal
+
+ "Created: 19.12.1996 / 23:57:27 / cg"
+! !
+
+!ClassDescription class methodsFor:'accessing - flags'!
+
+catchMethodRedefinitions
+ "return the redefinition catching flag."
+
+ ^ CatchMethodRedefinitions
+!
+
+catchMethodRedefinitions:aBoolean
+ "turn on/off redefinition catching. Return the prior value of the flag."
+
+ |prev|
+
+ prev := CatchMethodRedefinitions.
+ CatchMethodRedefinitions := aBoolean.
+ ^ prev
+!
+
+lockChangesFile
+ "return true, if the change file is locked during update"
+
+ ^ LockChangesFile
+!
+
+lockChangesFile:aBoolean
+ "turn on/off change-file-locking. Return the previous value of the flag."
+
+ |prev|
+
+ prev := LockChangesFile.
+ LockChangesFile := aBoolean.
+ ^ prev
! !
!ClassDescription class methodsFor:'enumeration '!
@@ -2690,6 +2784,6 @@
!ClassDescription class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/ClassDescription.st,v 1.66 1998-03-30 13:52:52 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/ClassDescription.st,v 1.67 1998-04-25 12:29:57 cg Exp $'
! !
ClassDescription initialize!