tests: update base_attr_abstract[12].nit
authorJean Privat <jean@pryen.org>
Wed, 27 May 2015 15:21:01 +0000 (11:21 -0400)
committerJean Privat <jean@pryen.org>
Tue, 9 Jun 2015 00:50:21 +0000 (20:50 -0400)
Signed-off-by: Jean Privat <jean@pryen.org>

tests/base_attr_abstract.nit
tests/base_attr_abstract2.nit
tests/sav/base_attr_abstract.res
tests/sav/base_attr_abstract_alt1.res
tests/sav/base_attr_abstract_alt2.res
tests/sav/base_attr_abstract_alt3.res
tests/sav/base_attr_abstract_alt4.res
tests/sav/base_attr_abstract_alt5.res [new file with mode: 0644]

index 34c1e4c..d4b07a7 100644 (file)
 
 import kernel
 
-interface Foo
+class Foo
        var a: Object is abstract
-       #alt1#var b = 1 is abstract
-       #alt2#var b is abstract, noautoinit
+       var b: Object = 10 is abstract
+       #alt1#var b is abstract, noautoinit
+       #alt1#var c = 1 is abstract, lazy
+       #alt1#var d = 1 is abstract, autoinit
+       #alt1#var e = 1 is abstract, readonly
 end
 
 class Bar
        super Foo
        redef var a
+       redef var b is noinit
 end
 
 class Baz
        super Foo
-       redef fun a do return 100
-       redef fun a=(x) do (101).output
-end
-
-class FooBar
-       super Foo
+       redef fun a do return 100 #alt2#
+       redef fun a=(x) do (101).output #alt3#
+       redef fun b do return 200 #alt4#
+       redef fun b=(x) do (201).output #alt5#
 end
 
 var f: Foo = new Bar(1)
@@ -40,11 +42,21 @@ f.a.output
 f.a = 2
 f.a.output
 
+'\n'.output
+
+f.b.output
+f.b = 20
+f.b.output
+
+'\n'.output
+
 f = new Baz
 f.a.output
 f.a = 3
 f.a.output
 
-f = new FooBar
-#alt3#f.a.output
-#alt4#f.a = 4
+'\n'.output
+
+f.b.output
+f.b = 30
+f.b.output
index 931f334..0a5b8e9 100644 (file)
@@ -16,7 +16,7 @@ import standard::kernel
 
 abstract class A
        var x: Int
-       var y: Int is abstract
+       var y: Int is abstract, autoinit
 end
 
 class B
index 36f0f1a..fa5258d 100644 (file)
@@ -1,5 +1,3 @@
-1
-2
-100
-101
-100
+base_attr_abstract.nit:19,24--31: Error: `abstract` attributes cannot have an initial value.
+base_attr_abstract.nit:37,12--13: Error: no property `Baz::b=` is inherited. Remove the `redef` keyword to define a new property.
+base_attr_abstract.nit:37,15: Error: untyped parameter `x'.
index 4b97e69..e3a1ef5 100644 (file)
@@ -1 +1,7 @@
-alt/base_attr_abstract_alt1.nit:19,15--22: Error: `abstract` attributes cannot have an initial value.
+alt/base_attr_abstract_alt1.nit:19,24--31: Error: `abstract` attributes cannot have an initial value.
+alt/base_attr_abstract_alt1.nit:20,6: Error: a property `b` is already defined in class `Foo` at line 19.
+alt/base_attr_abstract_alt1.nit:21,15--22: Error: `abstract` attributes cannot have an initial value.
+alt/base_attr_abstract_alt1.nit:22,15--22: Error: `abstract` attributes cannot have an initial value.
+alt/base_attr_abstract_alt1.nit:23,15--22: Error: `abstract` attributes cannot have an initial value.
+alt/base_attr_abstract_alt1.nit:37,12--13: Error: no property `Baz::b=` is inherited. Remove the `redef` keyword to define a new property.
+alt/base_attr_abstract_alt1.nit:37,15: Error: untyped parameter `x'.
index af3a672..f79bebd 100644 (file)
@@ -1,2 +1,3 @@
-alt/base_attr_abstract_alt2.nit:20,6: Error: untyped attribute `base_attr_abstract_alt2#Foo#b`.
-alt/base_attr_abstract_alt2.nit:20,21--30: Error: `noautoinit` attributes cannot be abstract.
+alt/base_attr_abstract_alt2.nit:19,24--31: Error: `abstract` attributes cannot have an initial value.
+alt/base_attr_abstract_alt2.nit:37,12--13: Error: no property `Baz::b=` is inherited. Remove the `redef` keyword to define a new property.
+alt/base_attr_abstract_alt2.nit:37,15: Error: untyped parameter `x'.
index 4052598..b112e42 100644 (file)
@@ -1,6 +1,3 @@
-Runtime error: Abstract method `a` called on `FooBar` (alt/base_attr_abstract_alt3.nit:18)
-1
-2
-100
-101
-100
+alt/base_attr_abstract_alt3.nit:19,24--31: Error: `abstract` attributes cannot have an initial value.
+alt/base_attr_abstract_alt3.nit:37,12--13: Error: no property `Baz::b=` is inherited. Remove the `redef` keyword to define a new property.
+alt/base_attr_abstract_alt3.nit:37,15: Error: untyped parameter `x'.
index 09d65f9..0d349af 100644 (file)
@@ -1,6 +1,3 @@
-Runtime error: Abstract method `a=` called on `FooBar` (alt/base_attr_abstract_alt4.nit:18)
-1
-2
-100
-101
-100
+alt/base_attr_abstract_alt4.nit:19,24--31: Error: `abstract` attributes cannot have an initial value.
+alt/base_attr_abstract_alt4.nit:37,12--13: Error: no property `Baz::b=` is inherited. Remove the `redef` keyword to define a new property.
+alt/base_attr_abstract_alt4.nit:37,15: Error: untyped parameter `x'.
diff --git a/tests/sav/base_attr_abstract_alt5.res b/tests/sav/base_attr_abstract_alt5.res
new file mode 100644 (file)
index 0000000..431493f
--- /dev/null
@@ -0,0 +1 @@
+alt/base_attr_abstract_alt5.nit:19,24--31: Error: `abstract` attributes cannot have an initial value.