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

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

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

RubyModule.setConstantQuiet介绍

[英]Set the named constant on this module. Also, if the value provided is another Module and that module has not yet been named, assign it the specified name. This version does not warn if the constant has already been set.
[中]在此模块上设置命名常量。此外,如果提供的值是另一个模块,且该模块尚未命名,请为其指定名称。如果已设置常数,此版本不会发出警告。

代码示例

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

public static IRubyObject create_proxy_class(
    IRubyObject self,
    IRubyObject name,
    IRubyObject javaClass,
    IRubyObject module) {
  final Ruby runtime = self.getRuntime();
  if ( ! ( module instanceof RubyModule ) ) {
    throw runtime.newTypeError(module, runtime.getModule());
  }
  final RubyModule proxyClass = get_proxy_class(self, javaClass);
  final String constName = name.asJavaString();
  IRubyObject existing = ((RubyModule) module).getConstantNoConstMissing(constName);
  if ( existing != null && existing != RubyBasicObject.UNDEF && existing != proxyClass ) {
    runtime.getWarnings().warn("replacing " + existing + " with " + proxyClass + " in constant '" + constName + " on class/module " + module);
  }
  ((RubyModule) module).setConstantQuiet(name.asJavaString(), proxyClass);
  return proxyClass;
}

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

public static IRubyObject create_proxy_class(
    IRubyObject self,
    IRubyObject name,
    IRubyObject javaClass,
    IRubyObject module) {
  final Ruby runtime = self.getRuntime();
  if ( ! ( module instanceof RubyModule ) ) {
    throw runtime.newTypeError(module, runtime.getModule());
  }
  final RubyModule proxyClass = get_proxy_class(self, javaClass);
  final String constName = name.asJavaString();
  IRubyObject existing = ((RubyModule) module).getConstantNoConstMissing(constName);
  if ( existing != null && existing != RubyBasicObject.UNDEF && existing != proxyClass ) {
    runtime.getWarnings().warn("replacing " + existing + " with " + proxyClass + " in constant '" + constName + " on class/module " + module);
  }
  ((RubyModule) module).setConstantQuiet(name.asJavaString(), proxyClass);
  return proxyClass;
}

代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby

public static IRubyObject create_proxy_class(
    IRubyObject recv,
    IRubyObject constant,
    IRubyObject javaClass,
    IRubyObject module) {
  Ruby runtime = recv.getRuntime();
  if (!(module instanceof RubyModule)) {
    throw runtime.newTypeError(module, runtime.getModule());
  }
  IRubyObject proxyClass = get_proxy_class(recv, javaClass);
  RubyModule m = (RubyModule)module;
  String constName = constant.asJavaString();
  IRubyObject existing = m.getConstantNoConstMissing(constName);
  if (existing != null
      && existing != RubyBasicObject.UNDEF
      && existing != proxyClass) {
    runtime.getWarnings().warn("replacing " + existing + " with " + proxyClass + " in constant '" + constName + " on class/module " + m);
  }
  
  return ((RubyModule) module).setConstantQuiet(constant.asJavaString(), get_proxy_class(recv, javaClass));
}

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

public static IRubyObject create_proxy_class(
    IRubyObject recv,
    IRubyObject constant,
    IRubyObject javaClass,
    IRubyObject module) {
  Ruby runtime = recv.getRuntime();
  if (!(module instanceof RubyModule)) {
    throw runtime.newTypeError(module, runtime.getModule());
  }
  IRubyObject proxyClass = get_proxy_class(recv, javaClass);
  RubyModule m = (RubyModule)module;
  String constName = constant.asJavaString();
  IRubyObject existing = m.getConstantNoConstMissing(constName);
  if (existing != null
      && existing != RubyBasicObject.UNDEF
      && existing != proxyClass) {
    runtime.getWarnings().warn("replacing " + existing + " with " + proxyClass + " in constant '" + constName + " on class/module " + m);
  }
  
  return ((RubyModule) module).setConstantQuiet(constant.asJavaString(), get_proxy_class(recv, javaClass));
}

相关文章

微信公众号

最新文章

更多

RubyModule类方法