amelentev / java-oo

Java Operator Overloading
http://amelentev.github.io/java-oo/
268 stars 31 forks source link

Compatibility issues with Intellij IDEA 2017+ #46

Closed lilggamegenius closed 7 years ago

lilggamegenius commented 7 years ago

Starting with IDEA 2017, the IDE plugin no longer shows the Operator overloading as correct syntax (IDE shows errors). However the code, with no changes, compiles and runs just fine. I have noticed this behavior from the first 2017 EAP to the current version.

BjarkeNL commented 7 years ago

I can confirm this.

Probably related to this: In IntelliJ, i get the following error from the java-oo plugin in the event-log (even when opening projects not using java-oo):

Can't load transformed OOHighlightVisitorImpl class: Can't find [myImplementationClass] fields in com.intellij.openapi.extensions.impl.ExtensionComponentAdapter class
java.lang.NoSuchFieldException: Can't find [myImplementationClass] fields in com.intellij.openapi.extensions.impl.ExtensionComponentAdapter class
    at javaoo.idea.Util.findField(Util.java:54)
    at javaoo.idea.Util.set(Util.java:69)
    at javaoo.idea.OOComponent.initComponent(OOComponent.java:64)
    at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentConfigComponentAdapter.getComponentInstance(ComponentManagerImpl.java:491)
    at com.intellij.openapi.components.impl.ComponentManagerImpl.createComponents(ComponentManagerImpl.java:120)
    at com.intellij.openapi.components.impl.ComponentManagerImpl.init(ComponentManagerImpl.java:104)
    at com.intellij.openapi.components.impl.ComponentManagerImpl.init(ComponentManagerImpl.java:91)
    at com.intellij.openapi.project.impl.ProjectImpl.init(ProjectImpl.java:285)
    at com.intellij.openapi.project.impl.ProjectManagerImpl.a(ProjectManagerImpl.java:246)
    at com.intellij.openapi.project.impl.ProjectManagerImpl.a(ProjectManagerImpl.java:493)
    at com.intellij.openapi.project.impl.ProjectManagerImpl.access$100(ProjectManagerImpl.java:65)
    at com.intellij.openapi.project.impl.ProjectManagerImpl$2.compute(ProjectManagerImpl.java:440)
    at com.intellij.openapi.project.impl.ProjectManagerImpl$2.compute(ProjectManagerImpl.java:437)
    at com.intellij.openapi.progress.Task$WithResult.run(Task.java:326)
    at com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:726)
    at com.intellij.openapi.progress.impl.CoreProgressManager$6.run(CoreProgressManager.java:410)
    at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:176)
    at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:556)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:501)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:66)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:163)
    at com.intellij.openapi.application.impl.ApplicationImpl.a(ApplicationImpl.java:594)
    at com.intellij.openapi.application.impl.ApplicationImpl$2.run(ApplicationImpl.java:334)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

Maybe that can help track down the issue - hope it is fixable. Thank you for this absolutely amazing annotation processor!

amelentev commented 7 years ago

idea-oo-plugin-0.6 was released with IDEA 2017 support. please check if it works for you. http://amelentev.github.io/mvnrepo/java-oo/idea-oo-plugin/idea-oo-plugin-0.6.jar

BjarkeNL commented 7 years ago

Fantastic - The new version works. Thank you! (Sorry for late reply)