Marcel Taeumel uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-mt.1279.mcz ==================== Summary ==================== Name: Kernel-mt.1279 Author: mt Time: 22 November 2019, 11:32:11.080303 am UUID: 5ebf13b5-8050-7243-812f-b74e0784b215 Ancestors: Kernel-mt.1278 Following the idea in Kernel-ct.1272 (inbox/treated), add the possibility to suppress warnings. Complements Tests-mt.423. =============== Diff against Kernel-mt.1278 =============== Item was removed: - ----- Method: Deprecation class>>maybeSignalDeprecationFor:message:explanation: (in category 'utilities') ----- - maybeSignalDeprecationFor: context message: messageString explanation: explanationString - self showDeprecationWarnings ifTrue: - [ | message | - message := context method reference, ' has been deprecated', messageString, '.'. - explanationString ifNotEmpty: [message := message, ' ', explanationString]. - self signal: message].! Item was added: + ----- Method: Deprecation class>>signalForContext:message:explanation: (in category 'instance creation') ----- + signalForContext: context message: messageString explanation: explanationString + + | message | + message := context method reference, ' has been deprecated', messageString, '.'. + explanationString ifNotEmpty: [message := message, ' ', explanationString]. + self signal: message.! Item was added: + ----- Method: Deprecation class>>suppressed (in category 'accessing') ----- + suppressed + + ^ self showDeprecationWarnings! Item was added: + ----- Method: Deprecation class>>suppressed: (in category 'accessing') ----- + suppressed: aBoolean + + self showDeprecationWarnings: aBoolean. + super suppressed: aBoolean.! Item was changed: ----- Method: Object>>backwardCompatibilityOnly: (in category 'error handling') ----- backwardCompatibilityOnly: explanationString "Warn that the sending method has been deprecated. Methods that are tagt with #backwardCompatibility: are kept for compatibility." Deprecation + signalForContext: thisContext sender - maybeSignalDeprecationFor: thisContext sender message: ' (but will be kept for compatibility)' explanation: explanationString! Item was changed: ----- Method: Object>>deprecated (in category 'error handling') ----- deprecated "Warn that the sending method has been deprecated." Deprecation + signalForContext: thisContext sender - maybeSignalDeprecationFor: thisContext sender message: '' explanation: ''! Item was changed: ----- Method: Object>>deprecated: (in category 'error handling') ----- deprecated: explanationString "Warn that the sending method has been deprecated." Deprecation + signalForContext: thisContext sender - maybeSignalDeprecationFor: thisContext sender message: '' explanation: explanationString! Item was changed: ----- Method: Object>>deprecated:block: (in category 'error handling') ----- deprecated: explanationString block: aBlock "Warn that the sender has been deprecated. Answer the value of aBlock on resumption. (Note that #deprecated: is usually the preferred method.)" Deprecation + signalForContext: thisContext sender - maybeSignalDeprecationFor: thisContext sender message: '' explanation: explanationString. + ^ aBlock value - ^ aBlock value. ! Item was changed: Notification subclass: #Warning instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Kernel-Exceptions'! + Warning class + instanceVariableNames: 'suppressed resetOnStartUp'! !Warning commentStamp: '<historical>' prior: 0! A Warning is a Notification which by default should be brought to the attention of the user.! + Warning class + instanceVariableNames: 'suppressed resetOnStartUp'! Item was added: + ----- Method: Warning class>>cleanUp: (in category 'class initialization') ----- + cleanUp: aggressive + + aggressive ifTrue: [self resetAllWarnings].! Item was added: + ----- Method: Warning class>>initialize (in category 'class initialization') ----- + initialize + + Smalltalk addToStartUpList: self.! Item was added: + ----- Method: Warning class>>resetAllWarnings (in category 'suppress and reset') ----- + resetAllWarnings + + self withAllSubclassesDo: [:warningClass | + warningClass resetWarnings].! Item was added: + ----- Method: Warning class>>resetOnStartUp (in category 'accessing') ----- + resetOnStartUp + "If true, do not suppress this kind of warning anymore after image start up. This flag will be reset to false after doing this." + + ^ resetOnStartUp ifNil: [false]! Item was added: + ----- Method: Warning class>>resetOnStartUp: (in category 'accessing') ----- + resetOnStartUp: aBoolean + + resetOnStartUp := aBoolean.! Item was added: + ----- Method: Warning class>>resetWarnings (in category 'suppress and reset') ----- + resetWarnings + + self suppressed: false. + self resetOnStartUp: false.! Item was added: + ----- Method: Warning class>>signal (in category 'instance creation') ----- + signal + + ^ self signal: nil! Item was added: + ----- Method: Warning class>>signal: (in category 'instance creation') ----- + signal: signalerText + + ^ self suppressed + ifTrue: [nil] + ifFalse: [self new signal: signalerText]! Item was added: + ----- Method: Warning class>>startUp: (in category 'class initialization') ----- + startUp: resuming + + resuming ifTrue: [ + self withAllSubclassesDo: [:warningClass | + warningClass resetOnStartUp ifTrue: [warningClass resetWarnings]]].! Item was added: + ----- Method: Warning class>>suppressAndResetOnStartUp (in category 'suppress and reset') ----- + suppressAndResetOnStartUp + "Suppress this kind of warning but reset that after the next image start up." + + self suppressed: true. + self resetOnStartUp: true.! Item was added: + ----- Method: Warning class>>suppressWarnings (in category 'suppress and reset') ----- + suppressWarnings + "Suppress this kind of warning." + + self suppressed: true.! Item was added: + ----- Method: Warning class>>suppressed (in category 'accessing') ----- + suppressed + + ^ suppressed ifNil: [false]! Item was added: + ----- Method: Warning class>>suppressed: (in category 'accessing') ----- + suppressed: aBoolean + + suppressed := aBoolean.! |
Free forum by Nabble | Edit this page |