title: Eclipse keeps complaining about abstract class - JDK 9 issue?
body: <p>My eclipse (STS 3.9.2 oxygen, On Ubuntu 16.04, JDK 9.0.4) keeps giving following error. The code used to compile/work fine earlier and only change made was JDK version from 1.8 to 9 and maven compiler plugin was changed accordingly.</p>
  
  <p>Class in question is trying to implement interface org.openqa.selenium.WebElement and get no problems with any other methods.</p>
  
  <ul>
  <li>Command line compilation with Maven/Java 9 compiles fine</li>
  <li>If I comment the method and ask eclipse to implement missing methods, it generates exact same signature and then complains that method not implemented/override.</li>
  <li>I have tried removing all .project files, and with a new workspace with same results.</li>
  </ul>
  
  <blockquote>
    <p>Description   Resource    Path    Location    Type</p>
    
    <p>The method sendKeys(CharSequence...) of type JavaScriptDriver.JSWebElement must override or implement a supertype method  JavaScriptDriver.java   /selenium-shared/src/main/java/com/finovera/downloader/driver   line 287    Java Problem</p>
    
    <p>The type JavaScriptDriver.JSWebElement must implement the inherited abstract method WebElement.sendKeys(CharSequence...)  JavaScriptDriver.java   /selenium-shared/src/main/java/com/finovera/downloader/driver   line 98 Java Problem</p>
  </blockquote>
  
  <p>One more update. This looks like a bug in eclipse compiler as it logging exception as follows in the work space log file. With the assumption I'm looking at right version of the file <a href="https://github.com/eclipse/eclipse.jdt.core/blob/R4_7_maintenance/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/classfmt/ClassFileReader.java#L712%20ClassFileReader.java" rel="nofollow noreferrer">ClassFileReader.java</a>, it seems like it has to do something about how some library is compiled. Unfortunately log file does not log any other useful information.</p>
  
  <blockquote>
    <p>Caused by: java.lang.NullPointerException
        at org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.getMemberTypes(ClassFileReader.java:712)
        at org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.cachePartsFrom(BinaryTypeBinding.java:419)
        at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createBinaryTypeFrom(LookupEnvironment.java:1022)
        at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createBinaryTypeFrom(LookupEnvironment.java:1003)
        at org.eclipse.jdt.internal.compiler.Compiler.accept(Compiler.java:303)
        at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:249)</p>
  </blockquote>
  
  <p>It's very hard to create a test case. I created another implementation and compiles fine. Copy same block to offending file, compiler error shows up. Trying to dissemble complicated piece of code to which part it's not happy with. </p>
  
  <p><a href="https://i.stack.imgur.com/Psvt7.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Psvt7.png" alt="enter image description here"></a></p>