src/share/classes/java/lang/invoke/MethodHandleImpl.java
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 7087570 Cdiff src/share/classes/java/lang/invoke/MethodHandleImpl.java

src/share/classes/java/lang/invoke/MethodHandleImpl.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this --- 1,7 ---- /* ! * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this
*** 365,386 **** return asFixedArity(); } @Override MethodHandle viewAsType(MethodType newType) { ! MethodHandle mh = super.viewAsType(newType); // put back the varargs bit: ! MethodType type = mh.type(); ! int arity = type.parameterCount(); ! return mh.asVarargsCollector(type.parameterType(arity-1)); } @Override MemberName internalMemberName() { return asFixedArity().internalMemberName(); } @Override MethodHandle bindArgument(int pos, char basicType, Object value) { return asFixedArity().bindArgument(pos, basicType, value); } --- 365,392 ---- return asFixedArity(); } @Override MethodHandle viewAsType(MethodType newType) { ! if (newType.lastParameterType() != type().lastParameterType()) ! throw new InternalError(); ! MethodHandle newTarget = asFixedArity().viewAsType(newType); // put back the varargs bit: ! return new AsVarargsCollector(newTarget, newType, arrayType); } @Override MemberName internalMemberName() { return asFixedArity().internalMemberName(); } + /*non-public*/ + @Override + boolean isInvokeSpecial() { + return asFixedArity().isInvokeSpecial(); + } + @Override MethodHandle bindArgument(int pos, char basicType, Object value) { return asFixedArity().bindArgument(pos, basicType, value); }
src/share/classes/java/lang/invoke/MethodHandleImpl.java
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File