org.jruby.anno.JRubyMethod.rest()方法的使用及代码示例

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

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

JRubyMethod.rest介绍

暂无

代码示例

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

public static int getArityValue(JRubyMethod anno, int actualRequired) {
  if (anno.optional() > 0 || anno.rest()) {
    return -(actualRequired + 1);
  }
  return actualRequired;
}

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

public static int getArityValue(JRubyMethod anno, int actualRequired) {
  if (anno.optional() > 0 || anno.rest()) {
    return -(actualRequired + 1);
  }
  return actualRequired;
}

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

public static int getArityValue(JRubyMethod anno, int actualRequired) {
  if (anno.optional() > 0 || anno.rest()) {
    return -(actualRequired + 1);
  }
  return actualRequired;
}

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

public static int getArityValue(JRubyMethod anno, int actualRequired) {
  if (anno.optional() > 0 || anno.rest()) {
    return -(actualRequired + 1);
  }
  return actualRequired;
}

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

public static Arity fromAnnotation(JRubyMethod anno, int required) {
  return createArity(required, anno.optional(), anno.rest());
}

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

public static Arity fromAnnotation(JRubyMethod anno, int required) {
  return createArity(required, anno.optional(), anno.rest());
}

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

public static Arity fromAnnotation(JRubyMethod anno, int required) {
  return createArity(required, anno.optional(), anno.rest());
}

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

public static Arity fromAnnotation(JRubyMethod anno, int required) {
  return createArity(required, anno.optional(), anno.rest());
}

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

public static Arity fromAnnotation(JRubyMethod anno, Class[] parameterTypes, boolean isStatic) {
  int required;
  if (anno.optional() == 0 && !anno.rest() && anno.required() == 0) {
    // try count specific args to determine required
    int i = parameterTypes.length;
    if (isStatic) i--;
    if (parameterTypes.length > 0) {
      if (parameterTypes[0] == ThreadContext.class) i--;
      if (parameterTypes[parameterTypes.length - 1] == Block.class) i--;
    }
    required = i;
  } else {
    required = anno.required();
  }
  
  return createArity(required, anno.optional(), anno.rest());
}

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

public static long getEncodedSignature(JRubyMethod anno) {
  return encodeSignature(anno.required(), anno.optional(), 0, 0, 0, anno.rest(), false);
}

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

public static Arity fromAnnotation(JRubyMethod anno, Class[] parameterTypes, boolean isStatic) {
  int required;
  if (anno.optional() == 0 && !anno.rest() && anno.required() == 0) {
    // try count specific args to determine required
    int i = parameterTypes.length;
    if (isStatic) i--;
    if (parameterTypes.length > 0) {
      if (parameterTypes[0] == ThreadContext.class) i--;
      if (parameterTypes[parameterTypes.length - 1] == Block.class) i--;
    }
    required = i;
  } else {
    required = anno.required();
  }
  
  return createArity(required, anno.optional(), anno.rest());
}

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

public static Arity fromAnnotation(JRubyMethod anno, Class[] parameterTypes, boolean isStatic) {
  int required;
  if (anno.optional() == 0 && !anno.rest() && anno.required() == 0) {
    // try count specific args to determine required
    int i = parameterTypes.length;
    if (isStatic) i--;
    if (parameterTypes.length > 0) {
      if (parameterTypes[0] == ThreadContext.class) i--;
      if (parameterTypes[parameterTypes.length - 1] == Block.class) i--;
    }
    required = i;
  } else {
    required = anno.required();
  }
  
  return createArity(required, anno.optional(), anno.rest());
}

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

public static Arity fromAnnotation(JRubyMethod anno) {
  return createArity(anno.required(), anno.optional(), anno.rest());
}

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

public static Arity fromAnnotation(JRubyMethod anno, Class[] parameterTypes, boolean isStatic) {
  int required;
  if (anno.optional() == 0 && !anno.rest() && anno.required() == 0) {
    // try count specific args to determine required
    int i = parameterTypes.length;
    if (isStatic) i--;
    if (parameterTypes.length > 0) {
      if (parameterTypes[0] == ThreadContext.class) i--;
      if (parameterTypes[parameterTypes.length - 1] == Block.class) i--;
    }
    required = i;
  } else {
    required = anno.required();
  }
  
  return createArity(required, anno.optional(), anno.rest());
}

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

public static Arity fromAnnotation(JRubyMethod anno) {
  return createArity(anno.required(), anno.optional(), anno.rest());
}

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

public static long getEncodedSignature(JRubyMethod anno) {
  return encodeSignature(anno.required(), anno.optional(), 0, 0, 0, anno.rest(), false);
}

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

public static Arity fromAnnotation(JRubyMethod anno) {
  return createArity(anno.required(), anno.optional(), anno.rest());
}

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

public static Arity fromAnnotation(JRubyMethod anno) {
  return createArity(anno.required(), anno.optional(), anno.rest());
}

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

public ReflectedJavaMethod(
    RubyModule implementationClass, Method method, JRubyMethod annotation) {
  super(implementationClass, annotation.visibility());
  
  this.method = method;
  
  Class<?>[] params = method.getParameterTypes();
  this.needsBlock = params.length > 0 && params[params.length - 1] == Block.class;
  this.isStatic = Modifier.isStatic(method.getModifiers());
  
  Arity arity = Arity.fromAnnotation(annotation, params, this.isStatic);
  setArity(arity);
  this.required = arity.getValue() >= 0 ? arity.getValue() : Math.abs(arity.getValue())-1;
  this.optional = annotation.optional();
  this.rest = annotation.rest();
  
  this.needsThreadContext = params.length > 0 && params[0] == ThreadContext.class;
  this.argsAsIs = ! isStatic && optional == 0 && !rest && !needsBlock && !needsThreadContext;
  
  if (rest) {
    max = -1;
  } else {
    max = required + optional;
  }
}

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

public ReflectedJavaMethod(
    RubyModule implementationClass, Method method, JRubyMethod annotation) {
  super(implementationClass, annotation.visibility());
  
  this.method = method;
  
  Class<?>[] params = method.getParameterTypes();
  this.needsBlock = params.length > 0 && params[params.length - 1] == Block.class;
  this.isStatic = Modifier.isStatic(method.getModifiers());
  
  Arity arity = Arity.fromAnnotation(annotation, params, this.isStatic);
  setArity(arity);
  this.required = arity.getValue() >= 0 ? arity.getValue() : Math.abs(arity.getValue())-1;
  this.optional = annotation.optional();
  this.rest = annotation.rest();
  
  this.needsThreadContext = params.length > 0 && params[0] == ThreadContext.class;
  this.argsAsIs = ! isStatic && optional == 0 && !rest && !needsBlock && !needsThreadContext;
  
  if (rest) {
    max = -1;
  } else {
    max = required + optional;
  }
}

相关文章