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

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

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

RubyClass.nearestReifiedClass介绍

暂无

代码示例

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

@JRubyMethod
public static IRubyObject java_class(ThreadContext context, final IRubyObject self) {
  Class reifiedClass = RubyClass.nearestReifiedClass((RubyClass) self);
  if ( reifiedClass == null ) return context.nil;
  // TODO: java_class is used for different things with Java proxy modules/classes
  return asJavaClass(context.runtime, reifiedClass);
}

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

@JRubyMethod
public static IRubyObject java_class(ThreadContext context, final IRubyObject self) {
  Class reifiedClass = RubyClass.nearestReifiedClass((RubyClass) self);
  if ( reifiedClass == null ) return context.nil;
  // TODO: java_class is used for different things with Java proxy modules/classes
  return asJavaClass(context.runtime, reifiedClass);
}

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

@Override
public <T> T toJava(Class<T> target) {
  if (target == Class.class) {
    if (reifiedClass == null) reifyWithAncestors(); // possibly auto-reify
    // Class requested; try java_class or else return nearest reified class
    final ThreadContext context = getRuntime().getCurrentContext();
    IRubyObject javaClass = JavaClass.java_class(context, this);
    if ( ! javaClass.isNil() ) return javaClass.toJava(target);
    Class reifiedClass = nearestReifiedClass(this);
    if ( reifiedClass != null ) return target.cast(reifiedClass);
    // should never fall through, since RubyObject has a reified class
  }
  if (target.isAssignableFrom(RubyClass.class)) {
    // they're asking for something RubyClass extends, give them that
    return target.cast(this);
  }
  return defaultToJava(target);
}

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

@Override
public <T> T toJava(Class<T> target) {
  if (target == Class.class) {
    if (reifiedClass == null) reifyWithAncestors(); // possibly auto-reify
    // Class requested; try java_class or else return nearest reified class
    final ThreadContext context = getRuntime().getCurrentContext();
    IRubyObject javaClass = JavaClass.java_class(context, this);
    if ( ! javaClass.isNil() ) return javaClass.toJava(target);
    Class reifiedClass = nearestReifiedClass(this);
    if ( reifiedClass != null ) return target.cast(reifiedClass);
    // should never fall through, since RubyObject has a reified class
  }
  if (target.isAssignableFrom(RubyClass.class)) {
    // they're asking for something RubyClass extends, give them that
    return target.cast(this);
  }
  return defaultToJava(target);
}

相关文章

微信公众号

最新文章

更多

RubyClass类方法