var y: Int = -2 #alt2#
#alt2#var y: Int
#alt3#init (xx: Int) do x = xx
- #alt4#init foo(xx: Int) do x = xx
+ #alt4#init foo(xx: Int) do init(xx)
fun work
do
x.output
super B
var i: Int
- init(i: Int) do
- self.i = i
+ init do
i.output
end
end
'2'.output
' '.output
end
- init init_par(c: Char)
+ redef init init_par(c: Char)
do
'C'.output
'3'.output
c.output
' '.output
end
- init init_par3(c: Char)
+ redef init init_par3(c: Char)
do
'C'.output
'4'.output
#alt1#redef init do '1'.output
init do '1'.output #alt1#
#alt1#redef init init2 do '2'.output
- init init2 do '2'.output #alt1#
+ redef init init2 do '2'.output #alt1#
#alt1#redef init init3 do '3'.output
init init3 do '3'.output #alt1#
end
class C3
super A
init(j: Int) do
+ super(j)#alt6#
j.output
end
end
class D3
super A
init(j: Int) do
+ super(j)#alt6#
j.output
end
end
class F2
super A
init(j: Int, k: Bool) do
+ super(j)#alt6#
j.output
end
end
-1
-2
-1
-2
-3
-1
-2
-1
-2
-5
-1
-2
-6
+alt/base_init_combine_alt1.nit:59,9--11: Error: expected 2 argument(s) for `init(i: Int, z: Int)`; got 1. See introduction at `core::Object::init`.
11
true
12
-12
-13
13
14
true
15
15
16
-16
-alt/base_init_super_call2_alt3.nit:38,2--5: Error: cannot do an implicit constructor call to `base_init_super_call2_alt3#A#init(i: Int)`. Expected at least `1` arguments, got `0`.
+alt/base_init_super_call2_alt3.nit:38,2--5: Error: cannot do an implicit constructor call to `base_init_super_call2_alt3#A#init(i: Int)`. Expected at least `1` arguments.
-alt/base_init_super_call2_alt6.nit:105,2--5: Error: cannot do an implicit constructor call to `base_init_super_call2_alt6#A#init(i: Int)`. Expected argument #0 of type `Int`, got implicit argument `j` of type `Bool`.
+alt/base_init_super_call2_alt6.nit:91,2--5: Error: cannot do an implicit constructor call to `base_init_super_call2_alt6#A#init(i: Int)`. Expected at least `1` arguments.
+alt/base_init_super_call2_alt6.nit:99,2--5: Error: cannot do an implicit constructor call to `base_init_super_call2_alt6#A#init(i: Int)`. Expected at least `1` arguments.
+alt/base_init_super_call2_alt6.nit:107,2--5: Error: cannot do an implicit constructor call to `base_init_super_call2_alt6#A#init(i: Int)`. Expected at least `1` arguments.
+alt/base_init_super_call2_alt6.nit:123,2--5: Error: cannot do an implicit constructor call to `base_init_super_call2_alt6#A#init(i: Int)`. Expected at least `1` arguments.
-alt/base_init_super_call_alt3.nit:38,2--5: Error: cannot do an implicit constructor call to `base_init_super_call_alt3#A#init(i: Int)`. Expected at least `1` arguments, got `0`.
+1
+2
+3
+4
+6
+6
+7
+7
+8
+true
+9
+9
+10
+10
+11
+true
+12
+13
+14
+true
+15
+15
+16
-alt/base_init_super_call_alt6.nit:105,2--5: Error: cannot do an implicit constructor call to `base_init_super_call_alt6#A#init(i: Int)`. Expected argument #0 of type `Int`, got implicit argument `j` of type `Bool`.
+1
+2
+3
+4
+5
+6
+6
+7
+7
+8
+true
+9
+9
+10
+10
+11
+true
+12
+13
+true
+15
+15
+16
`}
class A
- var a: Int
+ var a: Int is noautoinit
init do a = 1234
init alt(i: Int) do a = i
fun to_i: Int do return a
class A
var s : String
- init a( s : String ) do self.s = s
+ init a( s : String ) do init(s)
end
class B
var i : Int
- init b( i : Int ) do self.i = i
+ init b( i : Int ) do init(i)
end
class C