Example #1
0
        public IBinding Resolve(string name)
        {
            Declaration d = _declarations[name];

            if (null != d)
            {
                return(BindingManager.GetBinding(d));
            }
            return(null);
        }
Example #2
0
 public ModuleNamespace(BindingManager bindingManager, Module module)
 {
     _bindingManager = bindingManager;
     _members        = module.Members;
     _using          = new INamespace[module.Using.Count];
     for (int i = 0; i < _using.Length; ++i)
     {
         _using[i] = (INamespace)BindingManager.GetBinding(module.Using[i]);
     }
 }
Example #3
0
 public override IConstructorBinding[] GetConstructors()
 {
     if (null == _constructors)
     {
         List constructors = new List();
         foreach (TypeMember member in _typeDefinition.Members)
         {
             if (member.NodeType == NodeType.Constructor)
             {
                 constructors.Add(BindingManager.GetBinding(member));
             }
         }
         _constructors = (IConstructorBinding[])constructors.ToArray(typeof(IConstructorBinding));
     }
     return(_constructors);
 }
Example #4
0
        public bool ContainsDependent(Node node)
        {
            if (null != _dependents)
            {
                foreach (Node item in _dependents)
                {
                    if (item == node)
                    {
                        return(true);
                    }

                    IBinding binding = BindingManager.GetBinding(item);
                    if (binding.ContainsDependent(node))
                    {
                        return(true);
                    }
                }
            }
            return(false);
        }
Example #5
0
        public IBinding Resolve(string name)
        {
            foreach (Local local in _method.Locals)
            {
                if (local.PrivateScope)
                {
                    continue;
                }

                if (name == local.Name)
                {
                    return(BindingManager.GetBinding(local));
                }
            }

            foreach (ParameterDeclaration parameter in _method.Parameters)
            {
                if (name == parameter.Name)
                {
                    return(BindingManager.GetBinding(parameter));
                }
            }
            return(null);
        }
Example #6
0
        public IBinding Resolve(string name)
        {
            TypeMember member = _members[name];

            if (null != member)
            {
                return(_bindingManager.ToTypeReference(
                           (ITypeBinding)BindingManager.GetBinding(member)
                           ));
            }

            IBinding binding = null;

            foreach (INamespace ns in _using)
            {
                // todo: resolve name in all namespaces...
                binding = ns.Resolve(name);
                if (null != binding)
                {
                    break;
                }
            }
            return(binding);
        }