private void Verify(string outputFileName) { using (FileUnitTester fut = new FileUnitTester(outputFileName)) { store.Write(fut.TextWriter); fut.AssertFilesEqual(); } }
private void Verify(string outputFilename) { store.CopyClassDataTypesToTypeVariables(); using (FileUnitTester fut = new FileUnitTester(outputFilename)) { store.Write(fut.TextWriter); fut.AssertFilesEqual(); } }
private void WriteTestResults(Program program, TextWriter writer) { foreach (Procedure proc in program.Procedures.Values) { proc.Write(false, writer); writer.WriteLine(); } store.Write(writer); }
private void DumpStore(int iteration, System.IO.TextWriter writer) { if (writer == null) { return; } writer.WriteLine("// Store dump: iteration {0} ///////////////////////"); store.Write(writer); writer.WriteLine(); writer.Flush(); }
protected override void RunTest(Program program, string outputFileName) { var listener = new FakeDecompilerEventListener(); ExpressionNormalizer aen = new ExpressionNormalizer(program.Architecture.PointerType); aen.Transform(program); EquivalenceClassBuilder eq = new EquivalenceClassBuilder(factory, store, listener); eq.Build(program); #if OLD DataTypeBuilder dtb = new DataTypeBuilder(factory, store, program.Architecture); TraitCollector coll = new TraitCollector(factory, store, dtb, program); coll.CollectProgramTraits(program); sktore.BuildEquivalenceClassDataTypes(factory); #else TypeCollector coll = new TypeCollector(factory, store, program, listener); coll.CollectTypes(); store.BuildEquivalenceClassDataTypes(factory); #endif TypeVariableReplacer tvr = new TypeVariableReplacer(store); tvr.ReplaceTypeVariables(); Exception theEx = null; try { TypeTransformer trans = new TypeTransformer(factory, store, program); trans.Transform(); } catch (Exception ex) { theEx = ex; } using (FileUnitTester fut = new FileUnitTester(outputFileName)) { if (theEx != null) { fut.TextWriter.WriteLine(theEx.Message); fut.TextWriter.WriteLine(theEx.StackTrace); } foreach (Procedure proc in program.Procedures.Values) { proc.Write(false, fut.TextWriter); fut.TextWriter.WriteLine(); } store.Write(fut.TextWriter); fut.AssertFilesEqual(); } }
private void Verify(Program prog, string outputFilename) { using (FileUnitTester fut = new FileUnitTester(outputFilename)) { if (prog != null) { foreach (Procedure proc in prog.Procedures.Values) { proc.Write(false, fut.TextWriter); fut.TextWriter.WriteLine(); } } store.Write(fut.TextWriter); fut.AssertFilesEqual(); } }
private void Verify(Program program, string outputFile) { store.CopyClassDataTypesToTypeVariables(); using (FileUnitTester fut = new FileUnitTester(outputFile)) { if (program != null) { foreach (Procedure proc in program.Procedures.Values) { proc.Write(false, fut.TextWriter); fut.TextWriter.WriteLine(); } } store.Write(false, fut.TextWriter); fut.AssertFilesEqual(); } }