public ZMethodInfo FindDeclaredZMethod(ZCallDesc zpdesc) { foreach (var item in this.ZMethods) { if (item.HasZProcDesc(zpdesc)) { return(item); } } return(null); }
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); }
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); }
//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); }