On pátek 16. června 2017 8:17:51 CEST Sven Reimers wrote:
> Hi Alan,
> 
> the code in question I am looking at is in
> 
>  o.n.bootstrap/src/org/netbeans/NbInstrumentation.java
> 
> So this looks more like some basic stuff baked deep into NetBeans core...
> 
> cc'Ing Jaroslav Tulach who wrote this - he should have some more details..
> else I will try to figure this out.
> 
> Thanks for looking into this
> 
> Sven
> 
> 
> On Fri, Jun 16, 2017 at 8:11 AM, Alan Bateman <alan.bate...@oracle.com>
> 
> wrote:
> > On 16/06/2017 06:54, Sven Reimers wrote:
> >> Hi all,
> >> 
> >> as part of the process of the code donation from Oracle to Apache for
> >> NetBeans I tried a compilation of the source code using idk 9-ea+173. The
> >> compilation fails due to an added method boolean
> >> isModifiableModule(Module)
> >> in java.lang.instrument.Instrumentation.
> >> 
> >> Should the newly added method on the interface Instrumentation have a
> >> default implementation to make this change source code compatible from 8
> >> to
> >> 9, e.g.
> >> 
> >> default boolean isModifiableModule(Module module) {
> >> 
> >>      return false;
> >> 
> >> }
> >> 
> >> 
> >> Is it already to late for changing this before JDK 9 release?
> >> 
> >> You are correct that adding abstract methods to Instrumentation is an
> > 
> > incompatible change but the long term assumption in this area has always
> > been it wouldn't be implemented outside of the java.instrument module.
> > There were 4 abstract methods added to it in Java SE 6 and I don't recall
> > anyone screaming (pre-dates default methods of course).

Looks like I have implemented the code when compiling against JDK7.

> > So can you say what NetBeans is doing? Is this mocking, maybe
> > forwarding/intercepting? 

See https://netbeans.org/bugzilla/show_bug.cgi?id=237919

> > If there is a compelling reasons then we could
> > try
> > to see about changing redefineModule and the other new methods to be
> > default methods but it is late and there is more to this that changing
> > them
> > to be default methods.

-jt

Reply via email to