src/jdk/internal/dynalink/beans/StaticClassIntrospector.java

changeset 404
18d467e94150
parent 227
7917ef020898
child 952
6d5471a497fb
child 962
ac62e33a99b0
     1.1 --- a/src/jdk/internal/dynalink/beans/StaticClassIntrospector.java	Wed Jul 03 14:08:00 2013 +0530
     1.2 +++ b/src/jdk/internal/dynalink/beans/StaticClassIntrospector.java	Wed Jul 03 12:39:28 2013 +0200
     1.3 @@ -106,10 +106,18 @@
     1.4  
     1.5      @Override
     1.6      MethodHandle editMethodHandle(MethodHandle mh) {
     1.7 +        return editStaticMethodHandle(mh);
     1.8 +    }
     1.9 +
    1.10 +    static MethodHandle editStaticMethodHandle(MethodHandle mh) {
    1.11          return dropReceiver(mh, Object.class);
    1.12      }
    1.13  
    1.14 -    static MethodHandle dropReceiver(final MethodHandle mh, final Class<?> receiverClass) {
    1.15 +    static MethodHandle editConstructorMethodHandle(MethodHandle cmh) {
    1.16 +        return dropReceiver(cmh, StaticClass.class);
    1.17 +    }
    1.18 +
    1.19 +    private static MethodHandle dropReceiver(final MethodHandle mh, final Class<?> receiverClass) {
    1.20          MethodHandle newHandle = MethodHandles.dropArguments(mh, 0, receiverClass);
    1.21          // NOTE: this is a workaround for the fact that dropArguments doesn't preserve vararg collector state.
    1.22          if(mh.isVarargsCollector() && !newHandle.isVarargsCollector()) {

mercurial