Dynalink and delete

Attila Szegedi szegedia at gmail.com
Thu Dec 21 20:59:01 UTC 2017


Hi Marc,

So… this took about a year and a half to happen, but I’m happy to announce that there’s now a REMOVE operation in Dynalink. The latest EA of JDK10 contains it: <http://download.java.net/java/jdk10/docs/api/jdk/dynalink/StandardOperation.html#REMOVE <http://download.java.net/java/jdk10/docs/api/jdk/dynalink/StandardOperation.html#REMOVE>>. Hopefully you can still find a use for it :-)

What the latest EA doesn’t contain _yet_ is Nashorn using it to implement its delete operator, so even if you link REMOVE in your language runtime, Nashorn won’t be able to delete your object’s properties, and your language won’t be able to delete Nashorn JS objects’ properties yet. The good news is that this functionality is also implemented and committed, but I just committed it now, so it will only ship with the next EA build. Alternatively, if you build your own jdk10 from the tip of the jdk/jdk10 repository, or your own jdk11 from the tip of jdk/jdk, you should have it.

Best Regards,
  Attila.

> On May 24, 2016, at 12:11 AM, Marc Downie <marc at openendedgroup.com> wrote:
> 
> Dear all,
> 
> First of all, many thanks for this year's JEP-276 / jdk.dynalink
> refactoring. We've been enjoying all of the benefits of installing a custom
> Linker without having to maintain a fork of Nashorn just to get it
> installed. We can massage and customize the face that Java objects present
> to JavaScript almost completely.
> 
> The one thing that remains that I can't manipulate is the behavior of Java
> objects with respect to *delete*. In short we have elaborately customizable
> *dyn:setProp*, *setElem*, *getProp*, *getElem* that we can bridge to other
> languages and runtimes, but no *dyn:deleteX. *Is this by omission or by
> design?
> 
> best,
> 
> Marc



More information about the nashorn-dev mailing list