717 ! |
717 ! |
718 |
718 |
719 applyPossiblyModifiedChange:aChange |
719 applyPossiblyModifiedChange:aChange |
720 |ns superClass superClassName| |
720 |ns superClass superClassName| |
721 |
721 |
722 applyInOriginalNameSpace value ifFalse:[ |
722 aChange isClassDefinitionChange ifTrue:[ |
723 aChange isClassDefinitionChange ifTrue:[ |
723 superClassName := aChange superClassName. |
724 superClassName := aChange superClassName. |
724 superClassName notNil ifTrue:[ |
725 |
725 superClassName := superClassName asSymbol. |
726 ns := Class nameSpaceQuerySignal query. |
726 applyInOriginalNameSpace value ifFalse:[ |
727 superClass := ns at:superClassName. |
727 ns := Class nameSpaceQuerySignal query. |
728 (superClass isNil and:[ superClass ~~ Smalltalk ]) ifTrue:[ |
728 superClass := ns at:superClassName. |
|
729 (superClass isNil and:[ superClass ~~ Smalltalk ]) ifTrue:[ |
|
730 superClass := Smalltalk at:superClassName. |
|
731 ]. |
|
732 ] ifTrue:[ |
729 superClass := Smalltalk at:superClassName. |
733 superClass := Smalltalk at:superClassName. |
730 ]. |
734 ]. |
731 superClass isNil ifTrue:[ |
735 superClass isNil ifTrue:[ |
732 (superClassName includes:$:) ifFalse:[ |
736 |guess| |
733 superClass := ns at:superClassName. |
737 guess := SystemBrowser classesWithNameSimilarTo:superClassName. |
734 ]. |
738 guess notEmptyOrNil ifTrue:[ guess := guess first ] ifFalse:[ guess := nil ]. |
|
739 superClass := Dialog |
|
740 requestClass:'No superclass: ', superClassName allBold , ' enter a replacement:' |
|
741 initialAnswer:(guess ? superClassName). |
|
742 superClass isNil ifTrue:[^ self ]. |
735 ]. |
743 ]. |
|
744 |
736 superClass notNil ifTrue:[ |
745 superClass notNil ifTrue:[ |
737 aChange superClassName:superClass name. |
746 aChange superClassName:superClass name. |
738 ] |
747 ]. |
739 ]. |
748 ]. |
740 ]. |
749 ]. |
741 |
750 |
742 aChange apply. |
751 aChange apply. |
743 ! |
752 ! |