Full Property Declaration
A full property declaration looks a lot like a declaration for a class. It implicitly opens a namespace and allows for overloaded setters, member fields, helper methods, constructors/destructors etc.
property g_prop {
int m_x = 5; // member field with in-place initializer
int get() {
return m_x;
}
set(int x) {
m_x = x;
update();
}
set(double x); // overloaded setter
update(); // helper method
}
A body of a method can be placed right away (Java-style inline body definition) or outside – maybe even in another file (C++-style out-of-line body definition).