<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title></head>
<body>
<p>
<%
for (int i = 0; i < 10; i++) {
%>
<%=i%>
<%
}
%>
</p>
</body>
</html>
Put cursor right before any of 2 "<%" tokens. Invoke main menu | code. Wait a bit - exception. See below.
I cannot reproduce it in simple cases, e.g. in case when the "for" loop is completely within the single scriptlet block.
update failed for AnAction with ID=MoveStatementDown
java.lang.NullPointerException
at com.intellij.codeInsight.CodeInsightUtil.findStatementsInRange(CodeInsightUtil.java:236)
at com.intellij.openapi.editor.actions.moveUpDown.StatementMover.checkAvailable(StatementMover.java:71)
at com.intellij.openapi.editor.actions.moveUpDown.MoveStatementHandler.a(MoveStatementHandler.java:30)
at com.intellij.openapi.editor.actions.moveUpDown.MoveStatementHandler.isEnabled(MoveStatementHandler.java:13)
at com.intellij.openapi.editor.actionSystem.EditorAction.update(EditorAction.java:62)
at com.intellij.openapi.editor.actionSystem.EditorAction.update(EditorAction.java:73)
at com.intellij.openapi.actionSystem.impl.Utils.a(Utils.java:73)
at com.intellij.openapi.actionSystem.impl.Utils.expandActionGroup(Utils.java:79)
at com.intellij.openapi.actionSystem.impl.Utils.fillMenu(Utils.java:19)
at com.intellij.openapi.actionSystem.impl.ActionMenu.f(ActionMenu.java:14)
at com.intellij.openapi.actionSystem.impl.ActionMenu.access$400(ActionMenu.java:84)
at com.intellij.openapi.actionSystem.impl.ActionMenu$MenuListenerImpl.menuSelected(ActionMenu.java:2)
at javax.swing.JMenu.fireMenuSelected(JMenu.java:1091)
at javax.swing.JMenu$MenuChangeListener.stateChanged(JMenu.java:1184)
at javax.swing.DefaultButtonModel.fireStateChanged(DefaultButtonModel.java:362)
at javax.swing.DefaultButtonModel.setSelected(DefaultButtonModel.java:228)
at javax.swing.JMenu.setSelected(JMenu.java:280)
at javax.swing.JMenu.menuSelectionChanged(JMenu.java:1251)
at com.intellij.openapi.actionSystem.impl.ActionMenu.menuSelectionChanged(ActionMenu.java:36)
at javax.swing.MenuSelectionManager.setSelectedPath(MenuSelectionManager.java:89)
at javax.swing.plaf.basic.BasicMenuUI$Actions.actionPerformed(BasicMenuUI.java:270)
at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1571)
at javax.swing.JComponent.processKeyBinding(JComponent.java:2772)
at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:255)
at javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:204)
at javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2849)
at javax.swing.JComponent.processKeyBindings(JComponent.java:2841)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2735)
at java.awt.Component.processEvent(Component.java:5278)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3968)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1826)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:677)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:934)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:806)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:641)
at java.awt.Component.dispatchEventImpl(Component.java:3841)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Window.dispatchEventImpl(Window.java:1778)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:28)
at com.intellij.ide.IdeEventQueue.a(IdeEventQueue.java:115)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:102)
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)
java.lang.NullPointerException
at com.intellij.codeInsight.CodeInsightUtil.findStatementsInRange(CodeInsightUtil.java:236)
at com.intellij.openapi.editor.actions.moveUpDown.StatementMover.checkAvailable(StatementMover.java:71)
at com.intellij.openapi.editor.actions.moveUpDown.MoveStatementHandler.a(MoveStatementHandler.java:30)
at com.intellij.openapi.editor.actions.moveUpDown.MoveStatementHandler.isEnabled(MoveStatementHandler.java:13)
at com.intellij.openapi.editor.actionSystem.EditorAction.update(EditorAction.java:62)
at com.intellij.openapi.editor.actionSystem.EditorAction.update(EditorAction.java:73)
at com.intellij.openapi.actionSystem.impl.Utils.a(Utils.java:73)
at com.intellij.openapi.actionSystem.impl.Utils.expandActionGroup(Utils.java:79)
at com.intellij.openapi.actionSystem.impl.Utils.fillMenu(Utils.java:19)
at com.intellij.openapi.actionSystem.impl.ActionMenu.f(ActionMenu.java:14)
at com.intellij.openapi.actionSystem.impl.ActionMenu.access$400(ActionMenu.java:84)
at com.intellij.openapi.actionSystem.impl.ActionMenu$MenuListenerImpl.menuSelected(ActionMenu.java:2)
at javax.swing.JMenu.fireMenuSelected(JMenu.java:1091)
at javax.swing.JMenu$MenuChangeListener.stateChanged(JMenu.java:1184)
at javax.swing.DefaultButtonModel.fireStateChanged(DefaultButtonModel.java:362)
at javax.swing.DefaultButtonModel.setSelected(DefaultButtonModel.java:228)
at javax.swing.JMenu.setSelected(JMenu.java:280)
at javax.swing.JMenu.menuSelectionChanged(JMenu.java:1251)
at com.intellij.openapi.actionSystem.impl.ActionMenu.menuSelectionChanged(ActionMenu.java:36)
at javax.swing.MenuSelectionManager.setSelectedPath(MenuSelectionManager.java:89)
at javax.swing.plaf.basic.BasicMenuUI$Actions.actionPerformed(BasicMenuUI.java:270)
at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1571)
at javax.swing.JComponent.processKeyBinding(JComponent.java:2772)
at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:255)
at javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:204)
at javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2849)
at javax.swing.JComponent.processKeyBindings(JComponent.java:2841)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2735)
at java.awt.Component.processEvent(Component.java:5278)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3968)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1826)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:677)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:934)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:806)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:641)
at java.awt.Component.dispatchEventImpl(Component.java:3841)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Window.dispatchEventImpl(Window.java:1778)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:28)
at com.intellij.ide.IdeEventQueue.a(IdeEventQueue.java:115)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:102)
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)
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title></head>
<body>
<p>
<%
for (int i = 0; i < 10; i++) {
%>
<%=i%>
<%
}
%>
</p>
</body>
</html>
Put cursor right before any of 2 "<%" tokens. Invoke main menu | code. Wait a bit - exception. See below.
I cannot reproduce it in simple cases, e.g. in case when the "for" loop is completely within the single scriptlet block.
update failed for AnAction with ID=MoveStatementDown
java.lang.NullPointerException
at com.intellij.codeInsight.CodeInsightUtil.findStatementsInRange(CodeInsightUtil.java:236)
at com.intellij.openapi.editor.actions.moveUpDown.StatementMover.checkAvailable(StatementMover.java:71)
at com.intellij.openapi.editor.actions.moveUpDown.MoveStatementHandler.a(MoveStatementHandler.java:30)
at com.intellij.openapi.editor.actions.moveUpDown.MoveStatementHandler.isEnabled(MoveStatementHandler.java:13)
at com.intellij.openapi.editor.actionSystem.EditorAction.update(EditorAction.java:62)
at com.intellij.openapi.editor.actionSystem.EditorAction.update(EditorAction.java:73)
at com.intellij.openapi.actionSystem.impl.Utils.a(Utils.java:73)
at com.intellij.openapi.actionSystem.impl.Utils.expandActionGroup(Utils.java:79)
at com.intellij.openapi.actionSystem.impl.Utils.fillMenu(Utils.java:19)
at com.intellij.openapi.actionSystem.impl.ActionMenu.f(ActionMenu.java:14)
at com.intellij.openapi.actionSystem.impl.ActionMenu.access$400(ActionMenu.java:84)
at com.intellij.openapi.actionSystem.impl.ActionMenu$MenuListenerImpl.menuSelected(ActionMenu.java:2)
at javax.swing.JMenu.fireMenuSelected(JMenu.java:1091)
at javax.swing.JMenu$MenuChangeListener.stateChanged(JMenu.java:1184)
at javax.swing.DefaultButtonModel.fireStateChanged(DefaultButtonModel.java:362)
at javax.swing.DefaultButtonModel.setSelected(DefaultButtonModel.java:228)
at javax.swing.JMenu.setSelected(JMenu.java:280)
at javax.swing.JMenu.menuSelectionChanged(JMenu.java:1251)
at com.intellij.openapi.actionSystem.impl.ActionMenu.menuSelectionChanged(ActionMenu.java:36)
at javax.swing.MenuSelectionManager.setSelectedPath(MenuSelectionManager.java:89)
at javax.swing.plaf.basic.BasicMenuUI$Actions.actionPerformed(BasicMenuUI.java:270)
at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1571)
at javax.swing.JComponent.processKeyBinding(JComponent.java:2772)
at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:255)
at javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:204)
at javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2849)
at javax.swing.JComponent.processKeyBindings(JComponent.java:2841)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2735)
at java.awt.Component.processEvent(Component.java:5278)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3968)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1826)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:677)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:934)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:806)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:641)
at java.awt.Component.dispatchEventImpl(Component.java:3841)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Window.dispatchEventImpl(Window.java:1778)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:28)
at com.intellij.ide.IdeEventQueue.a(IdeEventQueue.java:115)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:102)
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)
java.lang.NullPointerException
at com.intellij.codeInsight.CodeInsightUtil.findStatementsInRange(CodeInsightUtil.java:236)
at com.intellij.openapi.editor.actions.moveUpDown.StatementMover.checkAvailable(StatementMover.java:71)
at com.intellij.openapi.editor.actions.moveUpDown.MoveStatementHandler.a(MoveStatementHandler.java:30)
at com.intellij.openapi.editor.actions.moveUpDown.MoveStatementHandler.isEnabled(MoveStatementHandler.java:13)
at com.intellij.openapi.editor.actionSystem.EditorAction.update(EditorAction.java:62)
at com.intellij.openapi.editor.actionSystem.EditorAction.update(EditorAction.java:73)
at com.intellij.openapi.actionSystem.impl.Utils.a(Utils.java:73)
at com.intellij.openapi.actionSystem.impl.Utils.expandActionGroup(Utils.java:79)
at com.intellij.openapi.actionSystem.impl.Utils.fillMenu(Utils.java:19)
at com.intellij.openapi.actionSystem.impl.ActionMenu.f(ActionMenu.java:14)
at com.intellij.openapi.actionSystem.impl.ActionMenu.access$400(ActionMenu.java:84)
at com.intellij.openapi.actionSystem.impl.ActionMenu$MenuListenerImpl.menuSelected(ActionMenu.java:2)
at javax.swing.JMenu.fireMenuSelected(JMenu.java:1091)
at javax.swing.JMenu$MenuChangeListener.stateChanged(JMenu.java:1184)
at javax.swing.DefaultButtonModel.fireStateChanged(DefaultButtonModel.java:362)
at javax.swing.DefaultButtonModel.setSelected(DefaultButtonModel.java:228)
at javax.swing.JMenu.setSelected(JMenu.java:280)
at javax.swing.JMenu.menuSelectionChanged(JMenu.java:1251)
at com.intellij.openapi.actionSystem.impl.ActionMenu.menuSelectionChanged(ActionMenu.java:36)
at javax.swing.MenuSelectionManager.setSelectedPath(MenuSelectionManager.java:89)
at javax.swing.plaf.basic.BasicMenuUI$Actions.actionPerformed(BasicMenuUI.java:270)
at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1571)
at javax.swing.JComponent.processKeyBinding(JComponent.java:2772)
at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:255)
at javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:204)
at javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2849)
at javax.swing.JComponent.processKeyBindings(JComponent.java:2841)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2735)
at java.awt.Component.processEvent(Component.java:5278)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3968)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1826)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:677)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:934)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:806)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:641)
at java.awt.Component.dispatchEventImpl(Component.java:3841)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Window.dispatchEventImpl(Window.java:1778)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:28)
at com.intellij.ide.IdeEventQueue.a(IdeEventQueue.java:115)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:102)
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)