public AbsynAssignment EmitAssign(Expression dst, Expression src) { var ass = new AbsynAssignment(dst, src); stms.Add(ass); return(ass); }
public void VisitAssignment(AbsynAssignment a) { writer.Indent(); a.Dst.Accept(this); writer.Write(" = "); a.Src.Accept(this); writer.Terminate(";"); }
public void StripDeclarations() { emitter.StripDeclarations = true; emitter.EmitStatement(m.Declare(m.Local32("dwLoc14"), null)); emitter.EmitStatement(m.Declare(m.Local32("dwLoc18"), m.Word32(1))); Assert.AreEqual(1, stms.Count); AbsynAssignment ass = (AbsynAssignment)stms[0]; Assert.AreEqual("dwLoc18 = 1<32>;", ass.ToString()); }
public AbsynStatement VisitAssignment(AbsynAssignment ass) { //$TODO: this only makes sense for C/C++; if the output // language is different, don't do this. if (ass.Src is BinaryExpression bin && cmp.Equals(ass.Dst, bin.Left)) { if (compoundableOperators.Contains(bin.Operator)) { return(new AbsynCompoundAssignment(ass.Dst, bin)); } } return(ass); }
private void MaybeWriteAssignment(AbsynAssignment ass) { if (ass != null) { if (ass is AbsynCompoundAssignment cass) { WriteCompoundAssignment(cass); } else { WriteAssignment(ass); } } }
public void VisitAssignment(AbsynAssignment ass) { stms.Add(ass); }
public bool VisitAssignment(AbsynAssignment ass) { return(false); }
private void WriteAssignment(AbsynAssignment a) { a.Dst.Accept(this); writer.Write(" = "); a.Src.Accept(this); }
public void VisitAssignment(AbsynAssignment a) { writer.Indent(); WriteAssignment(a); writer.Terminate(";"); }
public AbsynStatement VisitAssignment(AbsynAssignment ass) { return(ass); }
public void VisitAssignment(AbsynAssignment a) { InnerFormatter.Indent(); WriteAssignment(a); InnerFormatter.Terminate(";"); }
public void Assign(Expression dst, Expression src) { var ass = new AbsynAssignment(dst, src); stmts.Add(ass); }