Esempio n. 1
0
 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);
 }
Esempio n. 2
0
        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 += ")";
        }