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

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

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

JRubyMethod.frame介绍

暂无

代码示例

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

/**
 * Produce a CallConfiguration name that represents what must be prepared around calls to
 * the method with this annotation.
 */
public static CallConfiguration getCallConfigByAnno(JRubyMethod anno) {
  return getCallConfig(anno.frame());
}

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

/**
 * Produce a CallConfiguration name that represents what must be prepared around calls to
 * the method with this annotation.
 */
public static CallConfiguration getCallConfigByAnno(JRubyMethod anno) {
  return getCallConfig(anno.frame());
}

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

public static CallConfiguration getCallConfigByAnno(JRubyMethod anno) {
  return getCallConfig(anno.frame(), anno.scope());
}

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

public static CallConfiguration getCallConfigByAnno(JRubyMethod anno) {
  return getCallConfig(anno.frame(), anno.scope());
}

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

public static String getCallConfigNameByAnno(JRubyMethod anno) {
  return getCallConfigName(anno.frame(), anno.scope());
}

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

public static String getCallConfigNameByAnno(JRubyMethod anno) {
  return getCallConfigName(anno.frame(), anno.scope());
}

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

anno.optional(),
    true,
    anno.frame());
String implClass = anno.meta() ? "singletonClass" : "cls";

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

anno.optional(),
    true,
    anno.frame());
String implClass = anno.meta() ? "singletonClass" : "cls";

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

anno.optional(),
    false,
    anno.frame());
String implClass = anno.meta() ? "singletonClass" : "cls";

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

anno.optional(),
    true,
    anno.frame());
String implClass = anno.meta() ? "singletonClass" : "cls";

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

anno.optional(),
    true,
    anno.frame());
String implClass = anno.meta() ? "singletonClass" : "cls";

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

anno.optional(),
    false,
    anno.frame());
String implClass = anno.meta() ? "singletonClass" : "cls";

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

anno.optional(),
    false,
    anno.frame());
String implClass = anno.meta() ? "singletonClass" : "cls";

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

@Override
public DynamicMethod getAnnotatedMethod(RubyModule implementationClass, List<JavaMethodDescriptor> descs) {
  JavaMethodDescriptor desc1 = descs.get(0);
  
  if (desc1.anno.frame()) {
    // super logic does not work yet because we need to take impl class
    // and method name from the DynamicMethod#call call, so punt to
    // generated class for now
    return super.getAnnotatedMethod(implementationClass, descs);
  }
  if (!Modifier.isPublic(desc1.getDeclaringClass().getModifiers())) {
    LOG.warn("warning: binding non-public class {}; reflected handles won't work", desc1.declaringClassName);
  }
  DescriptorInfo info = new DescriptorInfo(descs);
  MethodHandle[] targets = buildAnnotatedMethodHandles(implementationClass.getRuntime(), descs, implementationClass);
  
  return new HandleMethod(implementationClass, desc1.anno.visibility(), CallConfiguration.getCallConfig(info.isFrame(), info.isScope()), targets, null);
}

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

@Override
public DynamicMethod getAnnotatedMethod(RubyModule implementationClass, List<JavaMethodDescriptor> descs) {
  JavaMethodDescriptor desc1 = descs.get(0);
  
  if (desc1.anno.frame()) {
    // super logic does not work yet because we need to take impl class
    // and method name from the DynamicMethod#call call, so punt to
    // generated class for now
    return super.getAnnotatedMethod(implementationClass, descs);
  }
  if (!Modifier.isPublic(desc1.getDeclaringClass().getModifiers())) {
    LOG.warn("warning: binding non-public class {}; reflected handles won't work", desc1.declaringClassName);
  }
  DescriptorInfo info = new DescriptorInfo(descs);
  MethodHandle[] targets = buildAnnotatedMethodHandles(implementationClass.getRuntime(), descs, implementationClass);
  
  return new HandleMethod(implementationClass, desc1.anno.visibility(), CallConfiguration.getCallConfig(info.isFrame(), info.isScope()), targets, null);
}

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

Callable<MethodHandle> target = adaptHandle(method, runtime, desc.actualRequired, desc.required, desc.optional, desc.rest, rubyName, desc.declaringClass, desc.isStatic, desc.hasContext, desc.hasBlock, desc.anno.frame(), implementationClass);
int specificArity = -1;
if (desc.required < 4 && desc.optional == 0 && !desc.rest) {

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

Callable<MethodHandle> target = adaptHandle(method, runtime, desc.actualRequired, desc.required, desc.optional, desc.rest, rubyName, desc.declaringClass, desc.isStatic, desc.hasContext, desc.hasBlock, desc.anno.frame(), implementationClass);
int specificArity = -1;
if (desc.required < 4 && desc.optional == 0 && !desc.rest) {

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

String generatedClassName = CodegenUtils.getAnnotatedBindingClassName(javaMethodName, desc1.declaringClassName, desc1.isStatic, desc1.actualRequired, desc1.optional, descs.size() > 1, desc1.anno.frame());
if (RubyInstanceConfig.FULL_TRACE_ENABLED) {

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

public void adaptHandle(ExecutableElementDescriptor executableElementDescriptor, int implClass) {
  ExecutableElementDescriptor desc = executableElementDescriptor;
  // adapt handle
  mv.aload(RUNTIME);
  mv.ldc(calculateActualRequired(desc.method, desc.method.getParameters().size(), desc.optional, desc.rest, desc.isStatic, desc.hasContext, desc.hasBlock));
  mv.ldc(desc.required);
  mv.ldc(desc.optional);
  mv.ldc(desc.rest);
  mv.ldc(desc.rubyName);
  mv.ldc(Type.getObjectType(desc.declaringClassPath));
  mv.ldc(desc.isStatic);
  mv.ldc(desc.hasContext);
  mv.ldc(desc.hasBlock);
  mv.ldc(desc.anno.frame());
  mv.aload(implClass);
  mv.invokestatic("org/jruby/internal/runtime/methods/InvokeDynamicMethodFactory", "adaptHandle", Method.getMethod("java.util.concurrent.Callable adaptHandle(java.lang.invoke.MethodHandle, org.jruby.Ruby, int, int, int, boolean, java.lang.String, java.lang.Class, boolean, boolean, boolean, boolean, org.jruby.RubyModule)").getDescriptor());
}

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

public void adaptHandle(ExecutableElementDescriptor executableElementDescriptor, int implClass) {
  ExecutableElementDescriptor desc = executableElementDescriptor;
  // adapt handle
  mv.aload(RUNTIME);
  mv.ldc(calculateActualRequired(desc.method, desc.method.getParameters().size(), desc.optional, desc.rest, desc.isStatic, desc.hasContext, desc.hasBlock));
  mv.ldc(desc.required);
  mv.ldc(desc.optional);
  mv.ldc(desc.rest);
  mv.ldc(desc.rubyName);
  mv.ldc(Type.getObjectType(desc.declaringClassPath));
  mv.ldc(desc.isStatic);
  mv.ldc(desc.hasContext);
  mv.ldc(desc.hasBlock);
  mv.ldc(desc.anno.frame());
  mv.aload(implClass);
  mv.invokestatic("org/jruby/internal/runtime/methods/InvokeDynamicMethodFactory", "adaptHandle", Method.getMethod("java.util.concurrent.Callable adaptHandle(java.lang.invoke.MethodHandle, org.jruby.Ruby, int, int, int, boolean, java.lang.String, java.lang.Class, boolean, boolean, boolean, boolean, org.jruby.RubyModule)").getDescriptor());
}

相关文章