From 028a0d51bdc2b06f764cf474534ba684c0263668 Mon Sep 17 00:00:00 2001 From: Jean Privat Date: Wed, 27 May 2015 11:21:01 -0400 Subject: [PATCH] tests: update base_attr_abstract[12].nit Signed-off-by: Jean Privat --- tests/base_attr_abstract.nit | 36 ++++++++++++++++++++++----------- tests/base_attr_abstract2.nit | 2 +- tests/sav/base_attr_abstract.res | 8 +++----- tests/sav/base_attr_abstract_alt1.res | 8 +++++++- tests/sav/base_attr_abstract_alt2.res | 5 +++-- tests/sav/base_attr_abstract_alt3.res | 9 +++------ tests/sav/base_attr_abstract_alt4.res | 9 +++------ tests/sav/base_attr_abstract_alt5.res | 1 + 8 files changed, 45 insertions(+), 33 deletions(-) create mode 100644 tests/sav/base_attr_abstract_alt5.res diff --git a/tests/base_attr_abstract.nit b/tests/base_attr_abstract.nit index 34c1e4c..d4b07a7 100644 --- a/tests/base_attr_abstract.nit +++ b/tests/base_attr_abstract.nit @@ -14,25 +14,27 @@ 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 diff --git a/tests/base_attr_abstract2.nit b/tests/base_attr_abstract2.nit index 931f334..0a5b8e9 100644 --- a/tests/base_attr_abstract2.nit +++ b/tests/base_attr_abstract2.nit @@ -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 diff --git a/tests/sav/base_attr_abstract.res b/tests/sav/base_attr_abstract.res index 36f0f1a..fa5258d 100644 --- a/tests/sav/base_attr_abstract.res +++ b/tests/sav/base_attr_abstract.res @@ -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'. diff --git a/tests/sav/base_attr_abstract_alt1.res b/tests/sav/base_attr_abstract_alt1.res index 4b97e69..e3a1ef5 100644 --- a/tests/sav/base_attr_abstract_alt1.res +++ b/tests/sav/base_attr_abstract_alt1.res @@ -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'. diff --git a/tests/sav/base_attr_abstract_alt2.res b/tests/sav/base_attr_abstract_alt2.res index af3a672..f79bebd 100644 --- a/tests/sav/base_attr_abstract_alt2.res +++ b/tests/sav/base_attr_abstract_alt2.res @@ -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'. diff --git a/tests/sav/base_attr_abstract_alt3.res b/tests/sav/base_attr_abstract_alt3.res index 4052598..b112e42 100644 --- a/tests/sav/base_attr_abstract_alt3.res +++ b/tests/sav/base_attr_abstract_alt3.res @@ -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'. diff --git a/tests/sav/base_attr_abstract_alt4.res b/tests/sav/base_attr_abstract_alt4.res index 09d65f9..0d349af 100644 --- a/tests/sav/base_attr_abstract_alt4.res +++ b/tests/sav/base_attr_abstract_alt4.res @@ -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 index 0000000..431493f --- /dev/null +++ b/tests/sav/base_attr_abstract_alt5.res @@ -0,0 +1 @@ +alt/base_attr_abstract_alt5.nit:19,24--31: Error: `abstract` attributes cannot have an initial value. -- 1.7.9.5