throw new RuntimeException("no offline support for invokedynamic handles");
}
@Override
public DynamicMethod getAnnotatedMethod(RubyModule implementationClass, List<JavaMethodDescriptor> descs) {
JavaMethodDescriptor desc1 = descs.get(0);
if (desc1.anno.frame()) {
// super logic does not work yet because we need to take impl class
// and method name from the DynamicMethod#call call, so punt to
// generated class for now
return super.getAnnotatedMethod(implementationClass, descs);
}
if (!Modifier.isPublic(desc1.getDeclaringClass().getModifiers())) {
LOG.warn("warning: binding non-public class {}; reflected handles won't work", desc1.declaringClassName);
}
DescriptorInfo info = new DescriptorInfo(descs);
MethodHandle[] targets = buildAnnotatedMethodHandles(implementationClass.getRuntime(), descs, implementationClass);