< prev index next >
src/java.base/share/classes/java/lang/constant/MethodTypeDescImpl.java
Print this page
rev 52749 : Bootstrap method consolidation
* clean up and simplify JDK support code for BSM invocation
* simplify JVM bootstrap handshake: use BootstrapCallInfo only
* remove unused JVM paths and data fields
* move bootstrap argument processing from MethodHandleNatives to ConstantPool
* remove ConstantGroup; merge argument access into BootstrapCallInfo
* adjust BSM argument access: remove copyArguments, add argumentRef API
* add metadata-free BSM modes, including symbolic arguments from CP
*** 28,39 ****
import java.lang.invoke.MethodType;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
- import static java.lang.constant.ConstantDescs.BSM_INVOKE;
- import static java.lang.constant.ConstantDescs.MHR_METHODTYPEDESC_FACTORY;
import static java.util.Objects.requireNonNull;
/**
* A <a href="package-summary.html#nominal">nominal descriptor</a> for a
* {@link MethodType}. A {@linkplain MethodTypeDescImpl} corresponds to a
--- 28,37 ----
*** 140,150 ****
return MethodType.fromMethodDescriptorString(descriptorString(), lookup.lookupClass().getClassLoader());
}
@Override
public Optional<? extends ConstantDesc<ConstantDesc<MethodType>>> describeConstable() {
! return Optional.of(DynamicConstantDesc.of(BSM_INVOKE, MHR_METHODTYPEDESC_FACTORY, descriptorString()));
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
--- 138,148 ----
return MethodType.fromMethodDescriptorString(descriptorString(), lookup.lookupClass().getClassLoader());
}
@Override
public Optional<? extends ConstantDesc<ConstantDesc<MethodType>>> describeConstable() {
! return Optional.of(DynamicConstantDesc.ofSymbolic(this));
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
< prev index next >