void ConvertMember(IMember member, StringWriter writer) { TypeSystemAstBuilder astBuilder = CreateAstBuilder(); astBuilder.ShowParameterNames = (ConversionFlags & ConversionFlags.ShowParameterNames) == ConversionFlags.ShowParameterNames; AttributedNode node = (AttributedNode)astBuilder.ConvertEntity(member); PrintModifiers(node.Modifiers, writer); if ((ConversionFlags & ConversionFlags.ShowReturnType) == ConversionFlags.ShowReturnType) { var rt = node.GetChildByRole(AstNode.Roles.Type); if (rt != AstNode.Roles.Type.NullObject) { writer.Write(rt.AcceptVisitor(CreatePrinter(writer), null)); writer.Write(' '); } } WriteMemberDeclarationName(member, writer); if ((ConversionFlags & ConversionFlags.ShowParameterList) == ConversionFlags.ShowParameterList && member is IParameterizedMember && member.EntityType != EntityType.Property) { writer.Write((node is IndexerDeclaration) ? '[' : '('); bool first = true; foreach (var param in node.GetChildrenByRole(AstNode.Roles.Parameter)) { if (first) { first = false; } else { writer.Write(", "); } param.AcceptVisitor(CreatePrinter(writer), null); } writer.Write((node is IndexerDeclaration) ? ']' : ')'); } if ((ConversionFlags & ConversionFlags.ShowBody) == ConversionFlags.ShowBody) { IProperty property = member as IProperty; if (property != null) { writer.Write(" { "); if (property.CanGet) { writer.Write("get; "); } if (property.CanSet) { writer.Write("set; "); } writer.Write('}'); } else { writer.Write(';'); } } }
protected bool MatchAttributesAndModifiers(AttributedNode o, PatternMatching.Match match) { return((this.Modifiers == Modifiers.Any || this.Modifiers == o.Modifiers) && this.Attributes.DoMatch(o.Attributes, match)); }
protected bool MatchAttributesAndModifiers (AttributedNode o, PatternMatching.Match match) { return (this.Modifiers == Modifiers.Any || this.Modifiers == o.Modifiers) && this.Attributes.DoMatch (o.Attributes, match); }