public void PP_CompoundAddition() { var id = new Identifier("id", PrimitiveType.Word32, null); var pp = new ProcedurePrettifier(null); var m = new AbsynCodeEmitter(new List<AbsynStatement>()); Assert.AreEqual("id += 2<32>;", m.Assign(id, m.IAdd(id, 2)).Accept(pp).ToString()); }
private void RunTest(string sExp, Action<AbsynCodeEmitter> gen) { var proc = new Procedure(new FakeArchitecture(new ServiceContainer()), "test", Address.Ptr32(0x00123400), new Frame(PrimitiveType.Ptr32)); proc.Body = new List<AbsynStatement>(); var m = new AbsynCodeEmitter(proc.Body); gen(m); var trrm = new ProcedurePrettifier(proc); trrm.Transform(); var sw = new StringWriter(); GenCode(proc, sw); if (sExp != sw.ToString()) { Debug.Print("{0}", sw); Assert.AreEqual(sExp, sw.ToString()); } }