class A
- readable writable attr _val: Int = 0
- meth hop(a: A, b: A, c: A)
+ var val: Int = 0
+ fun hop(a: A, b: A, c: A)
do
if a.val > val then
a.hop(b, c, self)
foo(b, c)
foo(c, b)
end
- meth foo(a: A, b: A)
+ fun foo(a: A, b: A)
do
if a.val > val then
a.foo(b, self)
bar(a)
bar(b)
end
- meth bar(a: A)
+ fun bar(a: A)
do
if a.val > val then
a.bar(self)
end
baz
end
- meth baz
+ fun baz
do
+ i += 1
end
+ var i = 0
+
init
do
end
end
class B
-special A
- redef meth val: Int
+ super A
+ redef fun val: Int
do
return 1
end
end
class C
-special A
- redef meth val: Int
+ super A
+ redef fun val: Int
do
return 2
end
end
class D
-special A
- redef meth val: Int
+ super A
+ redef fun val: Int
do
return 3
end
c.val = 2
d.val = 3
var i = 0
-while i < 100000 do
+
+var n = 10
+if args.not_empty then n = args.first.to_i
+
+while i < 1.lshift(n) do
a.hop(b, c, d)
i = i + 1
end
+
+print a.i
+print b.i
+print c.i
+print d.i