< prev index next >
src/java.base/share/classes/java/lang/constant/DirectMethodHandleDescImpl.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,16 +28,12 @@
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;
import java.util.Objects;
import java.util.Optional;
-import static java.lang.constant.ConstantDescs.BSM_INVOKE;
-import static java.lang.constant.ConstantDescs.BSM_METHODHANDLEDESC;
import static java.lang.constant.ConstantDescs.CR_DirectMethodHandleDesc;
import static java.lang.constant.ConstantDescs.DEFAULT_NAME;
-import static java.lang.constant.ConstantDescs.MHR_METHODHANDLEDESC_FACTORY;
-import static java.lang.constant.ConstantDescs.MHR_METHODTYPEDESC_FACTORY;
import static java.lang.constant.ConstantUtils.validateClassOrInterface;
import static java.lang.constant.ConstantUtils.validateMemberName;
import static java.lang.constant.DirectMethodHandleDesc.Kind.CONSTRUCTOR;
import static java.util.Objects.requireNonNull;
@@ -163,15 +159,11 @@
}
}
@Override
public Optional<? extends ConstantDesc<ConstantDesc<MethodHandle>>> describeConstable() {
- return Optional.of(DynamicConstantDesc.of(BSM_INVOKE, MHR_METHODHANDLEDESC_FACTORY,
- kind.toString(),
- owner.descriptorString(),
- name,
- type.descriptorString()));
+ return Optional.of(DynamicConstantDesc.ofSymbolic(this));
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
< prev index next >