#
# This file is free software, which comes along with NIT. This software is
# distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
-# without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE. You can modify it is you want, provided this header
# is kept unaltered, and a notification of the changes is added.
# You are allowed to redistribute it and sell it, alone or is a part of
# another product.
class DummyArray
-special Set[Int]
-special ArrayCapable[Int]
- attr _capacity: Int
- redef readable attr _length: Int
- attr _keys: NativeArray[Int]
- attr _values: NativeArray[Int]
+ super Set[Int]
+ super ArrayCapable[Int]
+ private var capacity: Int
+ redef var length: Int
+ private var keys: NativeArray[Int]
+ private var values: NativeArray[Int]
- redef meth add(value: Int)
+ redef fun add(value: Int)
do
assert full: _length < (_capacity-1)
var l = _length
_length = l + 1
end
- redef meth remove(value: Int)
+ redef fun remove(value: Int)
do
assert not is_empty
var l = _length
_length = l - 1
end
- redef meth has(value: Int): Bool
+ redef fun has(value: Int): Bool
do
assert value < _capacity
var pos = _keys[value]
return false
end
- redef meth first: Int
+ redef fun first: Int
do
assert _length > 0
return _values[0]
end
- redef meth is_empty: Bool
+ redef fun is_empty: Bool
do
return not (_length > 0)
end
- redef meth clear
+ redef fun clear
do
_length = 0
end
- redef meth iterator: DummyIterator
+ redef fun iterator: DummyIterator
do
return new DummyIterator(self)
end
- private meth value_at(pos: Int): Int
+ private fun value_at(pos: Int): Int
do
return _values[pos]
end
end
class DummyIterator
-special Iterator[Int]
- attr _array: DummyArray
- attr _pos: Int
+ super Iterator[Int]
+ private var array: DummyArray
+ private var pos: Int
- redef meth item: Int
+ redef fun item: Int
do
assert is_ok
return _array.value_at(_pos)
end
- redef meth is_ok: Bool
+ redef fun is_ok: Bool
do
return _pos < _array.length
end
- redef meth next do _pos = _pos + 1 end
+ redef fun next do _pos = _pos + 1 end
init(array: DummyArray)
do