Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cross-project-issues-dev] ASM for Java 9 (was Re: Java 9 Readiness)

Hi Dani

I kind of feel that the ASM guys know that Java 9 needs support. One day it will be there, might already be on a branch just like JDT's BETA. An Orbit update will no doubt follow.

For Oxygen/Update 1 usage in Eclipse each project has to do its best. My projects offer at least one old Eclipse version of compatibility, so I cannot mandate a brand new Java 9 ASM for Mars users.

Fortunately JaCoCo have identifed that ASM works fine just so long as you pretend that Java 9 class files are Java 8.

Since I use ASM for @NonNull analysis only, I can have a very simple read-time workaround:

    /**
     * Set true if ASM has Java 9 support, else false and Java 9 classes will be downgraded to look like Java 8.
     */
    private boolean hasOpcodes_V1_9 = false;

....

        try {
            hasOpcodes_V1_9 = Opcodes.class.getField("V1_9") != null;
        }
        catch (Exception e) {}

....
            ... = new ClassReader(classStream)
            {
 ...
                @Override
                public short readShort(int index) {
                    short readShort = super.readShort(index);
                    if ((index == 6) && !hasOpcodes_V1_9 && (readShort > Opcodes.V1_8)) {
                        return Opcodes.V1_8;
                    }
                    return readShort;
                }
            };

I can keep the above code unchanged till Java 10 at which point I can assess whether Java 8 is dead.

    Regards

        Ed Willink


On 16/03/2017 11:55, Daniel Megert wrote:
> and added a new table for Orbit utility; ASM bombs on Java 9 classes.

Hi Ed

Since you are you using that bundle, please file a bug report against them and also one in Eclipse to track the adoption of the fixed bundle.

Thanks,
Dani



From:        Ed Willink <ed@xxxxxxxxxxxxx>
To:        cross-project-issues-dev@xxxxxxxxxxx
Date:        14.03.2017 22:08
Subject:        Re: [cross-project-issues-dev] Java 9 Readiness
Sent by:        cross-project-issues-dev-bounces@xxxxxxxxxxx




Hi

@Ed M: Thanks, your explanation about the licensing problems explians
why the builds are unhelpful. I've added this to the Wiki.

@Michael: The Marketplace installation works wonderfully, but only once
the Marketplace client is installed. I've added this to the Wiki.

@Dani: I've clarified my confusions in the wiki and added a new table
for Orbit utility; ASM bombs on Java 9 classes.

Exercising OCL fairly successfully provides encouraging indications for
EMF, UML2, Xtext. Do you want provisional entries for these projects?

    Regards

        Ed Willink

---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

_______________________________________________
cross-project-issues-dev mailing list
cross-project-issues-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/cross-project-issues-dev






_______________________________________________
cross-project-issues-dev mailing list
cross-project-issues-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/cross-project-issues-dev




Avast logo

This email has been checked for viruses by Avast antivirus software.
www.avast.com



Back to the top