// Generates property for "_data" with name "data" mixin property!_data; // Generates only getter for "_data" with name "data" mixin getter!_data; // Generates only setter for "_data" with name "data" mixin setter!_data; // Prefix manipulation, works with getter! and setter! too // _data -> data (removes "_" prefix, default behaviour) mixin property!_data; // __data -> data (removes supplied prefix) mixin property!(__data, "__"); // __data -> gdata (replaces supplied prefix) mixin property!(__data, "__", "g"); // _data -> c_data (adds new prefix) mixin property!(_data, "", "c"); // _data -> _data (can't match prefix, keeping as is) mixin property!(_data, "A"); mixin property!(_data, "A", "B"); // _data -> propertyData (replaces entire name) mixin property!(_data, "propertyData", true);
Generates mixin for automatic property injection. All properties are created as public final @property.
Important! If symbol with same name, as property going to be, is present then D will completely override property with that symbol