rikvdkleij / intellij-haskell

IntelliJ plugin for Haskell
https://rikvdkleij.github.io/intellij-haskell/
Apache License 2.0
1.31k stars 94 forks source link

CabalReference cannot be cast to com.intellij.psi.PsiPolyVariantReference #305

Closed francisdb closed 6 years ago

francisdb commented 6 years ago

1.0 beta 25 when [cmd/ctrl]-clicking on a generated module in project.cabal

library
  exposed-modules:
      Foo.Base
      Proto.Health.Health
      Proto.Health.Health_Fields
  other-modules:
      Paths_project <--

an example project can be found here https://github.com/google/proto-lens/tree/master/proto-lens-tutorial/coffee-order

java.lang.ClassCastException: intellij.haskell.cabal.lang.psi.CabalReference cannot be cast to com.intellij.psi.PsiPolyVariantReference
    at intellij.haskell.navigation.HaskellTargetElementUtil.getTargetCandidates(HaskellTargetElementUtil.scala:17)
    at com.intellij.codeInsight.navigation.actions.GotoDeclarationAction.suggestCandidates(GotoDeclarationAction.java:241)
    at com.intellij.codeInsight.navigation.actions.GotoDeclarationAction.invoke(GotoDeclarationAction.java:85)
    at com.intellij.codeInsight.actions.CodeInsightAction.lambda$null$0(CodeInsightAction.java:59)
    at com.intellij.codeInsight.actions.CodeInsightAction.lambda$actionPerformedImpl$1(CodeInsightAction.java:65)
    at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:139)
    at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:97)
    at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:87)
    at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:73)
    at com.intellij.codeInsight.actions.CodeInsightAction.actionPerformedImpl(CodeInsightAction.java:56)
    at com.intellij.codeInsight.actions.CodeInsightAction.actionPerformed(CodeInsightAction.java:29)
    at com.intellij.openapi.actionSystem.ex.ActionUtil$1.run(ActionUtil.java:220)
    at com.intellij.openapi.application.TransactionGuardImpl.runSyncTransaction(TransactionGuardImpl.java:88)
    at com.intellij.openapi.application.TransactionGuardImpl.submitTransactionAndWait(TransactionGuardImpl.java:153)
    at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:235)
    at com.intellij.openapi.keymap.impl.IdeMouseEventDispatcher.dispatchMouseEvent(IdeMouseEventDispatcher.java:261)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:717)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:382)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    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)
rikvdkleij commented 6 years ago

Thanks for reporting! This is already fixed in master. I will release new beta asap.

rikvdkleij commented 6 years ago

@francisdb Is fixed in beta26 which I have just released.

francisdb commented 6 years ago

thanks!