public override void Visit(ITypeDefinition type) { byte?value = type.Attributes.GetCustomAttributeArgumentValue <byte?>(CSharpCciExtensions.NullableContextAttributeFullName); if (!(type is INestedTypeDefinition) || value != null) // Only override the value when we're not on a nested type, or if so, only if the value is not null. { _declarationWriter.TypeNullableContextValue = value; } _declarationWriter.WriteDeclaration(type); if (!type.IsDelegate) { using (_syntaxWriter.StartBraceBlock(PutBraceOnNewLine)) { // If we have no constructors then output a private one this // prevents the C# compiler from creating a default public one. var constructors = type.Methods.Where(m => m.IsConstructor && Filter.Include(m)); if (!type.IsStatic && !constructors.Any()) { // HACK... this will likely not work for any thing other than CSDeclarationWriter _declarationWriter.WriteDeclaration(CSDeclarationWriter.GetDummyConstructor(type)); _syntaxWriter.WriteLine(); } _firstMemberGroup = true; base.Visit(type); } } _syntaxWriter.WriteLine(); }
public override void Visit(ITypeDefinition type) { _declarationWriter.WriteDeclaration(type); if (!type.IsDelegate) { using (_syntaxWriter.StartBraceBlock(PutBraceOnNewLine)) { // If we have no constructors then output a private one this // prevents the C# compiler from creating a default public one. var constructors = type.Methods.Where(m => m.IsConstructor && Filter.Include(m)); if (!type.IsStatic && !constructors.Any()) { // HACK... this will likely not work for any thing other than CSDeclarationWriter _declarationWriter.WriteDeclaration(CSDeclarationWriter.GetDummyConstructor(type)); _syntaxWriter.WriteLine(); } _firstMemberGroup = true; base.Visit(type); } } _syntaxWriter.WriteLine(); }