< prev index next > src/java.base/share/classes/java/lang/invoke/MethodType.java
Print this page
import java.util.StringJoiner;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.stream.Stream;
+ import jdk.internal.value.PrimitiveClass;
import jdk.internal.util.ReferencedKeySet;
import jdk.internal.util.ReferenceKey;
import jdk.internal.vm.annotation.Stable;
import sun.invoke.util.BytecodeDescriptor;
import sun.invoke.util.VerifyType;
* {@link java.lang.Class#getSimpleName simple name}.
*/
@Override
public String toString() {
StringJoiner sj = new StringJoiner(",", "(",
- ")" + rtype.getSimpleName());
+ ")" + toSimpleName(rtype));
for (int i = 0; i < ptypes.length; i++) {
- sj.add(ptypes[i].getSimpleName());
+ sj.add(toSimpleName(ptypes[i]));
}
return sj.toString();
}
+ static String toSimpleName(Class<?> c) {
+ if (PrimitiveClass.isPrimitiveClass(c) && PrimitiveClass.isPrimaryType(c)) {
+ return c.getSimpleName() + ".ref";
+ } else {
+ return c.getSimpleName();
+ }
+ }
/** True if my parameter list is effectively identical to the given full list,
* after skipping the given number of my own initial parameters.
* In other words, after disregarding {@code skipPos} parameters,
* my remaining parameter list is no longer than the {@code fullList}, and
* is equal to the same-length initial sublist of {@code fullList}.
< prev index next >