lib/file: `String::files` return an Array because it is an easier primitive type...
authorJean Privat <jean@pryen.org>
Fri, 5 Dec 2014 01:54:37 +0000 (20:54 -0500)
committerJean Privat <jean@pryen.org>
Fri, 5 Dec 2014 01:54:37 +0000 (20:54 -0500)
Signed-off-by: Jean Privat <jean@pryen.org>

lib/standard/file.nit

index 60f5f69..88fb3c8 100644 (file)
@@ -531,7 +531,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;
 
@@ -543,22 +543,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