Ejemplo n.º 1
0
        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(';');
                }
            }
        }
Ejemplo n.º 2
0
 protected bool MatchAttributesAndModifiers(AttributedNode o, PatternMatching.Match match)
 {
     return((this.Modifiers == Modifiers.Any || this.Modifiers == o.Modifiers) && this.Attributes.DoMatch(o.Attributes, match));
 }
Ejemplo n.º 3
0
		protected bool MatchAttributesAndModifiers (AttributedNode o, PatternMatching.Match match)
		{
			return (this.Modifiers == Modifiers.Any || this.Modifiers == o.Modifiers) && this.Attributes.DoMatch (o.Attributes, match);
		}