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

Hi,
 
Not only ASM for Java 9 is coming, one of contributors is JDK committer, and the current ASM state is that there is still no final specs for some attributes for Java 9 and therefore ASM can't even release any beta yet because it will be broken soon anyway.
 
Kind regards,
Andrey Loskutov

http://google.com/+AndreyLoskutov
 
Gesendet: Donnerstag, 16. März 2017 um 13:46 Uhr
Von: "Thomas Watson" <tjwatson@xxxxxxxxxx>
An: cross-project-issues-dev@xxxxxxxxxxx
Betreff: Re: [cross-project-issues-dev] ASM for Java 9 (was Re: Java 9 Readiness)
ASM 6 is in a branch for Java 9 support [1].  So I think it is coming.

Tom
 
 
----- Original message -----
From: Ed Willink <ed@xxxxxxxxxxxxx>
Sent by: cross-project-issues-dev-bounces@xxxxxxxxxxx
To: cross-project-issues-dev@xxxxxxxxxxx
Cc:
Subject: [cross-project-issues-dev] ASM for Java 9 (was Re: Java 9 Readiness)
Date: Thu, Mar 16, 2017 7:16 AM
 

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

 
_______________________________________________
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