public void VisitCallInstruction(CallInstruction ci)
{
writer.Indent();
writer.WriteKeyword("call");
writer.Write(" ");
ci.Callee.Accept(this);
writer.Write(" ({0})", ci.CallSite);
writer.Terminate();
if (ci.Uses.Count > 0)
{
writer.Indentation += writer.TabSize;
writer.Indent();
writer.Write("uses: ");
writer.Write(string.Join(",", ci.Uses.OrderBy(u => ((Identifier)(u.Expression)).Name).Select(u => u.Expression)));
writer.Terminate();
writer.Indentation -= writer.TabSize;
}
if (ci.Definitions.Count > 0)
{
writer.Indentation += writer.TabSize;
writer.Indent();
writer.Write("defs: ");
writer.Write(string.Join(",", ci.Definitions.OrderBy(d => ((Identifier)d.Expression).Name).Select(d => d.Expression)));
writer.Terminate();
writer.Indentation -= writer.TabSize;
}
}