nitc: fix calling extern constructors from extern code in separate compiler
[nit.git] / tests / base_init_linext.nit
index 0503278..ac1d618 100644 (file)
 import kernel
 
 class A
-       init inita do
+       init do
                'A'.output
                ' '.output
        end
-       meth work do '\n'.output
+       init inita do init
+       fun work do '\n'.output
 end
 
 class B
-special A
-       init initb do
+       super A
+       init do
                'B'.output
                '1'.output
                ' '.output
-               inita
+               super
                'B'.output
                '2'.output
                ' '.output
        end
+       init initb do init
 end
 
 class C
-special A
-       init initc do
+       super A
+       init do
                'C'.output
                '1'.output
                ' '.output
-               inita
+               super
                'C'.output
                '2'.output
                ' '.output
        end
+       init initc do init
 end
 
 class D
-special B
-special C
-       init initd do
-               'D'.output
-               '0'.output
-               ' '.output
-#alt1#         inita
-#alt3#         inita
-#alt5#         inita
-#alt7#         inita
-#alt9#         inita
-#alt11#                inita
-#alt13#                inita
-#alt15#                inita
+       super B
+       super C
+       init do
                'D'.output
                '1'.output
                ' '.output
-#alt2#         initb
-#alt3#         initb
-#alt6#         initb
-#alt7#         initb
-#alt10#                initb
-#alt11#                initb
-#alt14#                initb
-#alt15#                initb
+               super
                'D'.output
                '2'.output
                ' '.output
-#alt4#         initc
-#alt5#         initc
-#alt6#         initc
-#alt7#         initc
-#alt12#                initc
-#alt13#                initc
-#alt14#                initc
-#alt15#                initc
-               'D'.output
-               '3'.output
-               ' '.output
-#alt8#         inite
-#alt9#         inite
-#alt10#                inite
-#alt11#                inite
-#alt12#                inite
-#alt13#                inite
-#alt14#                inite
-#alt15#                inite
-               'D'.output
-               '4'.output
-               ' '.output
        end
 
        init inite do
@@ -122,8 +85,8 @@ special C
        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