internal static IClass CompileClass(string clsname, string[] varnames, string[] methods, string[] clsmethods)
{
Machine machine = new Machine();
IClass cls = machine.CreateClass(clsname);
if (varnames != null)
{
foreach (string varname in varnames)
{
cls.DefineInstanceVariable(varname);
}
}
if (methods != null)
{
foreach (string method in methods)
{
Parser compiler = new Parser(method);
cls.DefineInstanceMethod(compiler.CompileInstanceMethod(cls));
}
}
if (clsmethods != null)
{
foreach (string method in clsmethods)
{
Parser compiler = new Parser(method);
cls.DefineClassMethod(compiler.CompileClassMethod(cls));
}
}
return cls;
}