src/jdk/nashorn/internal/objects/NativeBoolean.java

Print this page

        

*** 28,37 **** --- 28,38 ---- import static jdk.nashorn.internal.runtime.ECMAErrors.typeError; import static jdk.nashorn.internal.lookup.Lookup.MH; import java.lang.invoke.MethodHandle; import java.lang.invoke.MethodHandles; + import java.lang.invoke.MethodType; import jdk.internal.dynalink.linker.GuardedInvocation; import jdk.internal.dynalink.linker.LinkRequest; import jdk.nashorn.internal.objects.annotations.Attribute; import jdk.nashorn.internal.objects.annotations.Constructor; import jdk.nashorn.internal.objects.annotations.Function;
*** 48,58 **** @ScriptClass("Boolean") public final class NativeBoolean extends ScriptObject { private final boolean value; ! final static MethodHandle WRAPFILTER = findWrapFilter(); // initialized by nasgen private static PropertyMap $nasgenmap$; static PropertyMap getInitialMap() { --- 49,60 ---- @ScriptClass("Boolean") public final class NativeBoolean extends ScriptObject { private final boolean value; ! static final MethodHandle WRAPFILTER = findOwnMH("wrapFilter", MH.type(NativeBoolean.class, Object.class)); ! static final MethodHandle PROTOFILTER = findOwnMH("protoFilter", MH.type(Object.class, Object.class)); // initialized by nasgen private static PropertyMap $nasgenmap$; static PropertyMap getInitialMap() {
*** 162,172 **** * @param request The link request * @param receiver The receiver for the call * @return Link to be invoked at call site. */ public static GuardedInvocation lookupPrimitive(final LinkRequest request, final Object receiver) { ! return PrimitiveLookup.lookupPrimitive(request, Boolean.class, new NativeBoolean((Boolean)receiver), WRAPFILTER); } /** * Wrap a native string in a NativeString object. * --- 164,174 ---- * @param request The link request * @param receiver The receiver for the call * @return Link to be invoked at call site. */ public static GuardedInvocation lookupPrimitive(final LinkRequest request, final Object receiver) { ! return PrimitiveLookup.lookupPrimitive(request, Boolean.class, new NativeBoolean((Boolean)receiver), WRAPFILTER, PROTOFILTER); } /** * Wrap a native string in a NativeString object. *
*** 176,184 **** @SuppressWarnings("unused") private static NativeBoolean wrapFilter(final Object receiver) { return new NativeBoolean((Boolean)receiver); } ! private static MethodHandle findWrapFilter() { ! return MH.findStatic(MethodHandles.lookup(), NativeBoolean.class, "wrapFilter", MH.type(NativeBoolean.class, Object.class)); } } --- 178,191 ---- @SuppressWarnings("unused") private static NativeBoolean wrapFilter(final Object receiver) { return new NativeBoolean((Boolean)receiver); } ! @SuppressWarnings("unused") ! private static Object protoFilter(final Object object) { ! return Global.instance().getBooleanPrototype(); ! } ! ! private static MethodHandle findOwnMH(final String name, final MethodType type) { ! return MH.findStatic(MethodHandles.lookup(), NativeBoolean.class, name, type); } }