Explorar o código

iterator changes.

Nicolas Cannasse %!s(int64=19) %!d(string=hai) anos
pai
achega
bb9e2814dd
Modificáronse 4 ficheiros con 7 adicións e 9 borrados
  1. 2 2
      doc/CHANGES.txt
  2. 3 5
      std/IntIter.hx
  3. 1 1
      std/Iterator.hx
  4. 1 1
      std/neko/db/ResultSet.hx

+ 2 - 2
doc/CHANGES.txt

@@ -11,8 +11,8 @@
 	allowed enum catching
 	added remoting proxys
 	allowed neko.Web API commandline emulation outside mod_neko
-	fixed type hole : Anon :> Instance only if interface
-	added signatures
+	remove subtyping Anon :> Instance
+	added signatures, Iterator is now a signature
 
 2006-05-02: RC1
 	added the Socket class

+ 3 - 5
std/IntIter.hx

@@ -23,7 +23,7 @@
  * DAMAGE.
  */
 
-class IntIter implements Iterator<Int> {
+class IntIter {
 
 	var min : Int;
 	var max : Int;
@@ -34,13 +34,11 @@ class IntIter implements Iterator<Int> {
 	}
 
 	public function hasNext() {
-		return min != max;
+		return min < max;
 	}
 
 	public function next() {
-		if( min < max )
-			return min++;
-		return min--;
+		return min++;
 	}
 
 }

+ 1 - 1
std/Iterator.hx

@@ -23,7 +23,7 @@
  * DAMAGE.
  */
 
-interface Iterator<T> {
+signature Iterator<T> {
 
 	function hasNext() : Bool;
 	function next() : T;

+ 1 - 1
std/neko/db/ResultSet.hx

@@ -24,7 +24,7 @@
  */
 package neko.db;
 
-class ResultSet implements Iterator<Dynamic> {
+class ResultSet {
 
 	public property length(getLength,null) : Int;
 	public property nfields(getNFields,null) : Int;