Refactoring could fail if the warning level is not 0

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Refactoring could fail if the warning level is not 0

Gabriel Cotelli
Hi,
I made the following change:

RefactoryChangeManager>>ignoreChangesWhile: aBlock

"Added useWarningLevel0While: because if the warning level is not 0 the refactoring can 
fail during the execution and leave the code in an inconsistent state - g.cotelli"

Compiler useWarningLevel0While: [
isPerformingRefactoring ifTrue: [^aBlock value].
isPerformingRefactoring := true.
aBlock ensure: [isPerformingRefactoring := false]]

to avoid some failure doing refactorings when the warning level is for example at 2. To reproduce perform a refactoring that needs to change a method that raises a warning at the current level (but not at 0). Without the Compiler userWarningLevel0While:  the refactoring fails in the middle of the execution leaving the code in an inconsistent state.

Feel free to integrate this change.

Regards,
Gabriel

--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group.
To view this discussion on the web visit https://groups.google.com/d/msg/va-smalltalk/-/k_EV6sxSFi0J.
To post to this group, send email to [hidden email].
To unsubscribe from this group, send email to [hidden email].
For more options, visit this group at http://groups.google.com/group/va-smalltalk?hl=en.