本文整理了Java中org.jruby.RubyModule.usingModuleRecursive
方法的一些代码示例,展示了RubyModule.usingModuleRecursive
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RubyModule.usingModuleRecursive
方法的具体详情如下:
包路径:org.jruby.RubyModule
类名称:RubyModule
方法名:usingModuleRecursive
暂无
代码示例来源:origin: org.jruby/jruby-complete
public static void usingModule(ThreadContext context, RubyModule cref, IRubyObject refinedModule) {
if (!(refinedModule instanceof RubyModule))throw context.runtime.newTypeError(refinedModule, context.runtime.getModule());
usingModuleRecursive(cref, (RubyModule) refinedModule);
}
代码示例来源:origin: org.jruby/jruby-core
public static void usingModule(ThreadContext context, RubyModule cref, IRubyObject refinedModule) {
if (!(refinedModule instanceof RubyModule))throw context.runtime.newTypeError(refinedModule, context.runtime.getModule());
usingModuleRecursive(cref, (RubyModule) refinedModule);
}
代码示例来源:origin: org.jruby/jruby-complete
private static void usingModuleRecursive(RubyModule cref, RubyModule refinedModule) {
Ruby runtime = cref.getRuntime();
RubyClass superClass = refinedModule.getSuperClass();
// For each superClass of the refined module also use their refinements for the given cref
if (superClass != null) usingModuleRecursive(cref, superClass);
RubyModule realRefinedModule;
if (refinedModule instanceof IncludedModule) {
realRefinedModule = ((IncludedModule) refinedModule).getDelegate();
} else if (refinedModule.isModule()) {
realRefinedModule = refinedModule;
} else {
throw runtime.newTypeError("wrong argument type " + refinedModule.getName() + " (expected Module)");
}
Map<RubyModule, RubyModule> refinements = realRefinedModule.refinements;
if (refinements == null) return; // No refinements registered for this module
for (Map.Entry<RubyModule, RubyModule> entry: refinements.entrySet()) {
usingRefinement(runtime, cref, entry.getKey(), entry.getValue());
}
}
代码示例来源:origin: org.jruby/jruby-core
private static void usingModuleRecursive(RubyModule cref, RubyModule refinedModule) {
Ruby runtime = cref.getRuntime();
RubyClass superClass = refinedModule.getSuperClass();
// For each superClass of the refined module also use their refinements for the given cref
if (superClass != null) usingModuleRecursive(cref, superClass);
RubyModule realRefinedModule;
if (refinedModule instanceof IncludedModule) {
realRefinedModule = ((IncludedModule) refinedModule).getDelegate();
} else if (refinedModule.isModule()) {
realRefinedModule = refinedModule;
} else {
throw runtime.newTypeError("wrong argument type " + refinedModule.getName() + " (expected Module)");
}
Map<RubyModule, RubyModule> refinements = realRefinedModule.refinements;
if (refinements == null) return; // No refinements registered for this module
for (Map.Entry<RubyModule, RubyModule> entry: refinements.entrySet()) {
usingRefinement(runtime, cref, entry.getKey(), entry.getValue());
}
}
内容来源于网络,如有侵权,请联系作者删除!