cheptsov / AdvancedExpressionFolding

https://plugins.jetbrains.com/plugin/9320?pr=idea
141 stars 29 forks source link

java.lang.NoClassDefFoundError: sun/misc/FloatingDecimal #146

Open chadluo opened 3 years ago

chadluo commented 3 years ago

I cannot open a certain file (company code so probably cannot share here). The editor shows only the waiting label and the spinner. Other files/editor tabs are not affected.

The filesystem/file is fine, I can open it in other editors.

Logs:

2021-01-05 16:50:35,662 [89509406]  ERROR - rains.concurrency.AsyncPromise - sun/misc/FloatingDecimal 
java.lang.NoClassDefFoundError: sun/misc/FloatingDecimal
    at com.intellij.advancedExpressionFolding.NumberLiteral$2.getPlaceholderText(NumberLiteral.java:78)
    at com.intellij.lang.folding.CompositeFoldingBuilder$FoldingDescriptorWrapper.choosePlaceholderText(CompositeFoldingBuilder.java:136)
    at com.intellij.lang.folding.CompositeFoldingBuilder$FoldingDescriptorWrapper.<init>(CompositeFoldingBuilder.java:125)
    at com.intellij.lang.folding.CompositeFoldingBuilder.buildFoldRegions(CompositeFoldingBuilder.java:39)
    at com.intellij.lang.folding.LanguageFolding.buildFoldingDescriptorsNoPlaceholderCaching(LanguageFolding.java:92)
    at com.intellij.lang.folding.LanguageFolding.buildFoldingDescriptors(LanguageFolding.java:75)
    at com.intellij.codeInsight.folding.impl.FoldingUpdate.getFoldingsFor(FoldingUpdate.java:267)
    at com.intellij.codeInsight.folding.impl.FoldingUpdate.getFoldingsFor(FoldingUpdate.java:233)
    at com.intellij.codeInsight.folding.impl.CodeFoldingManagerImpl.buildInitialFoldings(CodeFoldingManagerImpl.java:134)
    at com.intellij.openapi.fileEditor.impl.text.PsiAwareTextEditorImpl.loadEditorInBackground(PsiAwareTextEditorImpl.java:48)
    at com.intellij.openapi.fileEditor.impl.text.AsyncEditorLoader.lambda$scheduleLoading$0(AsyncEditorLoader.java:96)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:773)
    at com.intellij.openapi.fileEditor.impl.text.AsyncEditorLoader.lambda$scheduleLoading$1(AsyncEditorLoader.java:94)
    at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.insideReadAction(NonBlockingReadActionImpl.java:521)
    at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$attemptComputation$3(NonBlockingReadActionImpl.java:468)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1137)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runInReadActionWithWriteActionPriority$0(ProgressIndicatorUtils.java:76)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:152)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runWithWriteActionPriority$1(ProgressIndicatorUtils.java:113)
    at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:59)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:178)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:658)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:610)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:65)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:165)
    at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:59)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runWithWriteActionPriority(ProgressIndicatorUtils.java:110)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(ProgressIndicatorUtils.java:76)
    at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.attemptComputation(NonBlockingReadActionImpl.java:486)
    at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$transferToBgThread$1(NonBlockingReadActionImpl.java:408)
    at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:216)
    at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:27)
    at com.intellij.util.concurrency.BoundedTaskExecutor$1.execute(BoundedTaskExecutor.java:195)
    at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:208)
    at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:184)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
    at java.base/java.lang.Thread.run(Thread.java:834)
2021-01-05 16:50:35,665 [89509409]  ERROR - rains.concurrency.AsyncPromise - IntelliJ IDEA 2020.3.1  Build #IU-203.6682.168 
2021-01-05 16:50:35,665 [89509409]  ERROR - rains.concurrency.AsyncPromise - JDK: 11.0.9.1; VM: OpenJDK 64-Bit Server VM; Vendor: JetBrains s.r.o. 
2021-01-05 16:50:35,665 [89509409]  ERROR - rains.concurrency.AsyncPromise - OS: Mac OS X 
2021-01-05 16:50:35,665 [89509409]  ERROR - rains.concurrency.AsyncPromise - Plugin to blame: Advanced Java Folding version: 0.9.9.4 
2021-01-05 16:50:35,665 [89509409]  ERROR - rains.concurrency.AsyncPromise - Last Action: ActivateProjectToolWindow 
2021-01-05 16:50:35,665 [89509409]  ERROR - rains.concurrency.AsyncPromise - Current Command:  
Clashsoft commented 3 years ago

That class is used here:

https://github.com/cheptsov/AdvancedExpressionFolding/blob/ebf95139fac20ef65038045f69ec19d028016a6f/src/com/intellij/advancedExpressionFolding/NumberLiteral.java#L13

But sun.misc classes are an internal API and should not be used. There should be a compiler warning. What is the advantage of using this method over simply Double.toString or even String.format("%f", num)?