org.jruby.Ruby.getConstantInvalidator()方法的使用及代码示例

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

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

Ruby.getConstantInvalidator介绍

暂无

代码示例

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

private Invalidator invalidator(Ruby runtime) {
    if (invalidator == null) {
      invalidator = runtime.getConstantInvalidator(constName);
    }
    return invalidator;
  }
}

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

private Invalidator invalidator(Ruby runtime) {
    if (invalidator == null) {
      invalidator = runtime.getConstantInvalidator(constName);
    }
    return invalidator;
  }
}

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

private Invalidator invalidator(Ruby runtime) {
    if (invalidator == null) {
      invalidator = runtime.getConstantInvalidator(constName);
    }
    return invalidator;
  }
}

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

protected void invalidateConstantCaches(Set<String> constantNames) {
  if (constantNames.size() > 0) {
    Ruby runtime = getRuntime();
    List<Invalidator> constantInvalidators = new ArrayList<>(constantNames.size());
    for (String name : constantNames) {
      constantInvalidators.add(runtime.getConstantInvalidator(name));
    }
    constantInvalidators.get(0).invalidateAll(constantInvalidators);
  }
}

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

protected void invalidateConstantCaches(Set<String> constantNames) {
  if (constantNames.size() > 0) {
    Ruby runtime = getRuntime();
    List<Invalidator> constantInvalidators = new ArrayList<>(constantNames.size());
    for (String name : constantNames) {
      constantInvalidators.add(runtime.getConstantInvalidator(name));
    }
    constantInvalidators.get(0).invalidateAll(constantInvalidators);
  }
}

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

public IRubyObject reCache(ThreadContext context, StaticScope scope, String name, int index) {
  Invalidator invalidator = context.runtime.getConstantInvalidator(name);
  Object newGeneration = invalidator.getData();
  IRubyObject value = scope.getConstant(name);
  if (value != null) {
    constants[index] = new ConstantCache(value, newGeneration, invalidator);
  } else {
    constants[index] = null;
  }
  return value;
}

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

public IRubyObject reCache(ThreadContext context, StaticScope scope, String name, int index) {
  Invalidator invalidator = context.runtime.getConstantInvalidator(name);
  Object newGeneration = invalidator.getData();
  IRubyObject value = scope.getConstant(name);
  if (value != null) {
    constants[index] = new ConstantCache(value, newGeneration, invalidator);
  } else {
    constants[index] = null;
  }
  return value;
}

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

public IRubyObject reCache(ThreadContext context, StaticScope scope, String name, int index) {
  Invalidator invalidator = context.runtime.getConstantInvalidator(name);
  Object newGeneration = invalidator.getData();
  IRubyObject value = scope.getConstant(name);
  if (value != null) {
    constants[index] = new ConstantCache(value, newGeneration, invalidator);
  } else {
    constants[index] = null;
  }
  return value;
}

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

public IRubyObject reCache(ThreadContext context, StaticScope scope, String name, int index) {
  Invalidator invalidator = context.runtime.getConstantInvalidator(name);
  Object newGeneration = invalidator.getData();
  IRubyObject value = scope.getConstant(name);
  if (value != null) {
    constants[index] = new ConstantCache(value, newGeneration, invalidator);
  } else {
    constants[index] = null;
  }
  return value;
}

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

public IRubyObject reCacheFrom(RubyModule target, ThreadContext context, String name, int index) {
  Invalidator invalidator = context.runtime.getConstantInvalidator(name);
  Object newGeneration = invalidator.getData();
  IRubyObject value = target.getConstantFromNoConstMissing(name, false);
  if (value != null) {
    constants[index] = new ConstantCache(value, newGeneration, invalidator, target.hashCode());
  } else {
    constants[index] = null;
  }
  return value;
}

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

public IRubyObject reCacheFrom(RubyModule target, ThreadContext context, String name, int index) {
  Invalidator invalidator = context.runtime.getConstantInvalidator(name);
  Object newGeneration = invalidator.getData();
  IRubyObject value = target.getConstantFromNoConstMissing(name, false);
  if (value != null) {
    constants[index] = new ConstantCache(value, newGeneration, invalidator, target.hashCode());
  } else {
    constants[index] = null;
  }
  return value;
}

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

public IRubyObject reCache(ThreadContext context, RubyModule target) {
    Invalidator invalidator = context.runtime.getConstantInvalidator(name);
    Object newGeneration = invalidator.getData();
    IRubyObject value = target.getConstantFromNoConstMissing(name, false);

    if (value != null) {
      cache = new ConstantCache(value, newGeneration, invalidator, target.hashCode());
    } else {
      cache = null;
    }

    return value;
  }
}

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

public IRubyObject reCacheFrom(RubyModule target, ThreadContext context, String name, int index) {
  Invalidator invalidator = context.runtime.getConstantInvalidator(name);
  Object newGeneration = invalidator.getData();
  IRubyObject value = target.getConstantFromNoConstMissing(name, false);
  if (value != null) {
    constants[index] = new ConstantCache(value, newGeneration, invalidator, target.hashCode());
  } else {
    constants[index] = null;
  }
  return value;
}

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

private Object cache(Ruby runtime, RubyModule module) {
  Object constant = noPrivateConsts ? module.getConstantFromNoConstMissing(constName, false) : module.getConstantNoConstMissing(constName);
  if (constant == null) {
    constant = UndefinedValue.UNDEFINED;
  } else {
    // recache
    generation = runtime.getConstantInvalidator(constName).getData();
    hash = module.hashCode();
    cachedConstant = constant;
  }
  return constant;
}

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

public IRubyObject reCache(ThreadContext context, String name) {
    Invalidator invalidator = context.runtime.getConstantInvalidator(name);
    Object newGeneration = invalidator.getData();
    IRubyObject value = context.getCurrentStaticScope().getConstant(name);
    this.name = name;
    
    if (value != null) {
      cache = new ConstantCache(value, newGeneration, invalidator);
    } else {
      cache = null;
    }
    
    return value;
  }
}

代码示例来源: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 = noPrivateConsts ? module.getConstantFromNoConstMissing(id, false) : module.getConstantNoConstMissing(id);
  if (constant != null) {
    Invalidator invalidator = runtime.getConstantInvalidator(id);
    cache = new ConstantCache((IRubyObject)constant, invalidator.getData(), invalidator, module.hashCode());
  }
  return constant;
}

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

private Object cache(ThreadContext context, StaticScope currScope, DynamicScope currDynScope, IRubyObject self, Object[] temp) {
  StaticScope staticScope = (StaticScope) getDefiningScope().retrieve(context, self, currScope, currDynScope, temp);
  String id = getId();
  IRubyObject constant = staticScope.getConstantDefined(id);
  if (constant == null) {
    constant = UndefinedValue.UNDEFINED;
  } else {
    // recache
    Invalidator invalidator = context.runtime.getConstantInvalidator(id);
    cache = new ConstantCache(constant, invalidator.getData(), invalidator);
  }
  return constant;
}

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

private Object cache(Ruby runtime, RubyModule module) {
  String id = getId();
  Object constant = noPrivateConsts ? module.getConstantFromNoConstMissing(id, false) : module.getConstantNoConstMissing(id);
  if (constant != null) {
    Invalidator invalidator = runtime.getConstantInvalidator(id);
    cache = new ConstantCache((IRubyObject)constant, invalidator.getData(), invalidator, module.hashCode());
  }
  return constant;
}

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

private void bind(Ruby runtime, RubyModule module, IRubyObject constant, MethodHandle cachingFallback) {
  MethodHandle target = Binder.from(type())
      .drop(0, 2)
      .constant(constant);
  // Get appropriate fallback given state of site
  MethodHandle fallback = getFallback(module, cachingFallback);
  // Test that module is same as before
  target = guardWithTest(module.getIdTest(), target, fallback);
  // Global invalidation
  SwitchPoint switchPoint = (SwitchPoint) runtime.getConstantInvalidator(name).getData();
  target = switchPoint.guardWithTest(target, fallback);
  setTarget(target);
}

相关文章

微信公众号

最新文章

更多

Ruby类方法