MethodVisitor mv = cw.visitMethod(ACC_PUBLIC, "callMethod", sig(IRubyObject.class, params(ThreadContext.class, IRubyObject.class, RubyClass.class, Integer.TYPE, String.class,
IRubyObject[].class, CallType.class, Block.class)), null, null);
mv.visitCode();
Label line = new Label();
mv.visitLineNumber(0, line);
mv.visitVarInsn(ALOAD, 2);
mv.visitTypeInsn(CHECKCAST, typePath);
return mv;
}