org.jruby.RubyClass.checkFuncallRespondTo()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(3.6k)|赞(0)|评价(0)|浏览(68)

本文整理了Java中org.jruby.RubyClass.checkFuncallRespondTo方法的一些代码示例,展示了RubyClass.checkFuncallRespondTo的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RubyClass.checkFuncallRespondTo方法的具体详情如下:
包路径:org.jruby.RubyClass
类名称:RubyClass
方法名:checkFuncallRespondTo

RubyClass.checkFuncallRespondTo介绍

[英]Check if the method has a custom respond_to? and call it if so with the method ID we're hoping to call. MRI: check_funcall_respond_to
[中]检查该方法是否有自定义响应?如果是的话,用我们希望调用的方法ID调用它。核磁共振成像:检查所有反应

代码示例

代码示例来源:origin: org.jruby/jruby-complete

private IRubyObject checkFuncallDefault(ThreadContext context, IRubyObject self, String name, IRubyObject[] args) {
  final RubyClass klass = this;
  if (!checkFuncallRespondTo(context, klass, self, name)) return null; // return def;
  DynamicMethod method = searchMethod(name);
  if (!checkFuncallCallable(context, method, CallType.FUNCTIONAL, self)) {
    return checkFuncallMissing(context, klass, self, name, args);
  }
  return method.call(context, self, klass, name, args);
}

代码示例来源:origin: org.jruby/jruby-complete

private IRubyObject checkFuncallDefault(ThreadContext context, IRubyObject self, JavaSites.CheckedSites sites, IRubyObject[] args) {
  final RubyClass klass = this;
  if (!checkFuncallRespondTo(context, klass, self, sites.respond_to_X)) return null; // return def;
  DynamicMethod method = sites.site.retrieveCache(klass).method;
  if (!checkFuncallCallable(context, method, CallType.FUNCTIONAL, self)) {
    return checkFuncallMissing(context, klass, self, sites.methodName, sites.respond_to_missing, sites.method_missing, args);
  }
  return method.call(context, self, klass, sites.methodName, args);
}

代码示例来源:origin: org.jruby/jruby-complete

private IRubyObject checkFuncallDefault(ThreadContext context, IRubyObject self, JavaSites.CheckedSites sites) {
  final RubyClass klass = this;
  if (!checkFuncallRespondTo(context, klass, self, sites.respond_to_X)) return null; // return def;
  DynamicMethod method = sites.site.retrieveCache(klass).method;
  if (!checkFuncallCallable(context, method, CallType.FUNCTIONAL, self)) {
    return checkFuncallMissing(context, klass, self, sites.methodName, sites.respond_to_missing, sites.method_missing);
  }
  return method.call(context, self, klass, sites.methodName);
}

代码示例来源:origin: org.jruby/jruby-core

private IRubyObject checkFuncallDefault(ThreadContext context, IRubyObject self, JavaSites.CheckedSites sites, IRubyObject[] args) {
  final RubyClass klass = this;
  if (!checkFuncallRespondTo(context, klass, self, sites.respond_to_X)) return null; // return def;
  DynamicMethod method = sites.site.retrieveCache(klass).method;
  if (!checkFuncallCallable(context, method, CallType.FUNCTIONAL, self)) {
    return checkFuncallMissing(context, klass, self, sites.methodName, sites.respond_to_missing, sites.method_missing, args);
  }
  return method.call(context, self, klass, sites.methodName, args);
}

代码示例来源:origin: org.jruby/jruby-core

private IRubyObject checkFuncallDefault(ThreadContext context, IRubyObject self, JavaSites.CheckedSites sites) {
  final RubyClass klass = this;
  if (!checkFuncallRespondTo(context, klass, self, sites.respond_to_X)) return null; // return def;
  DynamicMethod method = sites.site.retrieveCache(klass).method;
  if (!checkFuncallCallable(context, method, CallType.FUNCTIONAL, self)) {
    return checkFuncallMissing(context, klass, self, sites.methodName, sites.respond_to_missing, sites.method_missing);
  }
  return method.call(context, self, klass, sites.methodName);
}

代码示例来源:origin: org.jruby/jruby-core

private IRubyObject checkFuncallDefault(ThreadContext context, IRubyObject self, String name, IRubyObject[] args) {
  final RubyClass klass = this;
  if (!checkFuncallRespondTo(context, klass, self, name)) return null; // return def;
  DynamicMethod method = searchMethod(name);
  if (!checkFuncallCallable(context, method, CallType.FUNCTIONAL, self)) {
    return checkFuncallMissing(context, klass, self, name, args);
  }
  return method.call(context, self, klass, name, args);
}

相关文章

微信公众号

最新文章

更多

RubyClass类方法