Boo.Lang.Compiler.TypeSystem.NameResolutionService.ResolveQualifiedName C# (CSharp) Method

ResolveQualifiedName() public method

public ResolveQualifiedName ( List targetList, string name, EntityType flags ) : bool
targetList List
name string
flags EntityType
return bool
        public bool ResolveQualifiedName(List targetList, string name, EntityType flags)
        {
            if (!IsQualifiedName(name))
            {
                return Resolve(targetList, name, flags);
            }

            string[] parts = name.Split(DotArray);
            string topLevel = parts[0];

            _innerBuffer.Clear();
            if (Resolve(_innerBuffer, topLevel) && 1 == _innerBuffer.Count)
            {
                INamespace ns = _innerBuffer[0] as INamespace;
                if (null != ns)
                {
                    int last = parts.Length-1;
                    for (int i=1; i<last; ++i)
                    {
                        _innerBuffer.Clear();
                        if (!ns.Resolve(_innerBuffer, parts[i], EntityType.Any) ||
                            1 != _innerBuffer.Count)
                        {
                            return false;
                        }
                        ns = _innerBuffer[0] as INamespace;
                        if (null == ns)
                        {
                            return false;
                        }
                    }
                    return ns.Resolve(targetList, parts[last], flags);
                }
            }
            return false;
        }

Same methods

NameResolutionService::ResolveQualifiedName ( string name ) : IEntity
NameResolutionService::ResolveQualifiedName ( List targetList, string name ) : bool