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

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

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

RubyModule.syncConstants介绍

暂无

代码示例

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

/** init_copy
 *
 * Initializes a copy with variable and special instance variable
 * information, and then call the initialize_copy Ruby method.
 */
private static void initCopy(IRubyObject clone, IRubyObject original, String method) {
  assert !clone.isFrozen() : "frozen object (" + clone.getMetaClass().getName() + ") allocated";
  original.copySpecialInstanceVariables(clone);
  if (original.hasVariables()) clone.syncVariables(original);
  if (original instanceof RubyModule) {
    RubyModule cloneMod = (RubyModule)clone;
    cloneMod.syncConstants((RubyModule)original);
    cloneMod.syncClassVariables((RubyModule)original);
  }
  /* FIXME: finalizer should be dupped here */
  clone.callMethod(clone.getRuntime().getCurrentContext(), method, original);
}

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

/** init_copy
 *
 * Initializes a copy with variable and special instance variable
 * information, and then call the initialize_copy Ruby method.
 */
private static void initCopy(IRubyObject clone, IRubyObject original, String method) {
  assert !clone.isFrozen() : "frozen object (" + clone.getMetaClass().getName() + ") allocated";
  original.copySpecialInstanceVariables(clone);
  if (original.hasVariables()) clone.syncVariables(original);
  if (original instanceof RubyModule) {
    RubyModule cloneMod = (RubyModule)clone;
    cloneMod.syncConstants((RubyModule)original);
    cloneMod.syncClassVariables((RubyModule)original);
  }
  /* FIXME: finalizer should be dupped here */
  clone.callMethod(clone.getRuntime().getCurrentContext(), method, original);
}

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

/** rb_mod_init_copy
 * 
 */
@JRubyMethod(name = "initialize_copy", required = 1)
@Override
public IRubyObject initialize_copy(IRubyObject original) {
  super.initialize_copy(original);
  RubyModule originalModule = (RubyModule)original;
  if (!getMetaClass().isSingleton()) setMetaClass(originalModule.getSingletonClassClone());
  setSuperClass(originalModule.getSuperClass());
  if (originalModule.hasVariables()) syncVariables(originalModule);
  syncConstants(originalModule);
  originalModule.cloneMethods(this);
  return this;
}

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

/** rb_mod_init_copy
 * 
 */
@JRubyMethod(name = "initialize_copy", required = 1)
@Override
public IRubyObject initialize_copy(IRubyObject original) {
  super.initialize_copy(original);
  RubyModule originalModule = (RubyModule)original;
  if (!getMetaClass().isSingleton()) setMetaClass(originalModule.getSingletonClassClone());
  setSuperClass(originalModule.getSuperClass());
  if (originalModule.hasVariables()) syncVariables(originalModule);
  syncConstants(originalModule);
  originalModule.cloneMethods(this);
  return this;
}

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

/** init_copy
 *
 * Initializes a copy with variable and special instance variable
 * information, and then call the initialize_copy Ruby method.
 */
private static IRubyObject initCopy(ThreadContext context, IRubyObject clone, IRubyObject original, boolean doClone) {
  assert !clone.isFrozen() : "frozen object (" + clone.getMetaClass().getName() + ") allocated";
  original.copySpecialInstanceVariables(clone);
  if (original.hasVariables()) clone.syncVariables(original);
  if (original instanceof RubyModule) {
    RubyModule cloneMod = (RubyModule)clone;
    cloneMod.syncConstants((RubyModule)original);
    cloneMod.syncClassVariables((RubyModule)original);
  }
  /* FIXME: finalizer should be dupped here */
  return doClone ?
      sites(context).initialize_clone.call(context, clone, clone, original) :
      sites(context).initialize_dup.call(context, clone, clone, original);
}

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

/** init_copy
 *
 * Initializes a copy with variable and special instance variable
 * information, and then call the initialize_copy Ruby method.
 */
private static IRubyObject initCopy(ThreadContext context, IRubyObject clone, IRubyObject original, boolean doClone) {
  assert !clone.isFrozen() : "frozen object (" + clone.getMetaClass().getName() + ") allocated";
  original.copySpecialInstanceVariables(clone);
  if (original.hasVariables()) clone.syncVariables(original);
  if (original instanceof RubyModule) {
    RubyModule cloneMod = (RubyModule)clone;
    cloneMod.syncConstants((RubyModule)original);
    cloneMod.syncClassVariables((RubyModule)original);
  }
  /* FIXME: finalizer should be dupped here */
  return doClone ?
      sites(context).initialize_clone.call(context, clone, clone, original) :
      sites(context).initialize_dup.call(context, clone, clone, original);
}

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

/** mri: rb_mod_init_copy
 *
 */
@JRubyMethod(name = "initialize_copy", required = 1, visibility = Visibility.PRIVATE)
@Override
public IRubyObject initialize_copy(IRubyObject original) {
  if (this instanceof RubyClass) {
    checkSafeTypeToCopy((RubyClass) original);
  }
  super.initialize_copy(original);
  RubyModule originalModule = (RubyModule)original;
  if (!getMetaClass().isSingleton()) {
    setMetaClass(originalModule.getSingletonClassCloneAndAttach(this));
  }
  setSuperClass(originalModule.getSuperClass());
  if (originalModule.hasVariables()) syncVariables(originalModule);
  syncConstants(originalModule);
  originalModule.cloneMethods(this);
  return this;
}

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

/** mri: rb_mod_init_copy
 *
 */
@JRubyMethod(name = "initialize_copy", required = 1, visibility = Visibility.PRIVATE)
@Override
public IRubyObject initialize_copy(IRubyObject original) {
  if (this instanceof RubyClass) {
    checkSafeTypeToCopy((RubyClass) original);
  }
  super.initialize_copy(original);
  RubyModule originalModule = (RubyModule)original;
  if (!getMetaClass().isSingleton()) {
    setMetaClass(originalModule.getSingletonClassCloneAndAttach(this));
  }
  setSuperClass(originalModule.getSuperClass());
  if (originalModule.hasVariables()) syncVariables(originalModule);
  syncConstants(originalModule);
  originalModule.cloneMethods(this);
  return this;
}

相关文章

微信公众号

最新文章

更多

RubyModule类方法