// Get the static 'make' method.
Method m = c.getMethod("make", new Class[]{});
return (RTValue)m.invoke(null, new Object[]{});
}
FunctionGroupInfo fgi = module.getFunctionGroupInfo(mf);
if (fgi == null) {
throw new NullPointerException ("Invalid FunctionGroupInfo in CALClassLoader.getStartPointInstance() for " + mf.getQualifiedName() + ".");
}
if (mf.getArity() == 0) {
// Get the static 'make' method.
if (fgi.getNCAFs() + fgi.getNZeroArityFunctions() <= 1) {
Method m = c.getMethod("make", new Class[]{RTExecutionContext.class});
return (RTValue)m.invoke(
null,
new Object[]{executionContext});
} else {
Method m = c.getMethod("make", new Class[]{int.class, RTExecutionContext.class});
int functionIndex = fgi.getFunctionIndex(mf.getName());
return (RTValue)m.invoke(
null,
new Object[]{Integer.valueOf(functionIndex), executionContext});
}
}