"trait" instead of "trait class"

virtual -> open
 "final" introduced
 "wraps" dropped
This commit is contained in:
Andrey Breslav
2011-09-09 16:16:05 +04:00
parent 704a876537
commit 16dcbd41cb
94 changed files with 537 additions and 532 deletions
+1 -1
View File
@@ -21,7 +21,7 @@ fun countOnes(x : INumber) = if (x == 0) 0 else mostSignificantBit(x) + countOne
fun Int.matchMask(mask : Int) = this and mask == mask
virtual class INumber<T : this> : IComparable<T> {
open class INumber<T : this> : IComparable<T> {
val bits : Int
[operator] fun plus(other : T) : T
[operator] fun shl(bits : Int) : T
+1 -1
View File
@@ -1,4 +1,4 @@
virtual class IPushPop<T> {
open class IPushPop<T> {
val isEmpty : Boolean
fun push(item : T)
fun pop() : T
+2 -2
View File
@@ -1,9 +1,9 @@
virtual class Builder<E, R> {
open class Builder<E, R> {
[operator] fun plusAssign(item : E)
fun result() : R
}
virtual class Buildable {
open class Buildable {
fun newBuilder<E, R>() : Builder<E, R>
}
+2 -2
View File
@@ -2,11 +2,11 @@
These declarations are "shallow" in the sense that they are not really compiled, only the type-checker uses them
*/
virtual class ReadOnlyArray<out T> : ISized {
open class ReadOnlyArray<out T> : ISized {
[operator] fun get(index : Int) : T
}
virtual class WriteOnlyArray<in T> : ISized { // This is needed to keep IIterator's <T> covariant
open class WriteOnlyArray<in T> : ISized { // This is needed to keep IIterator's <T> covariant
[operator] fun set(index : Int, value : T)
}
+4 -4
View File
@@ -1,15 +1,15 @@
virtual class IEquality {
open class IEquality {
fun equals(other : Any) : Boolean
= (this as java.lang.Object).equals(other as java.lang.Object)
}
virtual class IHashable : IEquality {
open class IHashable : IEquality {
val hashCode : Integer
get() = (this as java.lang.Object).hashCode()
}
virtual class IMap<K, V> {
open class IMap<K, V> {
fun get(key : K) : V
fun set(key : K, value : V) : V
fun remove(key : K) : V
@@ -21,7 +21,7 @@ class HashableWrapper wraps (val obj : Any) : IHashable
[inline] fun Any.hashable() : HashableWrapper = new HashableWrapper(this)
virtual class IHashingStrategy<K> {
open class IHashingStrategy<K> {
fun equals(a : K, b : K) : Boolean
fun hashCode(a : K) : Integer
}
+1 -1
View File
@@ -1,3 +1,3 @@
virtual class IIterable<out T> {
open class IIterable<out T> {
fun iterator() : IIterator<T>
}
+1 -1
View File
@@ -1,4 +1,4 @@
virtual class IIterator<out T> {
open class IIterator<out T> {
fun next() : T
val hasNext : Boolean
+1 -1
View File
@@ -1,4 +1,4 @@
virtual class IList<out T> : IIterable<T>, ISized {
open class IList<out T> : IIterable<T>, ISized {
[operator] fun get(index : Int) : T
val isEmpty : Boolean
}
@@ -1,3 +1,3 @@
virtual class IMutableIterable<out T> : IIterable<T> {
open class IMutableIterable<out T> : IIterable<T> {
fun mutableIterator() : IMutableIterator<T>
}
@@ -1,4 +1,4 @@
virtual class IMutableIterator<out T> : IIterator<T> {
open class IMutableIterator<out T> : IIterator<T> {
fun remove() : T
/*
+1 -1
View File
@@ -1,4 +1,4 @@
virtual class IMutableList<T> : IList<T>, IMutableIterable<T> {
open class IMutableList<T> : IList<T>, IMutableIterable<T> {
fun set(index : Int, value : T) : T
fun add(index : Int, value : T)
fun remove(index : Int) : T
+1 -1
View File
@@ -1,4 +1,4 @@
virtual class IMutableSet<T> : ISet<T>, IMutableIterable<T> {
open class IMutableSet<T> : ISet<T>, IMutableIterable<T> {
fun add(item : T) : Boolean
fun remove(item : T) : Boolean
}
+1 -1
View File
@@ -1,3 +1,3 @@
virtual class ISet<T> : IIterable<T>, ISized {
open class ISet<T> : IIterable<T>, ISized {
fun contains(item : T) : Boolean
}
+1 -1
View File
@@ -1,3 +1,3 @@
virtual class ISized {
open class ISized {
val size : Int
}
+2 -2
View File
@@ -1,8 +1,8 @@
virtual class IAdder<in T> {
open class IAdder<in T> {
fun add(item : T) : Boolean
}
virtual class ICloseable {
open class ICloseable {
fun close()
}
+1 -1
View File
@@ -1,4 +1,4 @@
virtual class IMap<in K, out V> {
open class IMap<in K, out V> {
}
@@ -1,4 +1,4 @@
virtual class IPriorityQueue<T> {
open class IPriorityQueue<T> {
fun extract() : T
fun add(item : T)
val isEmpty : Boolean
+1 -1
View File
@@ -1,3 +1,3 @@
virtual class IComparable<in T> {
open class IComparable<in T> {
fun compareTo(other : T) : Int
}