Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jdt-dev] Non-javac compiler support for '--release N'

Hi all,

to summarize my question, how is a non-javac compiler expected to support the '--release N' option?

E.g. the Eclipse Java compiler utilizes the archive 'lib/ct.sym' that is available in the JDK distributions. As far as I'm aware, the structure of this archive has no official specification and  there is no guarantee that the current structure will remain stable. So are other compilers meant to use this archive, or was it added exclusively for javac?

You can e.g. see the class comment of the abstraction class that Eclipse uses: https://git.eclipse.org/c/jdt/eclipse.jdt.core.git/tree/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/util/CtSym.java

It's a somewhat lengthy attempt to describe the structure of the archive. Should we (Eclipse/JDT maintainers) request a specification for this file (that is adhered to)? Or are non-javac compilers meant to implement '--release N' "on their own"?

I ask as we already had some issues in Eclipse, with the use of ct.sym (if interested, see e.g. https://bugs.eclipse.org/bugs/show_bug.cgi?id=562727 and the list of related tickets). It would be great to know the perspective of OpenJDK developers on the "external" use of ct.sym.

Sorry if this has been asked before, or if this is not the correct mailing list for the topic.

Best regards and thanks,
Simeon

Back to the top