<commit_before>﻿using System;
using System.IO;
using System.Runtime.Serialization;

namespace Rothko
{
    public interface IFileSystemInfo : ISerializable
    {
        FileAttributes Attributes { get; set; }

        DateTime CreationTime { get; set; }

        DateTime CreationTimeUtc { get; set; }

        bool Exists { get; }

        string Extension { get; }

        string FullName { get; }

        DateTime LastAccessTime { get; set; }

        DateTime LastAccessTimeUtc { get; set; }

        DateTime LastWriteTime { get; set; }

        DateTime LastWriteTimeUtc { get; set; }

        string Name { get; }

        void Delete();

        void Refresh();
    }
}<commit_msg>Documented IFileSystemInfo by taking comments from System.IO.FileSystemInfo<commit_after>﻿using System;
using System.IO;
using System.Runtime.Serialization;

namespace Rothko
{
    public interface IFileSystemInfo : ISerializable
    {
        /// <summary>Gets or sets the attributes for the current file or directory.</summary>
        /// <returns>
        /// <see cref="T:System.IO.FileAttributes"/> of the current <see cref="T:Rothko.IFileSystemInfo"/>.
        /// </returns>
        /// <exception cref="T:System.IO.FileNotFoundException">The specified file does not exist.</exception>
        /// <exception cref="T:System.IO.DirectoryNotFoundException">
        ///   The specified path is invalid; for example, it is on an unmapped drive.
        /// </exception>
        /// <exception cref="T:System.Security.SecurityException">
        ///   The caller does not have the required permission.
        /// </exception>
        /// <exception cref="T:System.ArgumentException">
        ///   The caller attempts to set an invalid file attribute.
        /// </exception>
        /// <exception cref="T:System.IO.IOException">
        ///   <see cref="M:Rothko.IFileSystemInfo.Refresh"/> cannot initialize the data.
        /// </exception>
        /// <filterpriority>1</filterpriority>
        /// <PermissionSet>
        /// <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true"/>
        /// </PermissionSet>
        FileAttributes Attributes { get; set; }

        /// <summary>Gets or sets the creation time of the current file or directory.</summary>
        /// <returns>The creation date and time of the current <see cref="T:Rothko.IFileSystemInfo"/> object.</returns>
        /// <exception cref="T:System.IO.IOException">
        ///   <see cref="M:Rothko.IFileSystemInfo.Refresh"/> cannot initialize the data.
        /// </exception>
        /// <exception cref="T:System.IO.DirectoryNotFoundException">
        ///   The specified path is invalid; for example, it is on an unmapped drive.
        /// </exception>
        /// <exception cref="T:System.PlatformNotSupportedException">
        ///   The current operating system is not Windows NT or later.
        /// </exception>
        /// <exception cref="T:System.ArgumentOutOfRangeException">
        ///   The caller attempts to set an invalid creation time.
        /// </exception>
        /// <filterpriority>1</filterpriority>
        /// <PermissionSet>
        /// <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true"/>
        /// </PermissionSet>
        DateTime CreationTime { get; set; }

        /// <summary>
        ///   Gets or sets the creation time, in coordinated universal time (UTC), of the current file or
        ///   directory.
        /// </summary>
        /// <returns>
        ///   The creation date and time in UTC format of the current <see cref="T:Rothko.IFileSystemInfo"/>
        ///   object.
        /// </returns>
        /// <exception cref="T:System.IO.IOException">
        ///   <see cref="M:Rothko.IFileSystemInfo.Refresh"/> cannot initialize the data.
        /// </exception>
        /// <exception cref="T:System.IO.DirectoryNotFoundException">
        ///   The specified path is invalid; for example, it is on an unmapped drive.
        /// </exception>
        /// <exception cref="T:System.PlatformNotSupportedException">
        ///   The current operating system is not Windows NT or later.
        /// </exception>
        /// <exception cref="T:System.ArgumentOutOfRangeException">
        ///   The caller attempts to set an invalid access time.
        /// </exception>
        /// <filterpriority>1</filterpriority>
        /// <PermissionSet>
        /// <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true"/>
        /// </PermissionSet>
        DateTime CreationTimeUtc { get; set; }

        /// <summary>Gets a value indicating whether the file or directory exists.</summary>
        /// <returns>true if the file or directory exists; otherwise, false.</returns>
        /// <filterpriority>1</filterpriority>
        bool Exists { get; }

        /// <summary>Gets the string representing the extension part of the file.</summary>
        /// <returns>A string containing the <see cref="T:Rothko.IFileSystemInfo"/> extension.</returns>
        /// <filterpriority>1</filterpriority>
        string Extension { get; }

        /// <summary>Gets the full path of the directory or file.</summary>
        /// <returns>A string containing the full path.</returns>
        /// <exception cref="T:System.IO.PathTooLongException">
        ///   The fully qualified path and file name is 260 or more characters.
        /// </exception>
        /// <exception cref="T:System.Security.SecurityException">
        ///   The caller does not have the required permission.
        /// </exception>
        /// <filterpriority>1</filterpriority>
        /// <PermissionSet>
        /// <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true"/>
        /// </PermissionSet>
        string FullName { get; }

        /// <summary>Gets or sets the time the current file or directory was last accessed.</summary>
        /// <returns>The time that the current file or directory was last accessed.</returns>
        /// <exception cref="T:System.IO.IOException">
        ///   <see cref="M:Rothko.IFileSystemInfo.Refresh"/> cannot initialize the data.
        /// </exception>
        /// <exception cref="T:System.PlatformNotSupportedException">
        ///   The current operating system is not Windows NT or later.
        /// </exception>
        /// <exception cref="T:System.ArgumentOutOfRangeException">
        ///   The caller attempts to set an invalid access time
        /// </exception>
        /// <filterpriority>1</filterpriority>
        /// <PermissionSet>
        /// <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true"/>
        /// </PermissionSet>
        DateTime LastAccessTime { get; set; }

        /// <summary>
        ///   Gets or sets the time, in coordinated universal time (UTC), that the current file or directory was
        ///   last accessed.
        /// </summary>
        /// <returns>The UTC time that the current file or directory was last accessed.</returns>
        /// <exception cref="T:System.IO.IOException">
        ///   <see cref="M:Rothko.IFileSystemInfo.Refresh"/> cannot initialize the data.
        /// </exception>
        /// <exception cref="T:System.PlatformNotSupportedException">
        ///   The current operating system is not Windows NT or later.
        /// </exception>
        /// <exception cref="T:System.ArgumentOutOfRangeException">
        ///   The caller attempts to set an invalid access time.
        /// </exception>
        /// <filterpriority>1</filterpriority>
        /// <PermissionSet>
        /// <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true"/>
        /// </PermissionSet>
        DateTime LastAccessTimeUtc { get; set; }

        /// <summary>Gets or sets the time when the current file or directory was last written to.</summary>
        /// <returns>The time the current file was last written.</returns>
        /// <exception cref="T:System.IO.IOException">
        ///   <see cref="M:Rothko.IFileSystemInfo.Refresh"/> cannot initialize the data.
        /// </exception>
        /// <exception cref="T:System.PlatformNotSupportedException">
        ///   The current operating system is not Windows NT or later.
        /// </exception>
        /// <exception cref="T:System.ArgumentOutOfRangeException">
        ///   The caller attempts to set an invalid write time.
        /// </exception>
        /// <filterpriority>1</filterpriority>
        /// <PermissionSet>
        /// <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true"/>
        /// </PermissionSet>
        DateTime LastWriteTime { get; set; }

        /// <summary>
        ///   Gets or sets the time, in coordinated universal time (UTC), when the current file or directory was
        ///   last written to.</summary>
        /// <returns>
        ///   The UTC time when the current file was last written to.
        /// </returns>
        /// <exception cref="T:System.IO.IOException">
        ///   <see cref="M:Rothko.IFileSystemInfo.Refresh"/> cannot initialize the data.
        /// </exception>
        /// <exception cref="T:System.PlatformNotSupportedException">
        ///   The current operating system is not Windows NT or later.
        /// </exception>
        /// <exception cref="T:System.ArgumentOutOfRangeException">
        ///   The caller attempts to set an invalid write time.
        /// </exception>
        /// <filterpriority>1</filterpriority>
        /// <PermissionSet>
        /// <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true"/>
        /// </PermissionSet>
        DateTime LastWriteTimeUtc { get; set; }

        /// <summary>
        ///   For files, gets the name of the file. For directories, gets the name of the last directory in the
        ///   hierarchy if a hierarchy exists. Otherwise, the Name property gets the name of the directory.
        /// </summary>
        /// <returns>
        ///   A string that is the name of the parent directory, the name of the last directory in the hierarchy,
        ///   or the name of a file, including the file name extension.
        /// </returns>
        /// <filterpriority>1</filterpriority>
        string Name { get; }

        /// <summary>Deletes a file or directory.</summary>
        /// <exception cref="T:System.IO.DirectoryNotFoundException">
        ///   The specified path is invalid; for example, it is on an unmapped drive.
        /// </exception>
        /// <exception cref="T:System.IO.IOException">
        ///   There is an open handle on the file or directory, and the operating system is Windows XP or earlier.
        ///   This open handle can result from enumerating directories and files. For more information, see How
        ///   to: Enumerate Directories and Files.
        /// </exception>
        /// <filterpriority>2</filterpriority>
        void Delete();

        /// <summary>Refreshes the state of the object.</summary>
        /// <exception cref="T:System.IO.IOException">A device such as a disk drive is not ready.</exception>
        /// <filterpriority>1</filterpriority>
        void Refresh();
    }
}
{'fraction_non_alphanumeric': 0.1304275494925969, 'fraction_numerical': 0.014639826983862918, 'mean_word_length': 2.311209033324153, 'pattern_counts': {'":': 0, '<': 173, '<?xml version=': 0, '>': 173, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5699185', 'n_tokens_mistral': 3229, 'n_tokens_neox': 3111, 'n_words': 926}