src/share/classes/java/lang/invoke/MethodHandleImpl.java
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/share/classes/java/lang/invoke/MethodHandleImpl.java	Fri Feb  8 10:30:38 2013
--- new/src/share/classes/java/lang/invoke/MethodHandleImpl.java	Fri Feb  8 10:30:36 2013

*** 1,7 **** --- 1,7 ---- /* ! * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved. ! * 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 **** --- 365,392 ---- return asFixedArity(); } @Override MethodHandle viewAsType(MethodType newType) { MethodHandle mh = super.viewAsType(newType); + if (newType.lastParameterType() != type().lastParameterType()) + throw new InternalError(); + MethodHandle newTarget = asFixedArity().viewAsType(newType); // put back the varargs bit: ! MethodType type = mh.type(); int arity = type.parameterCount(); return mh.asVarargsCollector(type.parameterType(arity-1)); ! 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