dubreuia / intellij-plugin-save-actions

Supports configurable, Eclipse like, save actions, including "organize imports", "reformat code" and "rearrange code".
MIT License
529 stars 102 forks source link

Bug with Whitespaces #380

Open JimeFuture opened 3 years ago

JimeFuture commented 3 years ago

Describe the bug Issues with Kotlin(only Kt and Kts files in Project). See Stacktrace:

Got unexpected exception during formatting KtFile: general.kt

java.util.concurrent.ExecutionException: java.lang.AssertionError at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191) at com.intellij.codeInsight.actions.AbstractLayoutCodeProcessor$ProcessingTask.checkStop(AbstractLayoutCodeProcessor.java:408) at com.intellij.codeInsight.actions.AbstractLayoutCodeProcessor$ProcessingTask.performFileProcessing(AbstractLayoutCodeProcessor.java:402) at com.intellij.codeInsight.actions.AbstractLayoutCodeProcessor$ProcessingTask.lambda$iteration$2(AbstractLayoutCodeProcessor.java:380) at com.intellij.openapi.project.DumbService.withAlternativeResolveEnabled(DumbService.java:339) at com.intellij.codeInsight.actions.AbstractLayoutCodeProcessor$ProcessingTask.iteration(AbstractLayoutCodeProcessor.java:380) at com.intellij.codeInsight.actions.AbstractLayoutCodeProcessor$ProcessingTask.lambda$process$7(AbstractLayoutCodeProcessor.java:450) at com.intellij.codeInsight.actions.FileRecursiveIterator.lambda$processAll$4(FileRecursiveIterator.java:68) at com.intellij.openapi.roots.impl.FileIndexBase.lambda$toContentIteratorEx$0(FileIndexBase.java:78) at com.intellij.openapi.roots.impl.FileIndexBase$1.visitFileEx(FileIndexBase.java:60) at com.intellij.openapi.vfs.VfsUtilCore.visitChildrenRecursively(VfsUtilCore.java:293) at com.intellij.openapi.roots.impl.FileIndexBase.iterateContentUnderDirectory(FileIndexBase.java:41) at com.intellij.openapi.roots.impl.ProjectFileIndexImpl.iterateContentUnderDirectory(ProjectFileIndexImpl.java:27) at com.intellij.openapi.roots.impl.FileIndexBase.iterateContentUnderDirectory(FileIndexBase.java:84) at com.intellij.openapi.roots.impl.ProjectFileIndexImpl.iterateContentUnderDirectory(ProjectFileIndexImpl.java:27) at com.intellij.codeInsight.actions.FileRecursiveIterator.processAll(FileRecursiveIterator.java:63) at com.intellij.codeInsight.actions.AbstractLayoutCodeProcessor$ProcessingTask.process(AbstractLayoutCodeProcessor.java:448) at com.intellij.codeInsight.actions.AbstractLayoutCodeProcessor.processFilesUnderProgress(AbstractLayoutCodeProcessor.java:323) at com.intellij.codeInsight.actions.AbstractLayoutCodeProcessor.lambda$runProcessFiles$0(AbstractLayoutCodeProcessor.java:282) at com.intellij.openapi.progress.impl.CoreProgressManager$1.run(CoreProgressManager.java:275) at com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:998) at com.intellij.openapi.progress.impl.CoreProgressManager$4.run(CoreProgressManager.java:545) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:178) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:688) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:634) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:64) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:165) at com.intellij.openapi.application.impl.ApplicationImpl.runProcessWithProgressSynchronously(ApplicationImpl.java:384) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcessWithProgressSynchronously(CoreProgressManager.java:557) at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcessWithProgressSynchronously(ProgressManagerImpl.java:89) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcessWithProgressSynchronously(CoreProgressManager.java:271) at com.intellij.codeInsight.actions.AbstractLayoutCodeProcessor.runProcessFiles(AbstractLayoutCodeProcessor.java:280) at com.intellij.codeInsight.actions.AbstractLayoutCodeProcessor.run(AbstractLayoutCodeProcessor.java:195) at com.dubreuia.processors.SaveWriteCommand$1.run(SaveWriteCommand.java:57) at com.intellij.openapi.application.RunResult.run(RunResult.java:36) at com.intellij.openapi.command.WriteCommandAction.lambda$performWriteCommandAction$1(WriteCommandAction.java:266) at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:959) at com.intellij.openapi.command.WriteCommandAction.lambda$performWriteCommandAction$2(WriteCommandAction.java:265) at com.intellij.openapi.command.WriteCommandAction.lambda$doExecuteCommand$3(WriteCommandAction.java:295) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:216) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:182) at com.intellij.openapi.command.WriteCommandAction.doExecuteCommand(WriteCommandAction.java:297) at com.intellij.openapi.command.WriteCommandAction.performWriteCommandAction(WriteCommandAction.java:265) at com.intellij.openapi.command.WriteCommandAction.execute(WriteCommandAction.java:246) at com.dubreuia.processors.SaveWriteCommand.execute(SaveWriteCommand.java:60) at com.dubreuia.core.component.Engine.lambda$processPsiFiles$5(Engine.java:106) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:442) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) at com.dubreuia.core.component.Engine.processPsiFiles(Engine.java:107) at com.dubreuia.core.component.Engine.processPsiFilesIfNecessary(Engine.java:90) at com.dubreuia.core.component.SaveActionManager.guardedProcessPsiFiles(SaveActionManager.java:169) at com.dubreuia.core.component.SaveActionManager.lambda$beforeDocumentsSaving$3(SaveActionManager.java:153) at java.base/java.util.HashMap.forEach(HashMap.java:1336) at com.dubreuia.core.component.SaveActionManager.beforeDocumentsSaving(SaveActionManager.java:152) at com.dubreuia.core.component.SaveActionManager.beforeAllDocumentsSaving(SaveActionManager.java:137) at com.intellij.util.messages.impl.MessageBusImpl.invokeMethod(MessageBusImpl.java:671) at com.intellij.util.messages.impl.MessageBusImpl.invokeListener(MessageBusImpl.java:649) at com.intellij.util.messages.impl.MessageBusImpl.deliverMessage(MessageBusImpl.java:422) at com.intellij.util.messages.impl.MessageBusImpl.pumpWaitingBuses(MessageBusImpl.java:397) at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:379) at com.intellij.util.messages.impl.MessageBusImpl.access$100(MessageBusImpl.java:33) at com.intellij.util.messages.impl.MessageBusImpl$MessagePublisher.invoke(MessageBusImpl.java:185) at com.sun.proxy.$Proxy25.beforeAllDocumentsSaving(Unknown Source) at jdk.internal.reflect.GeneratedMethodAccessor431.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.multiCast(FileDocumentManagerImpl.java:174) at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.lambda$new$0(FileDocumentManagerImpl.java:129) at com.sun.proxy.$Proxy25.beforeAllDocumentsSaving(Unknown Source) at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.saveDocuments(FileDocumentManagerImpl.java:271) at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.saveAllDocuments(FileDocumentManagerImpl.java:259) at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.saveAllDocuments(FileDocumentManagerImpl.java:252) at com.intellij.ide.actions.SaveAllAction.actionPerformed(SaveAllAction.kt:24) at com.intellij.openapi.actionSystem.ex.ActionUtil.lambda$performActionDumbAware$5(ActionUtil.java:273) at com.intellij.util.SlowOperations.lambda$allowSlowOperations$0(SlowOperations.java:77) at com.intellij.util.SlowOperations.allowSlowOperations(SlowOperations.java:64) at com.intellij.util.SlowOperations.allowSlowOperations(SlowOperations.java:76) at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:273) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher$1.performAction(IdeKeyEventDispatcher.java:616) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.lambda$processAction$3(IdeKeyEventDispatcher.java:676) at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:95) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:675) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:626) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processActionOrWaitSecondStroke(IdeKeyEventDispatcher.java:486) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.inInitState(IdeKeyEventDispatcher.java:481) at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.dispatchKeyEvent(IdeKeyEventDispatcher.java:232) at com.intellij.ide.IdeEventQueue.dispatchKeyEvent(IdeEventQueue.java:889) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:833) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:449) at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:808) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:448) at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:781) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:502) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) Caused by: java.lang.AssertionError at com.intellij.formatting.WhiteSpace.setLineFeeds(WhiteSpace.java:723) at com.intellij.formatting.WhiteSpace.lambda$arrangeLineFeeds$2(WhiteSpace.java:407) at com.intellij.formatting.WhiteSpace.performModification(WhiteSpace.java:339) at com.intellij.formatting.WhiteSpace.arrangeLineFeeds(WhiteSpace.java:388) at com.intellij.formatting.engine.AdjustWhiteSpacesState.processToken(AdjustWhiteSpacesState.java:156) at com.intellij.formatting.engine.AdjustWhiteSpacesState.doIteration(AdjustWhiteSpacesState.java:75) at com.intellij.formatting.engine.State.iteration(State.java:25) at com.intellij.formatting.engine.StateProcessor.iteration(StateProcessor.java:26) at com.intellij.formatting.FormatProcessor.iteration(FormatProcessor.java:108) at com.intellij.formatting.FormatterImpl$MyFormattingTask.iteration(FormatterImpl.java:705) at com.intellij.formatting.FormatterImpl.execute(FormatterImpl.java:274) at com.intellij.formatting.FormatterImpl.format(FormatterImpl.java:239) at com.intellij.psi.impl.source.codeStyle.CodeFormatterFacade.processText(CodeFormatterFacade.java:177) at com.intellij.psi.impl.source.codeStyle.CodeStyleManagerImpl.lambda$reformatText$3(CodeStyleManagerImpl.java:234) at com.intellij.psi.impl.source.codeStyle.CodeStyleManagerImpl.formatRanges(CodeStyleManagerImpl.java:276) at com.intellij.psi.impl.source.codeStyle.CodeStyleManagerImpl.reformatText(CodeStyleManagerImpl.java:229) at com.intellij.psi.impl.source.codeStyle.CodeStyleManagerImpl.reformatText(CodeStyleManagerImpl.java:194) at com.intellij.psi.impl.source.codeStyle.CodeStyleManagerImpl.reformatText(CodeStyleManagerImpl.java:176) at com.intellij.codeInsight.actions.ReformatCodeProcessor.lambda$prepareTask$0(ReformatCodeProcessor.java:119) at com.intellij.util.SlowOperations.lambda$allowSlowOperations$0(SlowOperations.java:77) at com.intellij.util.SlowOperations.allowSlowOperations(SlowOperations.java:64) at com.intellij.util.SlowOperations.allowSlowOperations(SlowOperations.java:76) at com.intellij.codeInsight.actions.ReformatCodeProcessor.lambda$prepareTask$1(ReformatCodeProcessor.java:109) at com.intellij.openapi.editor.ex.util.EditorScrollingPositionKeeper.perform(EditorScrollingPositionKeeper.java:100) at com.intellij.codeInsight.actions.ReformatCodeProcessor.lambda$prepareTask$2(ReformatCodeProcessor.java:109) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at com.intellij.openapi.command.WriteCommandAction.lambda$runWriteCommandAction$4(WriteCommandAction.java:347) at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.lambda$doRunWriteCommandAction$1(WriteCommandAction.java:143) at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:959) at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.lambda$doRunWriteCommandAction$2(WriteCommandAction.java:141) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:207) at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:182) at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.doRunWriteCommandAction(WriteCommandAction.java:150) at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.run(WriteCommandAction.java:117) at com.intellij.openapi.command.WriteCommandAction.runWriteCommandAction(WriteCommandAction.java:347) at com.intellij.codeInsight.actions.AbstractLayoutCodeProcessor$ProcessingTask.lambda$performFileProcessing$5(AbstractLayoutCodeProcessor.java:400) at com.intellij.openapi.application.impl.ApplicationImpl.invokeAndWait(ApplicationImpl.java:415) at com.intellij.openapi.application.impl.ApplicationImpl.invokeAndWait(ApplicationImpl.java:433) at com.intellij.codeInsight.actions.AbstractLayoutCodeProcessor$ProcessingTask.performFileProcessing(AbstractLayoutCodeProcessor.java:399) ... 102 more

What triggered the plugin CTRL+S e.g. save

Versions IntelliJ IDEA 2021.1.3 (Community Edition) Build #IC-211.7628.21, built on June 30, 2021 Runtime version: 11.0.11+9-b1341.60 amd64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. Windows 10 10.0 GC: ParNew, ConcurrentMarkSweep Memory: 4029M Cores: 8 Registry: ide.balloon.shadow.size=0 Non-Bundled Plugins: com.dubreuia (2.2.0), com.intellij.plugins.watcher (211.6693.44), org.jetbrains.kotlin (211-1.5.21-release-317-IJ7442.40), com.chrisrm.idea.MaterialThemeUI (6.7.2), com.godwin.kdocer (1.5) Kotlin: 211-1.5.21-release-317-IJ7442.40

JimeFuture commented 3 years ago

Additional information: seems to be a bug with the TODOs