Ejemplo n.º 1
0
        public override void DumpTo(CodeWriter writer)
        {
            var mode = writer.Mode;

            if (mode == CodeWriterMode.Full)
            {
                Comment?.DumpTo(writer);
            }
            this.DumpAttributesTo(writer);
            Visibility.DumpTo(writer);
            Modifiers.DumpTo(writer);
            ReturnType?.DumpReferenceTo(writer);
            writer.Write(" ");
            writer.Write(Name);

            if (GetBody == null && SetBody == null)
            {
                writer.Write(" { get; set; }");
                writer.WriteLine();
            }
            else
            {
                if (mode == CodeWriterMode.Simple)
                {
                    writer.Write(" { get {...} set {...} }");
                    writer.WriteLine();
                }
                else
                {
                    writer.WriteLine();
                    writer.OpenBraceBlock();
                    {
                        if (GetBody != null)
                        {
                            writer.WriteLine("get");
                            writer.OpenBraceBlock();
                            GetBody(writer, this);
                            writer.CloseBraceBlock();
                        }
                        if (SetBody != null)
                        {
                            writer.WriteLine("set");
                            writer.OpenBraceBlock();
                            SetBody(writer, this);
                            writer.CloseBraceBlock();
                        }
                    }
                    writer.CloseBraceBlock();
                }
            }
        }
Ejemplo n.º 2
0
 public override void DumpTo(CodeWriter writer)
 {
     if (writer.Mode == CodeWriterMode.Full)
     {
         Comment?.DumpTo(writer);
     }
     this.DumpAttributesTo(writer);
     ReturnType?.DumpContextualAttributesTo(writer, false, CSharpAttributeScope.Return);
     Visibility.DumpTo(writer);
     writer.Write("delegate ");
     ReturnType?.DumpReferenceTo(writer);
     writer.Write(" ");
     writer.Write(Name);
     Parameters.DumpTo(writer);
     writer.Write(";");
     writer.WriteLine();
 }
Ejemplo n.º 3
0
        /// <inheritdoc />
        public override void DumpTo(CodeWriter writer)
        {
            var mode = writer.Mode;

            if (mode == CodeWriterMode.Full)
            {
                Comment?.DumpTo(writer);
            }
            this.DumpAttributesTo(writer);
            ReturnType?.DumpContextualAttributesTo(writer, false, CSharpAttributeScope.Return);
            Visibility.DumpTo(writer);
            Modifiers.DumpTo(writer);
            if (IsConstructor)
            {
                writer.Write((Parent as CSharpNamedType)?.Name);
            }
            else
            {
                ReturnType?.DumpReferenceTo(writer);
                writer.Write(" ");
                writer.Write(Name);
            }
            Parameters.DumpTo(writer);

            if (Body != null)
            {
                if (mode == CodeWriterMode.Full)
                {
                    writer.WriteLine();
                    writer.OpenBraceBlock();
                    Body?.Invoke(writer, this);
                    writer.CloseBraceBlock();
                }
                else
                {
                    writer.WriteLine(" { ... }");
                }
            }
            else
            {
                writer.WriteLine(";");
            }
        }