idok / scss-lint-plugin

SCSS Lint plugin for intellij
http://plugins.jetbrains.com/plugin/7530
93 stars 8 forks source link

NoSuchMethodError for com.intellij.lang.annotation.AnnotationHolder.createAnnotation #5

Closed senseiurata closed 10 years ago

senseiurata commented 10 years ago

When you switch to a .scss file, I get the following error:

com.intellij.lang.annotation.AnnotationHolder.createAnnotation(Lcom/intellij/lang/annotation/HighlightSeverity;Lcom/intellij/openapi/util/TextRange;Ljava/lang/String;)Lcom/intellij/lang/annotation/Annotation;: com.intellij.lang.annotation.AnnotationHolder.createAnnotation(Lcom/intellij/lang/annotation/HighlightSeverity;Lcom/intellij/openapi/util/TextRange;Ljava/lang/String;)Lcom/intellij/lang/annotation/Annotation;
java.lang.NoSuchMethodError: com.intellij.lang.annotation.AnnotationHolder.createAnnotation(Lcom/intellij/lang/annotation/HighlightSeverity;Lcom/intellij/openapi/util/TextRange;Ljava/lang/String;)Lcom/intellij/lang/annotation/Annotation;
    at com.scss.ScssLintExternalAnnotator.createAnnotation(ScssLintExternalAnnotator.java:161)
    at com.scss.ScssLintExternalAnnotator.createAnnotation(ScssLintExternalAnnotator.java:151)
    at com.scss.ScssLintExternalAnnotator.apply(ScssLintExternalAnnotator.java:98)
    at com.scss.ScssLintExternalAnnotator.apply(ScssLintExternalAnnotator.java:46)
    at com.intellij.codeInsight.daemon.impl.ExternalToolPass.c(ExternalToolPass.java:194)
    at com.intellij.codeInsight.daemon.impl.ExternalToolPass.access$600(ExternalToolPass.java:43)
    at com.intellij.codeInsight.daemon.impl.ExternalToolPass$2$1.run(ExternalToolPass.java:142)
    at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:908)
    at com.intellij.codeInsight.daemon.impl.ExternalToolPass$2.run(ExternalToolPass.java:135)
    at com.intellij.codeInsight.daemon.impl.ExternalToolPass$3.run(ExternalToolPass.java:170)
    at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:320)
    at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:310)
    at com.intellij.util.ui.update.MergingUpdateQueue$2.run(MergingUpdateQueue.java:254)
    at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:269)
    at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:227)
    at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:217)
    at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:238)
    at com.intellij.util.Alarm$Request$1.run(Alarm.java:297)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at com.intellij.util.concurrency.QueueProcessor$RunnableConsumer.consume(QueueProcessor.java:298)
    at com.intellij.util.concurrency.QueueProcessor$RunnableConsumer.consume(QueueProcessor.java:295)
    at com.intellij.util.concurrency.QueueProcessor$2$1.run(QueueProcessor.java:110)
    at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:238)
    at com.intellij.util.concurrency.QueueProcessor$2.consume(QueueProcessor.java:107)
    at com.intellij.util.concurrency.QueueProcessor$2.consume(QueueProcessor.java:104)
    at com.intellij.util.concurrency.QueueProcessor$3$1.run(QueueProcessor.java:215)
    at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:238)
    at com.intellij.util.concurrency.QueueProcessor$3.run(QueueProcessor.java:212)
    at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:420)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:695)
    at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:150)

My environment: PhpStorm: 7.1.3 (PS-133.982) OS X: 10.9.4

I believe it is related to this issue.

Would you be able to fix this just by changing this on line 161:

holder.createAnnotation(severity, range, message);

to use the logic on line 165-168, thereby eliminating the usage of createAnnotation?

        if (severity == HighlightSeverity.ERROR) {
            return holder.createErrorAnnotation(range, message);
        }
        return holder.createWarningAnnotation(range, message);
idok commented 10 years ago

Thanks for the feedback. I've fixed it as you suggested, please update your plugin and retry.

senseiurata commented 10 years ago

Confirmed that the plugin works for PhpStorm 7.1.3. Thanks!