static int Main(string[] args) { string testname; string typename; TypeMapEntry[] types = typemap; TestMapEntry[] tests = testmap; filename = "test.il"; foreach (string a in args) { int len = a.Length; if (len >= 2 && (a[0] == '/' || a[0] == '-')) { switch (Char.ToUpper(a[1])) { case 'I': testname = a.Substring(3); if (testname != "*") { tests = new TestMapEntry[1]; try { tests[0] = LookupTest(testname); } catch (NotFound) { Console.WriteLine("No such test: " + testname); return(1); } } break; case 'T': typename = a.Substring(3); if (typename != "*") { types = new TypeMapEntry[1]; try { types[0] = LookupType(typename); } catch (NotFound) { Console.WriteLine("No such type: " + typename); return(1); } } break; case 'F': filename = a.Substring(3); break; case 'X': System.AppDomain.CurrentDomain.ExecuteAssembly("ilasm"); break; case '?': Usage(); return(0); } } } FileStream fs = new FileStream(filename, FileMode.Create, FileAccess.Write, FileShare.None); outstream = new StreamWriter(fs); Console.Write("Generating IL to " + filename + "..."); EmitHeader(); foreach (TestMapEntry test in tests) { EmitPrintString("********************************* " + test.description + " *************************\\n"); foreach (TypeMapEntry type in types) { EmitPrintString(" on type " + type.ty + ": "); test.emitter(type); } } EmitFooter(); outstream.Close(); Console.Write("done.\n"); return(0); }
static int Main(string[] args) { string testname; string typename; TypeMapEntry[] types = typemap; TestMapEntry[] tests = testmap; filename = "test.il"; foreach (string a in args) { int len = a.Length; if (len >= 2 && (a[0] == '/' || a[0] == '-')) { switch (Char.ToUpper(a[1])) { case 'I': testname = a.Substring(3); if (testname != "*") { tests = new TestMapEntry[1]; try { tests[0] = LookupTest(testname); } catch (NotFound) { Console.WriteLine("No such test: " + testname); return 1; } } break; case 'T': typename = a.Substring(3); if (typename != "*") { types = new TypeMapEntry[1]; try { types[0] = LookupType(typename); } catch (NotFound) { Console.WriteLine("No such type: " + typename); return 1; } } break; case 'F': filename = a.Substring(3); break; case 'X': System.AppDomain.CurrentDomain.ExecuteAssembly("ilasm"); break; case '?': Usage(); return 0; } } } FileStream fs = new FileStream(filename, FileMode.Create, FileAccess.Write, FileShare.None); outstream = new StreamWriter(fs); Console.Write("Generating IL to " + filename + "..."); EmitHeader(); foreach (TestMapEntry test in tests) { EmitPrintString("********************************* " + test.description + " *************************\\n"); foreach (TypeMapEntry type in types) { EmitPrintString(" on type " + type.ty + ": "); test.emitter(type); } } EmitFooter(); outstream.Close(); Console.Write("done.\n"); return 0; }