Ejemplo n.º 1
0
 internal override IEnumerable <EventSymbol> GetEventsToEmit()
 {
     foreach (EventSymbol e in _underlyingType.GetEventsToEmit())
     {
         yield return(this.RetargetingTranslator.Retarget(e));
     }
 }
Ejemplo n.º 2
0
 private static IReadOnlyDictionary<string, ImmutableArray<Symbol>> GetTypeMembers(NamedTypeSymbol type)
 {
     var members = ArrayBuilder<Symbol>.GetInstance();
     members.AddRange(type.GetEventsToEmit());
     members.AddRange(type.GetFieldsToEmit());
     members.AddRange(type.GetMethodsToEmit());
     members.AddRange(type.GetTypeMembers());
     members.AddRange(type.GetPropertiesToEmit());
     var result = members.ToDictionary(s => s.Name, NameComparer);
     members.Free();
     return result;
 }
Ejemplo n.º 3
0
            private IReadOnlyDictionary <string, ImmutableArray <Cci.ITypeDefinitionMember> > GetOtherTypeMembers(NamedTypeSymbol otherType)
            {
                var members = ArrayBuilder <Cci.ITypeDefinitionMember> .GetInstance();

                members.AddRange(otherType.GetEventsToEmit());
                members.AddRange(otherType.GetFieldsToEmit());
                members.AddRange(otherType.GetMethodsToEmit());
                members.AddRange(otherType.GetTypeMembers());
                members.AddRange(otherType.GetPropertiesToEmit());

                ImmutableArray <Cci.ITypeDefinitionMember> synthesizedMembers;

                if (_otherSynthesizedMembersOpt != null && _otherSynthesizedMembersOpt.TryGetValue(otherType, out synthesizedMembers))
                {
                    members.AddRange(synthesizedMembers);
                }

                var result = members.ToDictionary(s => ((Symbol)s).Name, StringOrdinalComparer.Instance);

                members.Free();
                return(result);
            }