History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: IDEADEV-25199
Type: Exception Exception
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Dmitry Jemerov
Reporter: Alexander Chernikov
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
IDEA: Development

Refactor / Rename class: with qualified references to members of this and different class Assertion error through ChangeUtil.generateTreeElement() is thrown

Created: 03 Mar 08 21:59   Updated: 21 Jul 08 17:49
Component/s: Refactoring
Fix Version/s: Diana 8618

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown

Build: 8,206
Fixed in build: 8,583


 Description  « Hide
Provide code like:
public class RenameCollisions2 {
	public static final int SN_STATIC_FIELD = 6;
	public static void snStaticMethod() {
	}

	public static void staticContext() {
		int var6 = RenameCollisions2.SN_STATIC_FIELD;
		String.CASE_INSENSITIVE_ORDER.getClass();
		RenameCollisions2.snStaticMethod();
		String.valueOf(20);
	}
}

I.e. we have qualified references to static membes of this, and different (java.lang.String) classes.
Rename "RenameCollisions2" to "String".
Result: it seems that the code is correctly updated, but assertion error is thrown.

The trace is a bit similar to one in IDEADEV-24955, but different.
There is no this bug in 7740.



 All   Comments   Work Log   Change History      Sort Order:
Alexander Chernikov - 03 Mar 08 21:59
Assertion failed: 
java.lang.Throwable
	at com.intellij.openapi.diagnostic.Logger.assertTrue(Logger.java:89)
	at com.intellij.openapi.diagnostic.Logger.assertTrue(Logger.java:96)
	at com.intellij.psi.impl.source.tree.ChangeUtil.generateTreeElement(ChangeUtil.java:39)
	at com.intellij.psi.impl.source.tree.ChangeUtil.copyToElement(ChangeUtil.java:174)
	at com.intellij.psi.impl.source.tree.CompositePsiElement.replace(CompositePsiElement.java:93)
	at com.intellij.refactoring.rename.ClassHidesImportedClassUsageInfo.resolveCollision(ClassHidesImportedClassUsageInfo.java:5)
	at com.intellij.refactoring.rename.RenameJavaClassProcessor.renameElement(RenameJavaClassProcessor.java:41)
	at com.intellij.refactoring.rename.RenameUtil.doRename(RenameUtil.java:11)
	at com.intellij.refactoring.rename.RenameProcessor.performRefactoring(RenameProcessor.java:67)
	at com.intellij.refactoring.BaseRefactoringProcessor.a(BaseRefactoringProcessor.java:47)
	at com.intellij.refactoring.BaseRefactoringProcessor.access$000(BaseRefactoringProcessor.java:65)
	at com.intellij.refactoring.BaseRefactoringProcessor$3$1.run(BaseRefactoringProcessor.java:1)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:199)
	at com.intellij.refactoring.BaseRefactoringProcessor$3.run(BaseRefactoringProcessor.java:1)
	at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:76)
	at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:70)
	at com.intellij.refactoring.BaseRefactoringProcessor.execute(BaseRefactoringProcessor.java:22)
	at com.intellij.refactoring.BaseRefactoringProcessor.doRun(BaseRefactoringProcessor.java:70)
	at com.intellij.refactoring.rename.RenameProcessor.doRun(RenameProcessor.java:129)
	at com.intellij.refactoring.BaseRefactoringProcessor.run(BaseRefactoringProcessor.java:20)
	at com.intellij.refactoring.ui.RefactoringDialog.invokeRefactoring(RefactoringDialog.java:19)
	at com.intellij.refactoring.rename.RenameDialog.doAction(RenameDialog.java:44)
	at com.intellij.refactoring.ui.RefactoringDialog.b(RefactoringDialog.java:11)
	at com.intellij.refactoring.ui.RefactoringDialog.access$000(RefactoringDialog.java:27)
	at com.intellij.refactoring.ui.RefactoringDialog$RefactorAction.actionPerformed(RefactoringDialog.java:3)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
	at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
	at javax.swing.plaf.basic.BasicRootPaneUI$Actions.actionPerformed(BasicRootPaneUI.java:191)
	at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1636)
	at javax.swing.JComponent.processKeyBinding(JComponent.java:2849)
	at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:267)
	at javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:216)
	at javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2926)
	at javax.swing.JComponent.processKeyBindings(JComponent.java:2918)
	at javax.swing.JComponent.processKeyEvent(JComponent.java:2812)
	at java.awt.Component.processEvent(Component.java:5818)
	at java.awt.Container.processEvent(Container.java:2058)
	at java.awt.Component.dispatchEventImpl(Component.java:4413)
	at java.awt.Container.dispatchEventImpl(Container.java:2116)
	at java.awt.Component.dispatchEvent(Component.java:4243)
	at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1848)
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:697)
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:962)
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:834)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:661)
	at java.awt.Component.dispatchEventImpl(Component.java:4285)
	at java.awt.Container.dispatchEventImpl(Container.java:2116)
	at java.awt.Window.dispatchEventImpl(Window.java:2440)
	at java.awt.Component.dispatchEvent(Component.java:4243)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
	at com.intellij.ide.IdeEventQueue.c(IdeEventQueue.java:98)
	at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:99)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:207)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:177)
	at java.awt.Dialog$1.run(Dialog.java:1045)
	at java.awt.Dialog$3.run(Dialog.java:1097)
	at java.security.AccessController.$$YJP$$doPrivileged(Native Method)
	at java.security.AccessController.doPrivileged(AccessController.java)
	at java.awt.Dialog.show(Dialog.java:1095)
	at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:93)
	at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:39)
	at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:812)
	at com.intellij.refactoring.rename.PsiElementRenameHandler.rename(PsiElementRenameHandler.java:37)
	at com.intellij.refactoring.rename.PsiElementRenameHandler.invoke(PsiElementRenameHandler.java:19)
	at com.intellij.refactoring.rename.PsiElementRenameHandler.invoke(PsiElementRenameHandler.java:49)
	at com.intellij.refactoring.actions.BaseRefactoringAction.actionPerformed(BaseRefactoringAction.java:42)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.a(IdeKeyEventDispatcher.java:56)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.b(IdeKeyEventDispatcher.java:144)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.dispatchKeyEvent(IdeKeyEventDispatcher.java:229)
	at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:70)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:207)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)



java.lang.Throwable
	at com.intellij.openapi.diagnostic.Logger.assertTrue(Logger.java:89)
	at com.intellij.openapi.diagnostic.Logger.assertTrue(Logger.java:96)
	at com.intellij.psi.impl.source.tree.ChangeUtil.generateTreeElement(ChangeUtil.java:39)
	at com.intellij.psi.impl.source.tree.ChangeUtil.copyToElement(ChangeUtil.java:174)
	at com.intellij.psi.impl.source.tree.CompositePsiElement.replace(CompositePsiElement.java:93)
	at com.intellij.refactoring.rename.ClassHidesImportedClassUsageInfo.resolveCollision(ClassHidesImportedClassUsageInfo.java:5)
	at com.intellij.refactoring.rename.RenameJavaClassProcessor.renameElement(RenameJavaClassProcessor.java:41)
	at com.intellij.refactoring.rename.RenameUtil.doRename(RenameUtil.java:11)
	at com.intellij.refactoring.rename.RenameProcessor.performRefactoring(RenameProcessor.java:67)
	at com.intellij.refactoring.BaseRefactoringProcessor.a(BaseRefactoringProcessor.java:47)
	at com.intellij.refactoring.BaseRefactoringProcessor.access$000(BaseRefactoringProcessor.java:65)
	at com.intellij.refactoring.BaseRefactoringProcessor$3$1.run(BaseRefactoringProcessor.java:1)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:199)
	at com.intellij.refactoring.BaseRefactoringProcessor$3.run(BaseRefactoringProcessor.java:1)
	at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:76)
	at com.intellij.openapi.command.impl.CommandProcessorImpl.executeCommand(CommandProcessorImpl.java:70)
	at com.intellij.refactoring.BaseRefactoringProcessor.execute(BaseRefactoringProcessor.java:22)
	at com.intellij.refactoring.BaseRefactoringProcessor.doRun(BaseRefactoringProcessor.java:70)
	at com.intellij.refactoring.rename.RenameProcessor.doRun(RenameProcessor.java:129)
	at com.intellij.refactoring.BaseRefactoringProcessor.run(BaseRefactoringProcessor.java:20)
	at com.intellij.refactoring.ui.RefactoringDialog.invokeRefactoring(RefactoringDialog.java:19)
	at com.intellij.refactoring.rename.RenameDialog.doAction(RenameDialog.java:44)
	at com.intellij.refactoring.ui.RefactoringDialog.b(RefactoringDialog.java:11)
	at com.intellij.refactoring.ui.RefactoringDialog.access$000(RefactoringDialog.java:27)
	at com.intellij.refactoring.ui.RefactoringDialog$RefactorAction.actionPerformed(RefactoringDialog.java:3)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
	at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
	at javax.swing.plaf.basic.BasicRootPaneUI$Actions.actionPerformed(BasicRootPaneUI.java:191)
	at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1636)
	at javax.swing.JComponent.processKeyBinding(JComponent.java:2849)
	at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:267)
	at javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:216)
	at javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2926)
	at javax.swing.JComponent.processKeyBindings(JComponent.java:2918)
	at javax.swing.JComponent.processKeyEvent(JComponent.java:2812)
	at java.awt.Component.processEvent(Component.java:5818)
	at java.awt.Container.processEvent(Container.java:2058)
	at java.awt.Component.dispatchEventImpl(Component.java:4413)
	at java.awt.Container.dispatchEventImpl(Container.java:2116)
	at java.awt.Component.dispatchEvent(Component.java:4243)
	at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1848)
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:697)
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:962)
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:834)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:661)
	at java.awt.Component.dispatchEventImpl(Component.java:4285)
	at java.awt.Container.dispatchEventImpl(Container.java:2116)
	at java.awt.Window.dispatchEventImpl(Window.java:2440)
	at java.awt.Component.dispatchEvent(Component.java:4243)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
	at com.intellij.ide.IdeEventQueue.c(IdeEventQueue.java:98)
	at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:99)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:207)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:177)
	at java.awt.Dialog$1.run(Dialog.java:1045)
	at java.awt.Dialog$3.run(Dialog.java:1097)
	at java.security.AccessController.$$YJP$$doPrivileged(Native Method)
	at java.security.AccessController.doPrivileged(AccessController.java)
	at java.awt.Dialog.show(Dialog.java:1095)
	at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:93)
	at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:39)
	at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:812)
	at com.intellij.refactoring.rename.PsiElementRenameHandler.rename(PsiElementRenameHandler.java:37)
	at com.intellij.refactoring.rename.PsiElementRenameHandler.invoke(PsiElementRenameHandler.java:19)
	at com.intellij.refactoring.rename.PsiElementRenameHandler.invoke(PsiElementRenameHandler.java:49)
	at com.intellij.refactoring.actions.BaseRefactoringAction.actionPerformed(BaseRefactoringAction.java:42)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.a(IdeKeyEventDispatcher.java:56)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.b(IdeKeyEventDispatcher.java:144)
	at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.dispatchKeyEvent(IdeKeyEventDispatcher.java:229)
	at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:70)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:207)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

Alexander Chernikov - 21 Jul 08 17:49
8600: fix confirmed.