Boo.Lang.Compiler.Steps.ProcessMethodBodies.ResolveAmbiguousPropertyReference C# (CSharp) Метод

ResolveAmbiguousPropertyReference() приватный Метод

private ResolveAmbiguousPropertyReference ( ReferenceExpression node, Ambiguous candidates, ExpressionCollection args ) : IEntity
node ReferenceExpression
candidates Ambiguous
args ExpressionCollection
Результат IEntity
        private IEntity ResolveAmbiguousPropertyReference(ReferenceExpression node, Ambiguous candidates, ExpressionCollection args)
        {
            IEntity[] entities = candidates.Entities;
            IEntity[] getters = GetGetMethods(entities);
            IEntity found = GetCorrectCallableReference(node, args, getters);
            if (null != found && EntityType.Method == found.EntityType)
            {
                IProperty property = (IProperty)entities[GetIndex(getters, found)];
                BindProperty(node, property);
                return property;
            }

            return candidates;
        }
ProcessMethodBodies