Esempio n. 1
0
 public ZMethodInfo FindDeclaredZMethod(ZCallDesc zpdesc)
 {
     foreach (var item in this.ZMethods)
     {
         if (item.HasZProcDesc(zpdesc))
         {
             return(item);
         }
     }
     return(null);
 }
Esempio n. 2
0
 public virtual bool HasZProcDesc(ZCallDesc procDesc)
 {
     foreach (ZMethodDesc item in ZDesces)
     {
         if (procDesc.Compare(item))
         {
             return(true);
         }
         //if (item.Eq(procDesc))
         //    return true;
     }
     return(false);
 }
Esempio n. 3
0
        public ZMethodInfo SearchZMethod(ZCallDesc zpdesc)
        {
            ZClassType temp = this;

            while (temp != null)
            {
                ZMethodInfo zmethod = temp.FindDeclaredZMethod(zpdesc);
                if (zmethod != null)
                {
                    return(zmethod);
                }
                else
                {
                    temp = temp.BaseZType;
                }
            }
            return(null);
        }
Esempio n. 4
0
        //public ZMethodArg GetSubjectArg()
        //{
        //    if (!HasSubject()) return null;
        //    return (Parts[0] as ZMethodArg);
        //}

        public ZCallDesc CreateTail()
        {
            ZCallDesc     tailDesc = new ZCallDesc();
            List <object> list     = this.Parts;

            for (int i = 1; i < list.Count; i++)
            {
                object item = list[i];
                if (item is string)
                {
                    tailDesc.Add(item as string);
                }
                else if (item is ZCallArg)
                {
                    tailDesc.Add(item as ZCallArg);
                }
            }
            return(tailDesc);
        }