# limitations under the License.
redef class Object
- meth foo do end
+ fun foo do end
end
class A
- redef meth foo do end
+ redef fun foo do i += 1 end
init do end
+ var i = 0
end
class B
-special A
- redef meth foo do end
+ super A
+ redef fun foo do end
init do end
end
class C
-special A
+ super A
init do end
end
class D
-special B
-special C
+ super B
+ super C
init do end
end
class E
-special B
-special C
- redef meth foo do end
+ super B
+ super C
+ redef fun foo do end
init do end
end
class F
-special D
-special E
- redef meth foo do end
+ super D
+ super E
+ redef fun foo do end
init do end
end
+var n = 10
+if args.not_empty then n = args.first.to_i
+
var nb = 60
var a = new Array[Object].with_capacity(nb)
for i in [0..(nb/6)[ do
a[i*6+4] = new E
a[i*6+5] = new F
end
-for i in [0..1000000[ do
+for i in [0..1.lshift(n)[ do
for j in [0..nb[ do
a[j].foo
end
end
+for j in [0..nb[ do
+ print a[j].as(A).i
+end