--- old/src/java.base/share/classes/java/lang/invoke/MethodHandles.java 2014-10-17 13:54:29.388912404 -0400 +++ new/src/java.base/share/classes/java/lang/invoke/MethodHandles.java 2014-10-17 13:54:29.220906462 -0400 @@ -1178,7 +1178,7 @@ MethodHandle mh = unreflectForMH(m); if (mh != null) return mh; } - MemberName method = new MemberName(m); + MemberName method = MemberName.make(m); byte refKind = method.getReferenceKind(); if (refKind == REF_invokeSpecial) refKind = REF_invokeVirtual; @@ -1189,7 +1189,7 @@ private MethodHandle unreflectForMH(Method m) { // these names require special lookups because they throw UnsupportedOperationException if (MemberName.isMethodHandleInvokeName(m.getName())) - return MethodHandleImpl.fakeMethodHandleInvoke(new MemberName(m)); + return MethodHandleImpl.fakeMethodHandleInvoke(MemberName.make(m)); return null; } @@ -1225,7 +1225,7 @@ public MethodHandle unreflectSpecial(Method m, Class specialCaller) throws IllegalAccessException { checkSpecialCaller(specialCaller); Lookup specialLookup = this.in(specialCaller); - MemberName method = new MemberName(m, true); + MemberName method = MemberName.make(m, true); assert(method.isMethod()); // ignore m.isAccessible: this is a new kind of access return specialLookup.getDirectMethodNoSecurityManager(REF_invokeSpecial, method.getDeclaringClass(), method, findBoundCallerClass(method)); @@ -1256,7 +1256,7 @@ * @throws NullPointerException if the argument is null */ public MethodHandle unreflectConstructor(Constructor c) throws IllegalAccessException { - MemberName ctor = new MemberName(c); + MemberName ctor = MemberName.make(c); assert(ctor.isConstructor()); Lookup lookup = c.isAccessible() ? IMPL_LOOKUP : this; return lookup.getDirectConstructorNoSecurityManager(ctor.getDeclaringClass(), ctor); @@ -1284,7 +1284,7 @@ return unreflectField(f, false); } private MethodHandle unreflectField(Field f, boolean isSetter) throws IllegalAccessException { - MemberName field = new MemberName(f, isSetter); + MemberName field = MemberName.make(f, isSetter); assert(isSetter ? MethodHandleNatives.refKindIsSetter(field.getReferenceKind()) : MethodHandleNatives.refKindIsGetter(field.getReferenceKind()));