示例#1
0
        public void VisitNamespaceDeclaration(NamespaceDeclarationSyntax node)
        {
            if (node == null)
                throw new ArgumentNullException("node");

            node.Validate();

            WriteLeadingTrivia(node);

            _writer.WriteIndent();
            _writer.WriteKeyword(PrinterKeyword.Namespace);
            _writer.WriteSpace();
            node.Name.Accept(this);

            _writer.PushBraceFormatting(_writer.Configuration.BracesLayout.TypeAndNamespaceDeclaration);

            if (!node.ChildNodes().Any())
            {
                _writer.EmptyBlock(_writer.Configuration.BlankLines.InsideNamespace);
            }
            else
            {
                _writer.BeginBlock();

                _writer.WriteLine(_writer.Configuration.BlankLines.InsideNamespace);

                WriteGlobalNodes(
                    node.Usings,
                    node.Externs,
                    node.Members,
                    null
                );

                _writer.WriteLine(_writer.Configuration.BlankLines.InsideNamespace);

                _writer.EndBlock();
            }

            _writer.PopBraceFormatting();

            WriteTrailingTrivia(node);
        }