int executeType(string target)
{
if (target.IndexOf("::") < 0)
{
target += "::Main.main";
}
else if (target.IndexOf('.') < 0)
{
target += ".main";
}
try
{
int dot = target.IndexOf('.');
Type type = Type.find(target.Substring(0, dot), true);
Method main = type.method(target.Substring(dot + 1), true);
return(callMain(type, main));
}
catch (Exception e)
{
if (e is Err.Val)
{
((Err.Val)e).err().trace();
}
else
{
Err.dumpStack(e);
}
return(-1);
}
}