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

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

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

RubyModule.invalidateCacheDescendants介绍

暂无

代码示例

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

@Override
public void completeBuild(DynamicMethod newMethod) {
  setCallCount(-1);
  newMethod.serialNumber = this.serialNumber;
  actualMethod = newMethod;
  getImplementationClass().invalidateCacheDescendants();
}

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

@Override
public void completeBuild(DynamicMethod newMethod) {
  setCallCount(-1);
  newMethod.serialNumber = this.serialNumber;
  actualMethod = newMethod;
  getImplementationClass().invalidateCacheDescendants();
}

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

public void addMethodInternal(String name, DynamicMethod method) {
  synchronized(getMethodsForWrite()) {
    addMethodAtBootTimeOnly(name, method);
    invalidateCoreClasses();
    invalidateCacheDescendants();
  }
}

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

public void addMethodInternal(String name, DynamicMethod method) {
  synchronized(getMethodsForWrite()) {
    addMethodAtBootTimeOnly(name, method);
    invalidateCoreClasses();
    invalidateCacheDescendants();
  }
}

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

public final void addMethodInternal(String name, DynamicMethod method) {
  synchronized (methodLocation.getMethodsForWrite()) {
    putMethod(getRuntime(), name, method);
    invalidateCoreClasses();
    invalidateCacheDescendants();
  }
}

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

public final void addMethodInternal(String name, DynamicMethod method) {
  synchronized (methodLocation.getMethodsForWrite()) {
    putMethod(getRuntime(), name, method);
    invalidateCoreClasses();
    invalidateCacheDescendants();
  }
}

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

public synchronized void defineAliases(List<String> aliases, String oldName) {
  testFrozen("module");
  DynamicMethod method = searchForAliasMethod(getRuntime(), oldName);
  for (String name: aliases) {
    if (oldName.equals(name)) continue;
    putMethod(name, new AliasMethod(this, method, oldName));
  }
  
  invalidateCoreClasses();
  invalidateCacheDescendants();
}

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

/** rb_alias
 *
 */
public synchronized void defineAlias(String name, String oldName) {
  testFrozen("module");
  if (oldName.equals(name)) return;
  DynamicMethod method = searchForAliasMethod(getRuntime(), oldName);
  putMethod(name, new AliasMethod(this, method, oldName));
  invalidateCoreClasses();
  invalidateCacheDescendants();
}

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

/** rb_alias
 *
 */
public synchronized void defineAlias(String name, String oldName) {
  testFrozen("module");
  if (oldName.equals(name)) return;
  DynamicMethod method = searchForAliasMethod(getRuntime(), oldName);
  putMethod(name, new AliasMethod(this, method, oldName));
  invalidateCoreClasses();
  invalidateCacheDescendants();
}

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

public synchronized void defineAliases(List<String> aliases, String oldName) {
  testFrozen("module");
  DynamicMethod method = searchForAliasMethod(getRuntime(), oldName);
  for (String name: aliases) {
    if (oldName.equals(name)) continue;
    putMethod(name, new AliasMethod(this, method, oldName));
  }
  
  invalidateCoreClasses();
  invalidateCacheDescendants();
}

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

/** rb_alias
 *
 */
public synchronized void defineAlias(String name, String oldName) {
  testFrozen("module");
  putAlias(name, searchForAliasMethod(getRuntime(), oldName), oldName);
  methodLocation.invalidateCoreClasses();
  methodLocation.invalidateCacheDescendants();
}

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

public synchronized void defineAliases(List<String> aliases, String oldId) {
  testFrozen("module");
  Ruby runtime = getRuntime();
  DynamicMethod method = searchForAliasMethod(runtime, oldId);
  for (String name: aliases) {
    putAlias(name, method, oldId);
  }
  methodLocation.invalidateCoreClasses();
  methodLocation.invalidateCacheDescendants();
}

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

/** rb_alias
 *
 */
public synchronized void defineAlias(String name, String oldName) {
  testFrozen("module");
  putAlias(name, searchForAliasMethod(getRuntime(), oldName), oldName);
  methodLocation.invalidateCoreClasses();
  methodLocation.invalidateCacheDescendants();
}

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

public synchronized void defineAliases(List<String> aliases, String oldId) {
  testFrozen("module");
  Ruby runtime = getRuntime();
  DynamicMethod method = searchForAliasMethod(runtime, oldId);
  for (String name: aliases) {
    putAlias(name, method, oldId);
  }
  methodLocation.invalidateCoreClasses();
  methodLocation.invalidateCacheDescendants();
}

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

public void switchToJitted(Script jitCompiledScript, CallConfiguration jitCallConfig) {
  this.box.actualMethod = DynamicMethodFactory.newJittedMethod(
      getImplementationClass().getRuntime(), getImplementationClass(),
      staticScope, jitCompiledScript, name, jitCallConfig, getVisibility(), argsNode.getArity(), position,
      this);
  this.box.actualMethod.serialNumber = this.serialNumber;
  this.box.callCount = -1;
  getImplementationClass().invalidateCacheDescendants();
}

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

public void switchToJitted(Script jitCompiledScript, CallConfiguration jitCallConfig) {
  this.box.actualMethod = DynamicMethodFactory.newJittedMethod(
      getImplementationClass().getRuntime(), getImplementationClass(),
      staticScope, jitCompiledScript, name, jitCallConfig, getVisibility(), argsNode.getArity(), position,
      this);
  this.box.actualMethod.serialNumber = this.serialNumber;
  this.box.callCount = -1;
  getImplementationClass().invalidateCacheDescendants();
}

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

/** rb_export_method
 *
 */
public void exportMethod(String name, Visibility visibility) {
  Ruby runtime = getRuntime();
  DynamicMethod method = deepMethodSearch(name, runtime);
  if (method.getVisibility() != visibility) {
    if (this == method.getImplementationClass()) {
      method.setVisibility(visibility);
    } else {
      DynamicMethod newMethod = new PartialDelegatingMethod(this, method, visibility);
      methodLocation.addMethod(name, newMethod);
    }
    invalidateCoreClasses();
    invalidateCacheDescendants();
  }
}

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

/** rb_export_method
 *
 */
public void exportMethod(String name, Visibility visibility) {
  Ruby runtime = getRuntime();
  DynamicMethod method = deepMethodSearch(name, runtime);
  if (method.getVisibility() != visibility) {
    if (this == method.getImplementationClass()) {
      method.setVisibility(visibility);
    } else {
      DynamicMethod newMethod = new PartialDelegatingMethod(this, method, visibility);
      methodLocation.addMethod(name, newMethod);
    }
    invalidateCoreClasses();
    invalidateCacheDescendants();
  }
}

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

/** rb_export_method
 *
 */
public void exportMethod(String name, Visibility visibility) {
  Ruby runtime = getRuntime();
  DynamicMethod method = deepMethodSearch(name, runtime);
  if (method.getVisibility() != visibility) {
    if (this == method.getImplementationClass()) {
      method.setVisibility(visibility);
    } else {
      // FIXME: Why was this using a FullFunctionCallbackMethod before that did callSuper?
      addMethod(name, new WrapperMethod(this, method, visibility));
    }
    invalidateCoreClasses();
    invalidateCacheDescendants();
  }
}

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

/** rb_export_method
 *
 */
public void exportMethod(String name, Visibility visibility) {
  Ruby runtime = getRuntime();
  DynamicMethod method = deepMethodSearch(name, runtime);
  if (method.getVisibility() != visibility) {
    if (this == method.getImplementationClass()) {
      method.setVisibility(visibility);
    } else {
      // FIXME: Why was this using a FullFunctionCallbackMethod before that did callSuper?
      addMethod(name, new WrapperMethod(this, method, visibility));
    }
    invalidateCoreClasses();
    invalidateCacheDescendants();
  }
}

相关文章

微信公众号

最新文章

更多

RubyModule类方法