lppedd / idea-conventional-commit

Context and template-based completion for conventional/semantic commits.
https://plugins.jetbrains.com/plugin/13389-conventional-commit
MIT License
327 stars 19 forks source link

Another crash #33

Closed raydl007 closed 3 years ago

raydl007 commented 3 years ago

java.lang.ClassCastException: class com.github.lppedd.cc.inspection.CommitBaseInspection$ConventionalCommitReformatQuickFix cannot be cast to class com.intellij.codeInspection.LocalQuickFixBase (com.github.lppedd.cc.inspection.CommitBaseInspection$ConventionalCommitReformatQuickFix is in unnamed module of loader com.intellij.ide.plugins.cl.PluginClassLoader @67f86a61; com.intellij.codeInspection.LocalQuickFixBase is in unnamed module of loader com.intellij.util.lang.UrlClassLoader @7bab3f1a) at com.github.lppedd.cc.inspection.CommitFormatInspection$handleType$3.invoke(CommitFormatInspection.kt:87) at com.github.lppedd.cc.inspection.CommitFormatInspection$handleType$3.invoke(CommitFormatInspection.kt:23) at kotlin.sequences.TransformingSequence$iterator$1.next(Sequences.kt:172) at kotlin.sequences.SequencesKt_SequencesKt.toCollection(Sequences.kt:716) at kotlin.sequences.SequencesKtSequencesKt.toMutableList(_Sequences.kt:746) at kotlin.sequences.SequencesKt___SequencesKt.toList(_Sequences.kt:737) at com.github.lppedd.cc.inspection.CommitFormatInspection.handleType(CommitFormatInspection.kt:100) at com.github.lppedd.cc.inspection.CommitFormatInspection.checkHeader(CommitFormatInspection.kt:56) at com.github.lppedd.cc.inspection.CommitFormatInspection.checkFile(CommitFormatInspection.kt:40) at com.intellij.vcs.commit.message.BaseCommitMessageInspection.checkFile(BaseCommitMessageInspection.java:64) at com.github.lppedd.cc.inspection.CommitBaseInspection.checkFile(CommitBaseInspection.kt:43) at com.intellij.codeInspection.LocalInspectionTool$1.visitFile(LocalInspectionTool.java:145) at com.intellij.psi.PsiElementVisitor.visitPlainTextFile(PsiElementVisitor.java:43) at com.intellij.psi.impl.source.PsiPlainTextFileImpl.accept(PsiPlainTextFileImpl.java:36) at com.intellij.codeInspection.InspectionEngine.acceptElements(InspectionEngine.java:65) at com.intellij.codeInspection.InspectionEngine.createVisitorAndAcceptElements(InspectionEngine.java:56) at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.runToolOnElements(LocalInspectionsPass.java:294) at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitPriorityElementsAndInit$3(LocalInspectionsPass.java:263) at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:155) at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:147) at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitPriorityElementsAndInit$4(LocalInspectionsPass.java:262) at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:126) at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:115) at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitPriorityElementsAndInit$5(LocalInspectionsPass.java:262) at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:149) at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:162) at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1105) at com.intellij.concurrency.ApplierCompleter.lambda$wrapInReadActionAndIndicator$1(ApplierCompleter.java:105) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:629) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:581) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60) at com.intellij.concurrency.ApplierCompleter.wrapInReadActionAndIndicator(ApplierCompleter.java:117) at com.intellij.concurrency.ApplierCompleter.lambda$compute$0(ApplierCompleter.java:96) at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:170) at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:182) at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:96) at com.intellij.concurrency.JobLauncherImpl.invokeConcurrentlyUnderProgress(JobLauncherImpl.java:57) at com.intellij.concurrency.JobLauncher.invokeConcurrentlyUnderProgress(JobLauncher.java:49) at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.visitPriorityElementsAndInit(LocalInspectionsPass.java:266) at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.inspect(LocalInspectionsPass.java:191) at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.collectInformationWithProgress(LocalInspectionsPass.java:113) at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:80) at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:54) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$1(PassExecutorService.java:399) at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1110) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:392) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:629) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:581) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:391) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:367) at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:170) at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:182) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:365) at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:181) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)

lppedd commented 3 years ago

Finally found the issue! Working on a fix.

lppedd commented 3 years ago

To expand, this happen because of my strive to "one codebase for all versions".

On 2020.*

ConventionalCommitReformatQuickFix
  ReformatCommitMessageQuickFix
    BaseCommitMessageQuickFix
      LocalQuickFix

On 2019.*

ConventionalCommitReformatQuickFix
  ReformatCommitMessageQuickFix
    BaseCommitMessageQuickFix
      LocalQuickFixBase
lppedd commented 3 years ago

Fixed with commit 3d2a5fd54ce8a0dcf445c0d679801df23aeecd49. Thanks : )