Hey everyone, hope this is the right place to ask.
I’m using IntelliJ with Kotlin, and use the Lightweight Java Game Library (LWJGL) framework.
LWJGL has a set of OpenGL classes existing in packages within org.lwjgl.opengl.* (examples: org.lwjgl.opengl.GL20, org.lwjgl.opengl.GL43, etc. a class for each OpenGL version).
Anyways, say that I want to use method glDeleteShader, which exists in the class GL20, but that I have already imported org.lwjgl.opengl.GL43. (GL43 extends all the previous versions, so glDeleteShader is available). If I do autocomplete in IntelliJ, glDeleteShader will pop up as an option, but when I then press tab to autocomplete, IntelliJ will insist on doing a specific import to import org.lwjgl.opengl.GL20, and also prefix the method with GL20, so the line becomes GL20.glDeleteShader().
If I then remove the newly added import org.lwjgl.opengl.GL20 line, and remove the GL20 prefix, so that all that is left is glDeleteShader(), it still works just fine.
That’s the behaviour that I want, and I’m not sure what’s causing the other behaviour to take place instead. When using java with import static I experienced no such import problems.