lib/curl: make private and update init of HeaderMapIterator
authorAlexis Laferrière <alexis.laf@xymus.net>
Sun, 7 Jun 2015 01:14:25 +0000 (21:14 -0400)
committerAlexis Laferrière <alexis.laf@xymus.net>
Sun, 7 Jun 2015 19:41:46 +0000 (15:41 -0400)
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

lib/curl/curl.nit

index a34f819..8c4ae80 100644 (file)
@@ -415,6 +415,7 @@ class HeaderMap
                return res
        end
 
+       # Iterate over all the associations in `self`
        fun iterator: MapIterator[String, String] do return new HeaderMapIterator(self)
 
        # Convert Self to a single string used to post http fields
@@ -450,11 +451,11 @@ class HeaderMap
        fun is_empty: Bool do return arr.is_empty
 end
 
-class HeaderMapIterator
+private class HeaderMapIterator
        super MapIterator[String, String]
 
-       private var iterator: Iterator[Couple[String, String]]
-       init(map: HeaderMap) is old_style_init do self.iterator = map.arr.iterator
+       var map: HeaderMap
+       var iterator: Iterator[Couple[String, String]] = map.array.iterator is lazy
 
        redef fun is_ok do return self.iterator.is_ok
        redef fun next do self.iterator.next