public static MethodReader CreateAccessorMethodReader(CodeModelBuilder modelBuilder, IMethodSymbol accessorSymbol) { if (accessorSymbol != null) { var reader = new MethodReader(modelBuilder, accessorSymbol); reader.ReadDeclaration(); return(reader); } return(null); }
public void ReadDeclaration() { _adderReader = MethodReaderMechanism.CreateAccessorMethodReader(_modelBuilder, _symbol.AddMethod); _removerReader = MethodReaderMechanism.CreateAccessorMethodReader(_modelBuilder, _symbol.RemoveMethod); _member = new EventMember { Name = _symbol.Name, DeclaringType = _modelBuilder.TryGetMember <TypeMember>(_symbol.ContainingType), Status = MemberStatus.Incomplete, Visibility = _symbol.GetMemberVisibility(), Modifier = _symbol.GetMemberModifier(), DelegateType = _modelBuilder.TryGetMember <TypeMember>(_symbol.Type), }; }
public void ReadDeclaration() { _getterReader = MethodReaderMechanism.CreateAccessorMethodReader(_modelBuilder, _symbol.GetMethod); _setterReader = MethodReaderMechanism.CreateAccessorMethodReader(_modelBuilder, _symbol.SetMethod); _member = new PropertyMember { Name = _symbol.Name, DeclaringType = _modelBuilder.TryGetMember <TypeMember>(_symbol.ContainingType), Status = MemberStatus.Incomplete, Visibility = _symbol.GetMemberVisibility(), Modifier = _symbol.GetMemberModifier(), PropertyType = _modelBuilder.TryGetMember <TypeMember>(_symbol.Type), Getter = _getterReader?.Member as MethodMember, Setter = _setterReader?.Member as MethodMember }; }