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

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

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

RubyModule.addMethod介绍

[英]This method is not intended for use by normal users; it is a fast-path method that skips synchronization and hierarchy invalidation to speed boot-time method definition.
[中]此方法不适用于普通用户;它是一种快速路径方法,可以跳过同步和层次结构失效,以加快启动时方法定义。

代码示例

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

protected final void defineMethods(RubyModule target, DynamicMethod invoker, boolean checkDups) {
  String oldName = this.name;
  target.addMethod(oldName, invoker);
  List<String> aliases = this.aliases;
  if ( aliases != null && isPublic() ) {
    for (int i = 0; i < aliases.size(); i++) {
      String name = aliases.get(i);
      if (checkDups && oldName.equals(name)) continue;
      target.addMethod(name, invoker);
    }
  }
}

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

public void addMethod(String id, DynamicMethod method) {
  testFrozen("class/module");
  if (methodLocation != this) {
    methodLocation.addMethod(id, method);
    return;
  }
  if (this instanceof MetaClass) {
    // FIXME: Gross and not quite right. See MRI's rb_frozen_class_p logic
    ((MetaClass) this).getAttached().testFrozen();
  }
  addMethodInternal(id, method);
}

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

protected final void defineMethods(RubyModule target, DynamicMethod invoker, boolean checkDups) {
  String oldName = this.name;
  target.addMethod(oldName, invoker);
  List<String> aliases = this.aliases;
  if ( aliases != null && isPublic() ) {
    for (int i = 0; i < aliases.size(); i++) {
      String name = aliases.get(i);
      if (checkDups && oldName.equals(name)) continue;
      target.addMethod(name, invoker);
    }
  }
}

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

public void addMethod(String id, DynamicMethod method) {
  testFrozen("class/module");
  if (methodLocation != this) {
    methodLocation.addMethod(id, method);
    return;
  }
  if (this instanceof MetaClass) {
    // FIXME: Gross and not quite right. See MRI's rb_frozen_class_p logic
    ((MetaClass) this).getAttached().testFrozen();
  }
  addMethodInternal(id, method);
}

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

@Override void install(final RubyModule proxy) {
    if ( Modifier.isPublic(field.getModifiers()) ) {
      proxy.addMethod(name, new InstanceFieldGetter(name, proxy, field));
    }
  }
}

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

@Override void install(final RubyModule proxy) {
    if ( Modifier.isPublic(field.getModifiers()) ) {
      proxy.addMethod(name, new InstanceFieldSetter(name, proxy, field));
    }
  }
}

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

void install(RubyModule proxy) {
    if (Modifier.isPublic(field.getModifiers())) {
      proxy.addMethod(name, new InstanceFieldSetter(name, proxy, field));
    }
  }
}

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

@Deprecated
public void defineMethod(String name, org.jruby.runtime.callback.Callback method) {
  Visibility visibility = name.equals("initialize") ?
      PRIVATE : PUBLIC;
  addMethod(name, new org.jruby.internal.runtime.methods.FullFunctionCallbackMethod(this, method, visibility));
}

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

@Deprecated
public void defineFastMethod(String name, org.jruby.runtime.callback.Callback method) {
  Visibility visibility = name.equals("initialize") ?
      PRIVATE : PUBLIC;
  addMethod(name, new org.jruby.internal.runtime.methods.SimpleCallbackMethod(this, method, visibility));
}

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

@Override void install(final RubyModule proxy) {
    if ( Modifier.isPublic(field.getModifiers()) ) {
      proxy.addMethod(name, new InstanceFieldGetter(name, proxy, field));
    }
  }
}

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

@Deprecated
public void defineMethod(String name, org.jruby.runtime.callback.Callback method) {
  Visibility visibility = name.equals("initialize") ?
      PRIVATE : PUBLIC;
  addMethod(name, new org.jruby.internal.runtime.methods.FullFunctionCallbackMethod(this, method, visibility));
}

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

@Override void install(final RubyModule proxy) {
    if ( Modifier.isPublic(field.getModifiers()) ) {
      proxy.addMethod(name, new InstanceFieldSetter(name, proxy, field));
    }
  }
}

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

void install(RubyModule proxy) {
    if (Modifier.isPublic(field.getModifiers())) {
      proxy.addMethod(name, new InstanceFieldGetter(name, proxy, field));
    }
  }
}

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

@Deprecated
public void defineFastMethod(String name, org.jruby.runtime.callback.Callback method) {
  Visibility visibility = name.equals("initialize") ?
      PRIVATE : PUBLIC;
  addMethod(name, new org.jruby.internal.runtime.methods.SimpleCallbackMethod(this, method, visibility));
}

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

public void addModuleFunction(String name, DynamicMethod method) {
  addMethod(name, method);
  getSingletonClass().addMethod(name, method);
}

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

public static void addInstanceMethod(RubyModule containingClass, String name, DynamicMethod method, Visibility visibility, ThreadContext context, Ruby runtime) {
  containingClass.addMethod(name, method);
  RubySymbol sym = runtime.fastNewSymbol(name);
  if (visibility == Visibility.MODULE_FUNCTION) {
    addModuleMethod(containingClass, name, method, context, sym);
  }
  callNormalMethodHook(containingClass, context, sym);
}

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

public static RubySymbol addInstanceMethod(RubyModule containingClass, RubySymbol symbol, DynamicMethod method, Visibility visibility, ThreadContext context, Ruby runtime) {
  containingClass.addMethod(symbol.idString(), method);
  if (!containingClass.isRefinement()) callNormalMethodHook(containingClass, context, symbol);
  if (visibility == Visibility.MODULE_FUNCTION) addModuleMethod(containingClass, method, context, symbol);
  return symbol;
}

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

public static RubySymbol addInstanceMethod(RubyModule containingClass, RubySymbol symbol, DynamicMethod method, Visibility visibility, ThreadContext context, Ruby runtime) {
  containingClass.addMethod(symbol.idString(), method);
  if (!containingClass.isRefinement()) callNormalMethodHook(containingClass, context, symbol);
  if (visibility == Visibility.MODULE_FUNCTION) addModuleMethod(containingClass, method, context, symbol);
  return symbol;
}

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

void install(RubyModule proxy) {
    if (hasLocalMethod()) {
      DynamicMethod method = new InstanceMethodInvoker(proxy, methods);
      proxy.addMethod(name, method);
      if (aliases != null && isPublic()) {
        proxy.defineAliases(aliases, this.name);
        aliases = null;
      }
    }
  }
}

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

void install(RubyModule proxy) {
    if (hasLocalMethod()) {
      DynamicMethod method = new InstanceMethodInvoker(proxy, methods);
      proxy.addMethod(name, method);
      if (aliases != null && isPublic()) {
        proxy.defineAliases(aliases, this.name);
        aliases = null;
      }
    }
  }
}

相关文章

微信公众号

最新文章

更多

RubyModule类方法