internal static void GenerateCodeFromType(CodeTypeDeclaration e, TextWriter w, CodeGeneratorOptions o)
        {
            WriteCodeCommentStatementCollection(e.Comments, w, o);

            GenerateCodeFromAttributeDeclarationCollection(e.CustomAttributes, w, o);

            var accessModifier           = ((e.TypeAttributes & System.Reflection.TypeAttributes.Public) == System.Reflection.TypeAttributes.Public) ? "export " : String.Empty;
            var typeOfType               = CodeObjectHelper.GetTypeOfType(e);
            var name                     = e.Name;
            var typeParametersExpression = CodeObjectHelper.GetTypeParametersExpression(e);
            var baseTypesExpression      = CodeObjectHelper.GetBaseTypeExpression(e);

            w.Write($"{o.IndentString}{accessModifier}{typeOfType} {name}{typeParametersExpression}{baseTypesExpression} {{");
            WriteTypeMembersAndCloseBracing(e, w, o);
        }