public override void CaseANonstaticInvokeExp(ANonstaticInvokeExp node) { if (node.GetDotType() is AArrowDotType) { TArrow arrow = ((AArrowDotType)node.GetDotType()).GetToken(); node.SetReceiver(new ALvalueExp(new APointerLvalue(new TStar("*", arrow.Line, arrow.Pos), node.GetReceiver()))); node.SetDotType(new ADotDotType(new TDot(".", arrow.Line, arrow.Pos))); } base.CaseANonstaticInvokeExp(node); }
public override void CaseANonstaticInvokeExp(ANonstaticInvokeExp node) { node.GetReceiver().Apply(this); node.GetDotType().Apply(this); Value += node.GetName().Text + "("; bool first = true; foreach (PExp arg in node.GetArgs()) { if (!first) { Value += ", "; } else { first = false; } arg.Apply(this); } Value += ")"; }