jlagerweij / cucumber-kotlin

Jetbrains plugin for Cucumber step definitions written in Kotlin
https://plugins.jetbrains.com/plugin/10527-cucumber-for-kotlin
Other
20 stars 16 forks source link

Cannot Create New Step Definition File: java.lang.ClassCastException: com.intellij.psi.impl.file.PsiBinaryFileImpl cannot be cast to org.jetbrains.kotlin.psi.KtFile #22

Closed dave00galloway closed 3 years ago

dave00galloway commented 4 years ago

attempted to create a new step definition file in a location other than the default (IntelliJ tries to create the file in the same location as the feature by default) and this exception was thrown:-

java.lang.ClassCastException: com.intellij.psi.impl.file.PsiBinaryFileImpl cannot be cast to org.jetbrains.kotlin.psi.KtFile at net.lagerwey.plugins.cucumber.kotlin.KotlinStepDefinitionCreator.createStepDefinitionContainer(KotlinStepDefinitionCreator.kt:26) at org.jetbrains.plugins.cucumber.steps.CucumberStepsIndex.createStepDefinitionFile(CucumberStepsIndex.java:71) at org.jetbrains.plugins.cucumber.inspections.CucumberCreateStepFixBase.lambda$null$0(CucumberCreateStepFixBase.java:147) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:212) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:178) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:168) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:154) at org.jetbrains.plugins.cucumber.inspections.CucumberCreateStepFixBase.lambda$createStepDefinitionFile$1(CucumberCreateStepFixBase.java:141) at com.intellij.openapi.command.WriteCommandAction.lambda$runWriteCommandAction$5(WriteCommandAction.java:368) at com.intellij.openapi.command.WriteCommandAction$BuilderImpl$1.run(WriteCommandAction.java:125) at com.intellij.openapi.application.RunResult.run(RunResult.java:35) at com.intellij.openapi.command.WriteCommandAction.lambda$null$1(WriteCommandAction.java:264) at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:994) at com.intellij.openapi.command.WriteCommandAction.lambda$performWriteCommandAction$2(WriteCommandAction.java:263) at com.intellij.openapi.command.WriteCommandAction.lambda$doExecuteCommand$4(WriteCommandAction.java:320) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:220) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:188) at com.intellij.openapi.command.WriteCommandAction.doExecuteCommand(WriteCommandAction.java:322) at com.intellij.openapi.command.WriteCommandAction.performWriteCommandAction(WriteCommandAction.java:263) at com.intellij.openapi.command.WriteCommandAction.execute(WriteCommandAction.java:245) at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.run(WriteCommandAction.java:127) at com.intellij.openapi.command.WriteCommandAction.runWriteCommandAction(WriteCommandAction.java:368) at com.intellij.openapi.command.WriteCommandAction.runWriteCommandAction(WriteCommandAction.java:360) at org.jetbrains.plugins.cucumber.inspections.CucumberCreateStepFixBase.createStepDefinitionFile(CucumberCreateStepFixBase.java:140) at org.jetbrains.plugins.cucumber.inspections.CucumberCreateStepFixBase.createFileOrStepDefinition(CucumberCreateStepFixBase.java:165) at org.jetbrains.plugins.cucumber.inspections.CucumberCreateStepFix.createStepOrSteps(CucumberCreateStepFix.java:20) at org.jetbrains.plugins.cucumber.inspections.CucumberCreateStepFixBase$1.lambda$onChosen$0(CucumberCreateStepFixBase.java:96) at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:192) at com.intellij.ui.popup.AbstractPopup.lambda$dispose$13(AbstractPopup.java:1428) at com.intellij.util.ui.UIUtil.invokeLaterIfNeeded(UIUtil.java:2464) at com.intellij.ide.IdeEventQueue.ifFocusEventsInTheQueue(IdeEventQueue.java:222) at com.intellij.ide.IdeEventQueue.executeWhenAllFocusEventsLeftTheQueue(IdeEventQueue.java:174) at com.intellij.openapi.wm.impl.FocusManagerImpl.doWhenFocusSettlesDown(FocusManagerImpl.java:161) at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.doWhenFocusSettlesDown(IdeFocusManagerImpl.java:58) at com.intellij.ui.popup.AbstractPopup.dispose(AbstractPopup.java:1424) at com.intellij.ui.popup.WizardPopup.dispose(WizardPopup.java:162) at com.intellij.ui.popup.list.ListPopupImpl.dispose(ListPopupImpl.java:318) at com.intellij.openapi.util.Disposer$1.execute(Disposer.java:47) at com.intellij.openapi.util.Disposer$1.execute(Disposer.java:43) at com.intellij.openapi.util.objectTree.ObjectNode$1.execute(ObjectNode.java:135) at com.intellij.openapi.util.objectTree.ObjectNode$1.execute(ObjectNode.java:104) at com.intellij.openapi.util.objectTree.ObjectTree.executeActionWithRecursiveGuard(ObjectTree.java:194) at com.intellij.openapi.util.objectTree.ObjectNode.execute(ObjectNode.java:104) at com.intellij.openapi.util.objectTree.ObjectTree.executeAll(ObjectTree.java:142) at com.intellij.openapi.util.Disposer.dispose(Disposer.java:136) at com.intellij.openapi.util.Disposer.dispose(Disposer.java:132) at com.intellij.ui.popup.WizardPopup.disposeAllParents(WizardPopup.java:263) at com.intellij.ui.popup.list.ListPopupImpl.handleNextStep(ListPopupImpl.java:453) at com.intellij.ui.popup.list.ListPopupImpl._handleSelect(ListPopupImpl.java:407) at com.intellij.ui.popup.list.ListPopupImpl.handleSelect(ListPopupImpl.java:353) at com.intellij.ui.popup.list.ListPopupImpl$MyMouseListener.mouseReleased(ListPopupImpl.java:512) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290) at java.awt.Component.processMouseEvent(Component.java:6550) at javax.swing.JComponent.processMouseEvent(JComponent.java:3325) at com.intellij.ui.popup.list.ListPopupImpl$MyList.processMouseEvent(ListPopupImpl.java:566) at java.awt.Component.processEvent(Component.java:6315) at java.awt.Container.processEvent(Container.java:2239) at java.awt.Component.dispatchEventImpl(Component.java:4899) at java.awt.Container.dispatchEventImpl(Container.java:2297) at java.awt.Component.dispatchEvent(Component.java:4721) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476) at java.awt.Container.dispatchEventImpl(Container.java:2283) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4721) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:766) at java.awt.EventQueue.access$500(EventQueue.java:98) at java.awt.EventQueue$3.run(EventQueue.java:715) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84) at java.awt.EventQueue$4.run(EventQueue.java:739) at java.awt.EventQueue$4.run(EventQueue.java:737) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.awt.EventQueue.dispatchEvent(EventQueue.java:736) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:878) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:823) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:466) at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:704) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:465) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

jlagerweij commented 3 years ago

This has been solved by limiting the version of IntelliJ that is supported. The Gherkin plugin changes each IntelliJ version.

dave00galloway commented 3 years ago

@jlagerweij - thank you!