Пример #1
0
        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;
                }
            }
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
 public MemberSpec(string name, MemberSignature sig)
 {
     _name = name;
     _sig  = sig;
 }