コード例 #1
0
        public InvokeStm(ASyncInvokeExp node)
        {
            Node = node;
            if (node.GetName() is AAmbiguousNameLvalue)
            {
                AAmbiguousNameLvalue ambigious = (AAmbiguousNameLvalue) node.GetName();
                AAName name = (AAName)ambigious.GetAmbiguous();
                /*List<List<Node>>[] targets;
                List<ANamespaceDecl> namespaces = new List<ANamespaceDecl>();
                /*bool b;
                TypeLinking.GetTargets(name, out targets, namespaces, data, null, out b);
                for (int i = 0; i < 3; i++)
                {

                }*/
                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();
            }
        }
コード例 #2
0
 internal Args_Cast(ASyncInvokeExp obj)
 {
     this.obj = obj;
 }
コード例 #3
0
 public virtual void OutASyncInvokeExp(ASyncInvokeExp node)
 {
     DefaultOut(node);
 }
コード例 #4
0
 public virtual void InASyncInvokeExp(ASyncInvokeExp node)
 {
     DefaultIn(node);
 }
コード例 #5
0
 public override void CaseASyncInvokeExp(ASyncInvokeExp node)
 {
     InASyncInvokeExp(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);
     }
     OutASyncInvokeExp(node);
 }
コード例 #6
0
 public virtual void CaseASyncInvokeExp(ASyncInvokeExp node)
 {
     DefaultCase(node);
 }
コード例 #7
0
 public override void CaseASyncInvokeExp(ASyncInvokeExp node)
 {
     IsConst = false;
 }
コード例 #8
0
 public override void OutASyncInvokeExp(ASyncInvokeExp node)
 {
     MakeInvoke(new InvokeStm(node));
     base.OutASyncInvokeExp(node);
 }
コード例 #9
0
 ArrayList New402()
 {
     ArrayList nodeList = new ArrayList();
     ArrayList nodeArrayList7 = (ArrayList) Pop();
     ArrayList nodeArrayList6 = (ArrayList) Pop();
     ArrayList nodeArrayList5 = (ArrayList) Pop();
     ArrayList nodeArrayList4 = (ArrayList) Pop();
     ArrayList nodeArrayList3 = (ArrayList) Pop();
     ArrayList nodeArrayList2 = (ArrayList) Pop();
     ArrayList nodeArrayList1 = (ArrayList) Pop();
     TypedList listNode5 = new TypedList();
     TSyncInvoke tsyncinvokeNode2 = (TSyncInvoke)nodeArrayList1[0];
     PLvalue plvalueNode3 = (PLvalue)nodeArrayList3[0];
     TypedList listNode4 = (TypedList)nodeArrayList6[0];
     if ( listNode4 != null )
     {
     listNode5.AddAll(listNode4);
     }
     ASyncInvokeExp pexpNode1 = new ASyncInvokeExp (
       tsyncinvokeNode2,
       plvalueNode3,
       listNode5
     );
     nodeList.Add(pexpNode1);
     return nodeList;
 }