CallerSensitiveDynamicMethod.java 文件源码

java
阅读 35 收藏 0 点赞 0 评论 0

项目:openjdk-jdk10 作者:
@Override
MethodHandle getTarget(final CallSiteDescriptor desc) {
    final MethodHandles.Lookup lookup = AccessController.doPrivileged(
            (PrivilegedAction<MethodHandles.Lookup>)()->desc.getLookup(),
            GET_LOOKUP_CONTEXT);

    if(target instanceof Method) {
        final MethodHandle mh = unreflect(lookup, (Method)target);
        if(Modifier.isStatic(((Member)target).getModifiers())) {
            return StaticClassIntrospector.editStaticMethodHandle(mh);
        }
        return mh;
    }
    return StaticClassIntrospector.editConstructorMethodHandle(unreflectConstructor(lookup,
            (Constructor<?>)target));
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号