lib/java: add some Java collections
[nit.git] / lib / filter_stream.nit
index 5286c7c..2797b67 100644 (file)
 class FilterIStream
        super IStream
        # Filter readed elements
-       readable var _stream: nullable IStream = null
+       var stream: nullable IStream = null
 
        redef fun eof: Bool
        do
                assert stream != null
                return stream.eof
        end
-
-       private fun stream=(i: nullable IStream)
-       do
-               _stream = i
-       end
 end
 
 class FilterOStream
        super OStream
        # Filter outputed elements
-       readable var _stream: nullable OStream = null
+       var stream: nullable OStream = null
 
        # Can the stream be used to write
        redef fun is_writable: Bool
@@ -39,16 +34,11 @@ class FilterOStream
                assert stream != null
                return stream.is_writable
        end
-
-       private fun stream=(i: OStream)
-       do
-               _stream = i
-       end
 end
 
 class StreamCat
        super FilterIStream
-       var _streams: Iterator[IStream]
+       private var streams: Iterator[IStream]
 
        redef fun eof: Bool
        do
@@ -65,12 +55,14 @@ class StreamCat
 
        redef fun stream: nullable IStream
        do
-               if _stream == null and _streams.is_ok then
-                       stream = _streams.item
-                       assert _stream != null
+               var res = super
+               if res == null and _streams.is_ok then
+                       res = _streams.item
+                       stream = res
+                       assert stream != null
                        _streams.next
                end
-               return _stream
+               return res
        end
 
        redef fun read_char: Int
@@ -99,7 +91,7 @@ end
 
 class StreamDemux
        super FilterOStream
-       var _streams: Array[OStream]
+       private var streams: Array[OStream]
 
        redef fun is_writable: Bool
        do
@@ -116,7 +108,7 @@ class StreamDemux
                end
        end
 
-       redef fun write(s: String)
+       redef fun write(s: Text)
        do
                for i in _streams
                do