Xtend 2.0 does not have constructor support. I think this is a show stopper.
"class Foo {def Foo () {/ stuff /}} declares a Foo method for Foo instances with the returned return type, and not the constructor, when the generated Java code is displayed.
This means that there is no way to extend Java classes that do not have default constructors. XTend does not complain; it happily generates Java that does not compile.
In addition, XTend does not support immutable (final) instance variables, of course.
source share