import kernel
class A
- init inita do
+ init do
'A'.output
' '.output
end
+ init inita do init
meth work do '\n'.output
end
class B
special A
- init initb do
+ init do
'B'.output
'1'.output
' '.output
'2'.output
' '.output
end
+ init initb do init
end
class C
special A
- init initc do
+ init do
'C'.output
'1'.output
' '.output
'2'.output
' '.output
end
+ init initc do init
end
class D
special B
special C
- init initd do
+ init do
'D'.output
'0'.output
' '.output
end
end
-#alt0#(new A.inita).work
-#alt0#(new B.initb).work
-#alt0#(new C.initc).work
-(new D.initd).work
+#alt0#(new A).work
+#alt0#(new B).work
+#alt0#(new C).work
+(new D).work
#alt0#(new D.inite).work
import base_init_linext
redef class B
- redef init initb do
+ redef init do
'b'.output
'1'.output
' '.output
end
redef class C
- redef init initc do
+ redef init do
'c'.output
'1'.output
' '.output
end
redef class D
- redef init initd do
+ redef init do
'd'.output
'1'.output
' '.output
end
end
-(new A.inita).work
-(new B.initb).work
-(new C.initc).work
-(new D.initd).work
+(new A).work
+(new B).work
+(new C).work
+(new D).work
-alt/base_init_linext2_alt2.nit:81,2--94:12: Error: Conflicting default constructor to call for B: initb, init_par, init_par2.
+alt/base_init_linext2_alt2.nit:99,2--112:12: Error: there is no available compatible constrctor in B. Discarded candidates are base_init_linext2_alt2::B::initb, base_init_linext2_alt2::B::init_par, base_init_linext2_alt2::B::init_par2(Char).
alt/base_init_linext2_alt4.nit:105,3--7: Error: Constructor of B must be invoked before constructor of C
-alt/base_init_linext2_alt4.nit:99,2--113:12: Error: Conflicting default constructor to call for B: initb, init_par.
+alt/base_init_linext2_alt4.nit:99,2--113:12: Error: there is no available compatible constrctor in B. Discarded candidates are base_init_linext2_alt4::B::initb, base_init_linext2_alt4::B::init_par, base_init_linext2_alt4::B::init_par2(Char).