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

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

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

RubyClass.remove_const介绍

暂无

代码示例

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

/**
   * Attempts to remove this constant from top self or receiver.
   *
   */
  @Override
  public void remove() {
    final Ruby runtime = getRuntime();
    final IRubyObject rubyName = JavaUtil.convertJavaToRuby(runtime, name);
    final RubyClass metaClass = receiver.getMetaClass();
    if (metaClass.getConstantNames().contains(name)) {
      metaClass.remove_const(runtime.getCurrentContext(), rubyName);
    }
    else if (getTopSelf().getMetaClass().getConstantNames().contains(name)) {
      getTopSelf().getMetaClass().remove_const(runtime.getCurrentContext(), rubyName);
    }
    else if (getTopSelf().getMetaClass().getSuperClass().getConstantNames().contains(name)) {
      getTopSelf().getMetaClass().getSuperClass().remove_const(runtime.getCurrentContext(), rubyName);
    }
  }
}

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

/**
   * Attempts to remove this constant from top self or receiver.
   *
   */
  @Override
  public void remove() {
    final Ruby runtime = getRuntime();
    final IRubyObject rubyName = JavaUtil.convertJavaToRuby(runtime, name);
    final RubyClass metaClass = receiver.getMetaClass();
    if (metaClass.getConstantNames().contains(name)) {
      metaClass.remove_const(runtime.getCurrentContext(), rubyName);
    }
    else if (getTopSelf().getMetaClass().getConstantNames().contains(name)) {
      getTopSelf().getMetaClass().remove_const(runtime.getCurrentContext(), rubyName);
    }
    else if (getTopSelf().getMetaClass().getSuperClass().getConstantNames().contains(name)) {
      getTopSelf().getMetaClass().getSuperClass().remove_const(runtime.getCurrentContext(), rubyName);
    }
  }
}

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

/**
   * Attempts to remove this constant from top self or receiver.
   *
   */
  public void remove() {
    IRubyObject rubyName = JavaUtil.convertJavaToRuby(receiver.getRuntime(), name);
    if (receiver.getMetaClass().getConstantNames().contains(name)) {
      receiver.getMetaClass().remove_const(receiver.getRuntime().getCurrentContext(), rubyName);
    } else if (receiver.getRuntime().getTopSelf().getMetaClass().getConstantNames().contains(name)) {
      receiver.getRuntime().getTopSelf().getMetaClass().remove_const(receiver.getRuntime().getCurrentContext(), rubyName);
    } else if (receiver.getRuntime().getTopSelf().getMetaClass().getSuperClass().getConstantNames().contains(name)) {
      receiver.getRuntime().getTopSelf().getMetaClass().getSuperClass().remove_const(receiver.getRuntime().getCurrentContext(), rubyName);
    }
  }
}

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

/**
   * Attempts to remove this constant from top self or receiver.
   *
   */
  public void remove() {
    IRubyObject rubyName = JavaUtil.convertJavaToRuby(receiver.getRuntime(), name);
    if (receiver.getMetaClass().getConstantNames().contains(name)) {
      receiver.getMetaClass().remove_const(receiver.getRuntime().getCurrentContext(), rubyName);
    } else if (receiver.getRuntime().getTopSelf().getMetaClass().getConstantNames().contains(name)) {
      receiver.getRuntime().getTopSelf().getMetaClass().remove_const(receiver.getRuntime().getCurrentContext(), rubyName);
    } else if (receiver.getRuntime().getTopSelf().getMetaClass().getSuperClass().getConstantNames().contains(name)) {
      receiver.getRuntime().getTopSelf().getMetaClass().getSuperClass().remove_const(receiver.getRuntime().getCurrentContext(), rubyName);
    }
  }
}

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

ThreadContext context = runtime.getCurrentContext();
runtime.getWarnings().warn(ID.STRUCT_CONSTANT_REDEFINED, context.getFile(), context.getLine(), "redefining constant Struct::" + name);
superClass.remove_const(context, runtime.newString(name));

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

ThreadContext context = runtime.getCurrentContext();
runtime.getWarnings().warn(ID.STRUCT_CONSTANT_REDEFINED, context.getFile(), context.getLine(), "redefining constant Struct::" + name);
superClass.remove_const(context, runtime.newString(name));

相关文章

微信公众号

最新文章

更多

RubyClass类方法