public void ResolveMethod(string name, ref MethodSpec mtd, int par = 0) { bool hastemplate = false; MemberSignature msig = new MemberSignature(name, par, Location.Null); for (int i = 0; i < KnownMethods.Count; i++) { if (KnownMethods[i].MatchSignature(msig, name, par, ref hastemplate)) { mtd = KnownMethods[i]; return; } } }
public bool MatchSignature(MemberSignature msig, string name, int param, ref bool hastemplate) { hastemplate = false; if (msig == Signature) { return(true); } else if (Name == name) { if (param == 0) { return(true); } else { return(param == Parameters.Count); } } else { return(false); } }
public MemberSpec(string name, MemberSignature sig) { _name = name; _sig = sig; }