update NOTICE and LICENSE
[nit.git] / tests / test_variance_ret.nit
index 44e1043..107a202 100644 (file)
 # limitations under the License.
 
 class A
-    meth foo: A
+    fun foo: A
     do 
            return new A
     end
     
-    meth bar: B 
+    fun bar: B 
     do 
            return new B 
     end
     
-    meth baz: Int 
+    fun baz: C
     do 
-           return 5 
+           return new C(5)
     end
     
-    redef meth output 
+    redef fun output 
     do 
            'A'.output 
     end
@@ -39,44 +39,44 @@ class A
 end
 
 class B
-special A
-    redef meth foo: B 
+       super A
+    redef fun foo: B 
     do 
            return new B 
     end
-    redef meth bar: Int 
+    redef fun bar: C
     do 
-           return 6 
+           return new C(6)
     end
-    redef meth baz: Int 
+    redef fun baz: C 
     do 
-           return 7 
+           return new C(7)
     end
-    redef meth output 
+    redef fun output 
     do 
            'B'.output 
     end
 
     init do end
 end
-
-redef class Int
-special B
-    redef meth foo: Int 
+class C
+       super B
+    redef fun foo: C
     do 
-           return 8 
+           return new C(8) 
     end
-    redef meth bar: Int 
+    redef fun bar: C 
     do
-           return 9
+           return new C(9)
     end
-    redef meth output is intern
+    redef fun output do i.output
+    var i: Int
+    init (i: Int) do self.i = i
 end
-
 var a = new A
 var b = new B
 var ab: A = b
-var i = 5
+var i = new C(5)
 var ai: A = i
 var bi: B = i