public void Structure() { var ccc = new CompoundConditionCoalescer(proc); ccc.Transform(); var reg = Execute(); //$REVIEW: yeecch. Should return the statements, and // caller decides what to do with'em. Probably // return an abstract Procedure, rather than overloading // the IR procedure. proc.Body.AddRange(reg.Statements); }
private void RunTest(string sourceFilename, string outFilename) { using (FileUnitTester fut = new FileUnitTester(outFilename)) { RewriteProgramMsdos(sourceFilename, Address.SegPtr(0xC00, 0)); foreach (Procedure proc in program.Procedures.Values) { proc.Write(false, fut.TextWriter); fut.TextWriter.WriteLine(); CompoundConditionCoalescer ccc = new CompoundConditionCoalescer(proc); ccc.Transform(); proc.Write(false, fut.TextWriter); fut.TextWriter.WriteLine("================"); } fut.AssertFilesEqual(); } }
private void CoalesceCompoundConditions() { var ccc = new CompoundConditionCoalescer(proc); ccc.Transform(); }