Package org.renjin.invoke.model

Examples of org.renjin.invoke.model.JvmMethod$Argument


    super(codeModel, invoker, primitive);
  }

  @Override
  protected void apply(JBlock parent) {
    JvmMethod overload = primitive.getOverloads().get(0);

    parser = new VarArgParser(this, parent, overload);

    convertArgs(parser.getArgumentProcessingBlock());

    // try S3 dispatch
    genericDispatchStrategy.beforePrimitiveCalled(parent, parser, this, call);

    // finally invoke the underlying function
    JInvocation invocation = classRef(overload.getDeclaringClass()).staticInvoke(overload.getName());
    for(JExpression argument : parser.getArguments()) {
      invocation.arg(argument);
    }

    CodeModelUtils.returnSexp(codeModel, parent,  overload, invocation);
View Full Code Here


public class JvmMethodTest {


  @Test(expected = EvalException.class)
  public void validation() throws NoSuchMethodException {
    JvmMethod m0 = new JvmMethod(getClass().getMethod("doStuff", Boolean.TYPE, Boolean.TYPE, Boolean.TYPE));
    JvmMethod m1 = new JvmMethod(getClass().getMethod("doStuff", Null.class));
    JvmMethod m2 = new JvmMethod(getClass().getMethod("doStuff", Integer.TYPE));
    JvmMethod m3 = new JvmMethod(getClass().getMethod("doStuff", AtomicVector.class));
    JvmMethod m4 = new JvmMethod(getClass().getMethod("doStuff"));

    // make sure that we get an error because doStuff(AtomicExp) hides doStuff(NullExp)

    JvmMethod.validate(asList(m0, m1, m2, m3, m4));
  }
View Full Code Here

TOP

Related Classes of org.renjin.invoke.model.JvmMethod$Argument

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.