public InvokeStm(AAsyncInvokeStm node) { Node = node; if (node.GetName() is AAmbiguousNameLvalue) { AAmbiguousNameLvalue ambigious = (AAmbiguousNameLvalue)node.GetName(); AAName name = (AAName)ambigious.GetAmbiguous(); Name = (TIdentifier)name.GetIdentifier()[name.GetIdentifier().Count - 1]; name.GetIdentifier().RemoveAt(name.GetIdentifier().Count - 1); if (name.GetIdentifier().Count == 0) Base = null; else Base = name; } else { AStructLvalue lvalue = (AStructLvalue)node.GetName(); Name = lvalue.GetName(); Base = lvalue.GetReceiver(); } }
public override void CaseAAsyncInvokeStm(AAsyncInvokeStm node) { InAAsyncInvokeStm(node); { Object[] temp = new Object[node.GetArgs().Count]; node.GetArgs().CopyTo(temp, 0); for (int i = temp.Length - 1; i >= 0; i--) { ((PExp)temp[i]).Apply(this); } } if (node.GetName() != null) { node.GetName().Apply(this); } if (node.GetToken() != null) { node.GetToken().Apply(this); } OutAAsyncInvokeStm(node); }