On 29.02.2016 11:52, Jesper Steen Møller wrote:
Hi Jochen and Henry
On 29. feb. 2016, at 11.29, Jochen Theodorou <blackd...@gmx.org> wrote:
On 27.02.2016 19:29, Christophe Henry wrote:
[...]
public class CustomApplication extends Application
{
private static instance
[…]
public ContextgetApplicationContext(){return
instance.applicationContext }
Hmmm, I wonder if this can be made sense of or not. A trait can be seen as some
independent piece that can be added to a class. But for it to be independent,
it cannot be non-static. In your code the trait implementation would depend on
an instance of CustomApplication and cannot be created without supplying such
an instance.
Henry’s example refers to a static field, so it wouldn’t require the outer
instance, analogous to an interface (which is static by definition).
oh... I did not see that, thanks for the clarification.
Those semantics should be easy enough to cope with, if only the grammar (and
taste!) would allow it.
Why does the grammar not allow it? The grammar does imho, but the later
parts of the compiler are not prepared for that kind of trouble and
either fail with BUG! messages (I had an NPE in one case for example) or
produces code, which does not work.
All that mostly because traits have not been considered for use inside a
class... Adding an appropriate error message for this would have been
good. Or we go and fix it - which is not done so easily
bye Jochen