public override void Codegen(CIntermediateLang cil, IndentingStringBuilder sb) { Lhs.Codegen(cil, sb); var lhsTmp = cil.LastUsedVar; Rhs.Codegen(cil, sb); var rhsTmp = cil.LastUsedVar; var tmp = NameGenerator.NewTemp(); sb.LineDecl(SourceInfo); sb.AppendLine(string.Format("{0} {1} = {2} {3} {4};", TryInferType(cil), tmp, lhsTmp, OpString(), rhsTmp)); cil.LastUsedVar = tmp; }