class A
super Elt
- var _a: Int
+ var a: Int
redef fun val1: Int do return _a
init(i: Int) do _a = i
class Elt2
super Elt
- var _b: Int
+ var b: Int
redef fun val1: Int do return _b/2
redef fun val2: Int do return _b
init initelt2(i: Int) do _b = i
class C
super Elt
- var _c: Int
- var _d: Int
+ var c: Int
+ var d: Int
redef fun val1: Int do return _c end
redef fun val2: Int do return _d end
init(i: Int) do initelt2(i)
end
-class EltSorter
- super AbstractSorter[Elt]
- redef fun compare(a: Elt, b: Elt): Int
+class EltComparator
+ super Comparator
+ redef type COMPARED: Elt
+ redef fun compare(a, b)
do
if _is_val1 then
return a.val1 <=> b.val1
_is_val1 = not _is_val1
end
- var _is_val1: Bool = false
+ var is_val1: Bool = false
init do end
end
array.push(generator)
end
-var sorter = new EltSorter
+var comparator = new EltComparator
for i in [0..n[ do
- sorter.sort(array)
- sorter.toggle
+ comparator.sort(array)
+ comparator.toggle
end