public void CompileModule(ModuleDefinition md) { ab.Comment("Module: " + md.FullyQualifiedName); ab.Line(); foreach (var i in md.Types) { CompileType(i); } }
public static void AutoCompile(Instruction i, AsmBuilder ab, List <string> Offsets, MethodDefinition md) { ab.Comment(i.ToString().Replace("\r\n", "\n").Replace("\n", "")); bool Found = false; if (Offsets.Contains(Utils.SafeName(md.FullName) + i.ToString().Split(':')[0])) { ab.Label(Utils.SafeName(md.FullName) + i.ToString().Split(':')[0]); } foreach (var z in Opcodes) { if (z.OP.Contains(i.OpCode)) { z.Compile(i, ab, Offsets, md); Found = true; break; } } if (!Found) { Console.WriteLine("Missing opcode: " + i.ToString()); } ab.Line(); }