Merge: Newstreams
[nit.git] / lib / standard / file.nit
index 369d991..a7c48db 100644 (file)
@@ -40,6 +40,7 @@ abstract class FStream
        # The FILE *.
        private var file: nullable NativeFile = null
 
+       # The status of a file. see POSIX stat(2).
        fun file_stat: FileStat do return _file.file_stat
 
        # File descriptor of this file
@@ -229,6 +230,7 @@ private fun wipe_write: NativeString do return "w".to_cstring
 
 ###############################################################################
 
+# Standard input stream.
 class Stdin
        super IFStream
 
@@ -241,6 +243,7 @@ class Stdin
        redef fun poll_in: Bool is extern "file_stdin_poll_in"
 end
 
+# Standard output stream.
 class Stdout
        super OFStream
        init do
@@ -250,6 +253,7 @@ class Stdout
        end
 end
 
+# Standard error stream.
 class Stderr
        super OFStream
        init do
@@ -612,7 +616,7 @@ redef class String
        end
 
        # returns files contained within the directory represented by self
-       fun files : Set[ String ] is extern import HashSet[String], HashSet[String].add, NativeString.to_s, String.to_cstring, HashSet[String].as(Set[String]) `{
+       fun files: Array[String] is extern import Array[String], Array[String].add, NativeString.to_s, String.to_cstring `{
                char *dir_path;
                DIR *dir;
 
@@ -624,22 +628,22 @@ redef class String
                }
                else
                {
-                       HashSet_of_String results;
+                       Array_of_String results;
                        String file_name;
                        struct dirent *de;
 
-                       results = new_HashSet_of_String();
+                       results = new_Array_of_String();
 
                        while ( ( de = readdir( dir ) ) != NULL )
                                if ( strcmp( de->d_name, ".." ) != 0 &&
                                        strcmp( de->d_name, "." ) != 0 )
                                {
                                        file_name = NativeString_to_s( strdup( de->d_name ) );
-                                       HashSet_of_String_add( results, file_name );
+                                       Array_of_String_add( results, file_name );
                                }
 
                        closedir( dir );
-                       return HashSet_of_String_as_Set_of_String( results );
+                       return results;
                }
        `}
 end