public virtual object make(List args)
{
Method make = method("make", false);
if (make != null && make.isPublic())
{
int numArgs = args == null ? 0 : args.sz();
List p = make.@params();
if ((numArgs == p.sz()) ||
(numArgs < p.sz() && ((Param)p.get(numArgs)).hasDefault()))
{
return(make.m_func.callList(args));
}
}
Slot defVal = slot("defVal", false);
if (defVal is Field)
{
return(((Field)defVal).get(null));
}
if (defVal is Method)
{
return(((Method)defVal).m_func.callList(null));
}
throw Err.make("Type missing 'make' or 'defVal' slots: " + this).val;
}