Boo.Lang.Compiler.TypeSystem.ExternalType.Resolve C# (CSharp) Method

Resolve() public method

public Resolve ( List targetList, string name, EntityType flags ) : bool
targetList List
name string
flags EntityType
return bool
        public virtual bool Resolve(List targetList, string name, EntityType flags)
        {
            bool found = false;
            foreach (IEntity member in GetMembers())
            {
                if (!NameResolutionService.IsFlagSet(flags, member.EntityType)) continue;

                if (member.Name == name)
                {
                    targetList.AddUnique(member);
                    found = true;
                }
            }

            if (IsInterface)
            {
                if (_typeSystemServices.ObjectType.Resolve(targetList, name, flags))
                {
                    found = true;
                }

                foreach (IType baseInterface in GetInterfaces())
                {
                    found |= baseInterface.Resolve(targetList, name, flags);
                }
            }
            else
            {
                if (!found || TypeSystemServices.ContainsMethodsOnly(targetList))
                {
                    IType baseType = BaseType;
                    if (null != baseType)
                    {
                        found |= baseType.Resolve(targetList, name, flags);
                    }
                }
            }
            return found;
        }