Microsoft.CSharp.RuntimeBinder.SymbolTable.FindMethodFromMemberInfo C# (CSharp) Method

FindMethodFromMemberInfo() private method

private FindMethodFromMemberInfo ( MemberInfo baseMemberInfo ) : MethodSymbol
baseMemberInfo System.Reflection.MemberInfo
return Microsoft.CSharp.RuntimeBinder.Semantics.MethodSymbol
        private MethodSymbol FindMethodFromMemberInfo(MemberInfo baseMemberInfo)
        {
            CType t = GetCTypeFromType(baseMemberInfo.DeclaringType);
            Debug.Assert(t.IsAggregateType());
            AggregateSymbol aggregate = t.getAggregate();
            Debug.Assert(aggregate != null);

            MethodSymbol meth = _semanticChecker.SymbolLoader.LookupAggMember(
                GetName(baseMemberInfo.Name),
                aggregate,
                symbmask_t.MASK_MethodSymbol).AsMethodSymbol();
            for (;
                    meth != null && !meth.AssociatedMemberInfo.IsEquivalentTo(baseMemberInfo);
                    meth = _semanticChecker.SymbolLoader.LookupNextSym(meth, aggregate, symbmask_t.MASK_MethodSymbol).AsMethodSymbol())
                ;

            return meth;
        }