Hi, I have class with not-null field and have to initialize it in constructor. But when I refactor the initialization into private method compiler complains about not initialized fields. Is it even possible to inicialize fields like that? Or could you add it to the language? :-) Thanks Ivos
Compile [fantomtest]
FindSourceFiles [2 files]
C:\Users\ivo.smid\IdeaProjects\fantom-test\fan\NonNullFields.fan(5,5): Non-nullable field 'field1' must be assigned in constructor 'make'
C:\Users\ivo.smid\IdeaProjects\fantom-test\fan\NonNullFields.fan(17,9): Not a statement
BUILD FAILED [29ms]!<pre
brianTue 13 Nov 2012
Is it even possible to inicialize fields like that?
No, it works similar to Java final fields - they have to be actually set in the constructor. Couple work arounds:
if your ctor takes it-block, the check is delayed until runtime
bedla Tue 13 Nov 2012
Hi, I have class with not-null field and have to initialize it in constructor. But when I refactor the initialization into private method compiler complains about not initialized fields. Is it even possible to inicialize fields like that? Or could you add it to the language? :-) Thanks Ivos
Output:
brian Tue 13 Nov 2012
No, it works similar to Java final fields - they have to be actually set in the constructor. Couple work arounds:
bedla Tue 13 Nov 2012
Ok, thx :-)