org.jruby.RubyModule.isRefinement()方法的使用及代码示例

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

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

RubyModule.isRefinement介绍

暂无

代码示例

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

@JRubyMethod(name = "used_modules", reads = SCOPE)
public IRubyObject used_modules(ThreadContext context) {
  StaticScope cref = context.getCurrentStaticScope();
  RubyArray ary = context.runtime.newArray();
  while (cref != null) {
    RubyModule overlay;
    if ((overlay = cref.getOverlayModuleForRead()) != null &&
        !overlay.refinements.isEmpty()) {
      overlay.refinements.entrySet().stream().forEach(entry -> {
        RubyModule mod = entry.getValue();
        while (mod != null && mod.isRefinement()) {
          ary.push(mod.definedAt);
          mod = mod.getSuperClass();
        }
      });
    }
    cref = cref.getPreviousCRefScope();
  }
  return ary;
}

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

@JRubyMethod(name = "used_modules", reads = SCOPE)
public IRubyObject used_modules(ThreadContext context) {
  StaticScope cref = context.getCurrentStaticScope();
  RubyArray ary = context.runtime.newArray();
  while (cref != null) {
    RubyModule overlay;
    if ((overlay = cref.getOverlayModuleForRead()) != null &&
        !overlay.refinements.isEmpty()) {
      overlay.refinements.entrySet().stream().forEach(entry -> {
        RubyModule mod = entry.getValue();
        while (mod != null && mod.isRefinement()) {
          ary.push(mod.definedAt);
          mod = mod.getSuperClass();
        }
      });
    }
    cref = cref.getPreviousCRefScope();
  }
  return ary;
}

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

public static RubySymbol addInstanceMethod(RubyModule containingClass, RubySymbol symbol, DynamicMethod method, Visibility visibility, ThreadContext context, Ruby runtime) {
  containingClass.addMethod(symbol.idString(), method);
  if (!containingClass.isRefinement()) callNormalMethodHook(containingClass, context, symbol);
  if (visibility == Visibility.MODULE_FUNCTION) addModuleMethod(containingClass, method, context, symbol);
  return symbol;
}

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

public static RubySymbol addInstanceMethod(RubyModule containingClass, RubySymbol symbol, DynamicMethod method, Visibility visibility, ThreadContext context, Ruby runtime) {
  containingClass.addMethod(symbol.idString(), method);
  if (!containingClass.isRefinement()) callNormalMethodHook(containingClass, context, symbol);
  if (visibility == Visibility.MODULE_FUNCTION) addModuleMethod(containingClass, method, context, symbol);
  return symbol;
}

相关文章

微信公众号

最新文章

更多

RubyModule类方法