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

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

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

RubyModule.getConstantNoConstMissingSkipAutoload介绍

暂无

代码示例

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

public IRubyObject noCacheInheritanceSearchConst(ThreadContext context, IRubyObject cmVal) {
  Ruby runtime = context.runtime;
  RubyModule module;
  if (cmVal instanceof RubyModule) {
    module = (RubyModule) cmVal;
  } else {
    throw runtime.newTypeError(cmVal + " is not a type/class");
  }
  // Inheritance lookup
  IRubyObject constant = module.getConstantNoConstMissingSkipAutoload(name);
  if (constant == null) {
    constant = UndefinedValue.UNDEFINED;
  }
  return constant;
}

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

public IRubyObject noCacheInheritanceSearchConst(ThreadContext context, IRubyObject cmVal) {
  Ruby runtime = context.runtime;
  RubyModule module;
  if (cmVal instanceof RubyModule) {
    module = (RubyModule) cmVal;
  } else {
    throw runtime.newTypeError(cmVal + " is not a type/class");
  }
  // Inheritance lookup
  IRubyObject constant = module.getConstantNoConstMissingSkipAutoload(name);
  if (constant == null) {
    constant = UndefinedValue.UNDEFINED;
  }
  return constant;
}

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

private Object cache(Ruby runtime, RubyModule module) {
  String id = getId();
  Object constant = module.getConstantNoConstMissingSkipAutoload(id);
  if (constant == null) {
    constant = UndefinedValue.UNDEFINED;
  } else {
    // recache
    Invalidator invalidator = runtime.getConstantInvalidator(id);
    cache = new ConstantCache((IRubyObject)constant, invalidator.getData(), invalidator, module.hashCode());
  }
  return constant;
}

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

private Object cache(Ruby runtime, RubyModule module) {
  String id = getId();
  Object constant = module.getConstantNoConstMissingSkipAutoload(id);
  if (constant == null) {
    constant = UndefinedValue.UNDEFINED;
  } else {
    // recache
    Invalidator invalidator = runtime.getConstantInvalidator(id);
    cache = new ConstantCache((IRubyObject)constant, invalidator.getData(), invalidator, module.hashCode());
  }
  return constant;
}

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

public IRubyObject inheritanceSearchConst(ThreadContext context, IRubyObject cmVal) throws Throwable {
  Ruby runtime = context.runtime;
  RubyModule module;
  if (cmVal instanceof RubyModule) {
    module = (RubyModule) cmVal;
  } else {
    throw runtime.newTypeError(cmVal + " is not a type/class");
  }
  if (checkForBailout(module)) {
    return bail(context, cmVal, noCacheISC());
  }
  // Inheritance lookup
  IRubyObject constant = module.getConstantNoConstMissingSkipAutoload(name);
  if (constant == null) {
    constant = UndefinedValue.UNDEFINED;
  }
  // bind constant until invalidated
  bind(runtime, module, constant, ISC());
  tracker.addType(module.id);
  if (Options.INVOKEDYNAMIC_LOG_CONSTANTS.load()) {
    LOG.info(name + "\tconstant cached from type (inheritanceSearchConst) " + cmVal.getMetaClass());
  }
  return constant;
}

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

public IRubyObject inheritanceSearchConst(ThreadContext context, IRubyObject cmVal) throws Throwable {
  Ruby runtime = context.runtime;
  RubyModule module;
  if (cmVal instanceof RubyModule) {
    module = (RubyModule) cmVal;
  } else {
    throw runtime.newTypeError(cmVal + " is not a type/class");
  }
  if (checkForBailout(module)) {
    return bail(context, cmVal, noCacheISC());
  }
  // Inheritance lookup
  IRubyObject constant = module.getConstantNoConstMissingSkipAutoload(name);
  if (constant == null) {
    constant = UndefinedValue.UNDEFINED;
  }
  // bind constant until invalidated
  bind(runtime, module, constant, ISC());
  tracker.addType(module.id);
  if (Options.INVOKEDYNAMIC_LOG_CONSTANTS.load()) {
    LOG.info(name + "\tconstant cached from type (inheritanceSearchConst) " + cmVal.getMetaClass());
  }
  return constant;
}

相关文章

微信公众号

最新文章

更多

RubyModule类方法