本文整理了Java中org.jruby.RubyModule.checkValidBindTargetFrom
方法的一些代码示例,展示了RubyModule.checkValidBindTargetFrom
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RubyModule.checkValidBindTargetFrom
方法的具体详情如下:
包路径:org.jruby.RubyModule
类名称:RubyModule
方法名:checkValidBindTargetFrom
暂无
代码示例来源:origin: org.jruby/jruby-complete
public IRubyObject defineMethodFromCallable(ThreadContext context, IRubyObject arg0, IRubyObject arg1, Visibility visibility) {
final Ruby runtime = context.runtime;
RubySymbol name = TypeConverter.checkID(arg0);
DynamicMethod newMethod;
if (runtime.getProc().isInstance(arg1)) {
// double-testing args.length here, but it avoids duplicating the proc-setup code in two places
RubyProc proc = (RubyProc)arg1;
newMethod = createProcMethod(runtime, name.idString(), visibility, proc.getBlock());
} else if (arg1 instanceof AbstractRubyMethod) {
AbstractRubyMethod method = (AbstractRubyMethod)arg1;
checkValidBindTargetFrom(context, (RubyModule) method.owner(context));
newMethod = method.getMethod().dup();
newMethod.setImplementationClass(this);
newMethod.setVisibility(visibility);
} else {
throw runtime.newTypeError("wrong argument type " + arg1.getType().getName() + " (expected Proc/Method)");
}
Helpers.addInstanceMethod(this, name, newMethod, visibility, context, runtime);
return name;
}
代码示例来源:origin: org.jruby/jruby-core
public IRubyObject defineMethodFromCallable(ThreadContext context, IRubyObject arg0, IRubyObject arg1, Visibility visibility) {
final Ruby runtime = context.runtime;
RubySymbol name = TypeConverter.checkID(arg0);
DynamicMethod newMethod;
if (runtime.getProc().isInstance(arg1)) {
// double-testing args.length here, but it avoids duplicating the proc-setup code in two places
RubyProc proc = (RubyProc)arg1;
newMethod = createProcMethod(runtime, name.idString(), visibility, proc.getBlock());
} else if (arg1 instanceof AbstractRubyMethod) {
AbstractRubyMethod method = (AbstractRubyMethod)arg1;
checkValidBindTargetFrom(context, (RubyModule) method.owner(context));
newMethod = method.getMethod().dup();
newMethod.setImplementationClass(this);
newMethod.setVisibility(visibility);
} else {
throw runtime.newTypeError("wrong argument type " + arg1.getType().getName() + " (expected Proc/Method)");
}
Helpers.addInstanceMethod(this, name, newMethod, visibility, context, runtime);
return name;
}
代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby
body = method;
checkValidBindTargetFrom(context, (RubyModule)method.owner(context));
代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby
body = method;
checkValidBindTargetFrom(context, (RubyModule)method.owner(context));
内容来源于网络,如有侵权,请联系作者删除!