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

ResolveExtension() public method

public ResolveExtension ( INamespace ns, string name ) : IEntity
ns INamespace
name string
return IEntity
        public IEntity ResolveExtension(INamespace ns, string name)
        {
            IType type = ns as IType;
            if (null == type) return null;

            INamespace current = _current;
            while (null != current)
            {
                IEntity found = ResolveExtensionForType(current, type, name);
                if (null != found) return found;
                current = current.ParentNamespace;
            }
            return null;
        }

Usage Example

Beispiel #1
0
        private IEntity[] FindExtension(IType fromType, string name)
        {
            IEntity extension = NameResolutionService.ResolveExtension(fromType, name);

            if (null == extension)
            {
                return(Ambiguous.NoEntities);
            }

            var a = extension as Ambiguous;

            if (null != a)
            {
                return(a.Entities);
            }
            return(new[] { extension });
        }