From: Jean Privat Date: Tue, 25 Nov 2014 01:04:13 +0000 (-0500) Subject: Merge: SELF type X-Git-Tag: v0.6.11~20 X-Git-Url: http://nitlanguage.org Merge: SELF type If Object defines a virtual type SELF, redefines it automatically in all subclasses. Also checks for some conditions on the declaration of SELF: it must be public, it must not be fixed and it must be declared on Object (or not declared at all). These conditions ensures that its refinements are valid. The error messages when trying to redefining SELF could be improved. Maybe adding a special case preventing any redef of SELF? Pull-Request: #902 Reviewed-by: Jean Privat Reviewed-by: Etienne M. Gagnon Reviewed-by: Lucas Bajolet Reviewed-by: Alexandre Terrasa --- 668197856e878e31e134c738b5444e7d0207a382 diff --cc tests/sav/nitg-e/fixme/base_gen_reassign_alt4.res index 8229d05,37e9ff8..980ce17 --- a/tests/sav/nitg-e/fixme/base_gen_reassign_alt4.res +++ b/tests/sav/nitg-e/fixme/base_gen_reassign_alt4.res @@@ -1,4 -1,4 +1,4 @@@ - Runtime error: Cast failed. Expected `OTHER`, got `Float` (../lib/standard/kernel.nit:389) -Runtime error: Cast failed. Expected `OTHER`, got `Float` (../lib/standard/kernel.nit:396) ++Runtime error: Cast failed. Expected `OTHER`, got `Float` (../lib/standard/kernel.nit:411) 11 21 31 diff --cc tests/sav/nitg-e/fixme/base_gen_reassign_alt5.res index 8229d05,37e9ff8..980ce17 --- a/tests/sav/nitg-e/fixme/base_gen_reassign_alt5.res +++ b/tests/sav/nitg-e/fixme/base_gen_reassign_alt5.res @@@ -1,4 -1,4 +1,4 @@@ - Runtime error: Cast failed. Expected `OTHER`, got `Float` (../lib/standard/kernel.nit:389) -Runtime error: Cast failed. Expected `OTHER`, got `Float` (../lib/standard/kernel.nit:396) ++Runtime error: Cast failed. Expected `OTHER`, got `Float` (../lib/standard/kernel.nit:411) 11 21 31 diff --cc tests/sav/nitg-e/fixme/base_gen_reassign_alt6.res index 8229d05,37e9ff8..980ce17 --- a/tests/sav/nitg-e/fixme/base_gen_reassign_alt6.res +++ b/tests/sav/nitg-e/fixme/base_gen_reassign_alt6.res @@@ -1,4 -1,4 +1,4 @@@ - Runtime error: Cast failed. Expected `OTHER`, got `Float` (../lib/standard/kernel.nit:389) -Runtime error: Cast failed. Expected `OTHER`, got `Float` (../lib/standard/kernel.nit:396) ++Runtime error: Cast failed. Expected `OTHER`, got `Float` (../lib/standard/kernel.nit:411) 11 21 31