PsiView Exception

on JAVA file (valid, no errors), selecting PsiReturnStatement in tree

Assertion failed: getManager() == null!
java.lang.Throwable
at com.intellij.openapi.diagnostic.Logger.assertTrue(Logger.java:77)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.multiResolve(PsiReferenceExpressionImpl.java:223)
at com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl.advancedResolve(PsiReferenceExpressionImpl.java:195)
at com.intellij.psi.impl.source.tree.java.PsiMethodCallExpressionImpl.getType(PsiMethodCallExpressionImpl.java:16)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at idea.util.IntrospectionUtil.getValue(IntrospectionUtil.java:68)
at idea.plugin.psiviewer.view.PropertySheetPanel.setTarget(PropertySheetPanel.java:66)
at idea.plugin.psiviewer.view.PsiViewerPanel.updatePropertySheet(PsiViewerPanel.java:299)
at idea.plugin.psiviewer.view.PsiViewerPanel.setSelectedElement(PsiViewerPanel.java:282)
at idea.plugin.psiviewer.view.PsiViewerPanel.access$600(PsiViewerPanel.java:56)
at idea.plugin.psiviewer.view.PsiViewerPanel$ViewerTreeSelectionListener.valueChanged(PsiViewerPanel.java:248)
at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(DefaultTreeSelectionModel.java:629)
at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(DefaultTreeSelectionModel.java:1078)
at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(DefaultTreeSelectionModel.java:287)
at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(DefaultTreeSelectionModel.java:170)
at javax.swing.JTree.setSelectionPath(JTree.java:1174)
at javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(BasicTreeUI.java:2256)
at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(BasicTreeUI.java:3442)
at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(BasicTreeUI.java:3403)
at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:222)
at java.awt.Component.processMouseEvent(Component.java:5485)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3889)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1774)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:25)
at com.intellij.ide.IdeEventQueue.a(IdeEventQueue.java:46)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:62)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

0

Hi Yann,

This is an ongoing problem (maybe a design problem) with the PsiViewer plugin where all the getters of the selected PSI element are invoked so that the results can be seen in the 'Properties' pane. The getters are invoked regardless of whether they have other dependencies and some getters throw exceptions that PsiViewer can't catch when these dependencies are not met.

If you don't care about seeing the element properties, a workaround is to deselect the 'Properties' toggle button.

Can I get you to turn on some debug logging and email it to me please (or post here if it is small)? Put the following in IDEA's ../bin/log.xml file:

]]>
<param name="ConversionPattern" value="+%7r %5.5p %30.30c - %m%n"/>
]]>

It will create psiviewer.log in your ~/.IntelliJIdea50/system/log directory.

If you like you can turn logging off later by changing the priority values to "NULL".

Cheers,
A.

0

请先登录再写评论。