Partial classes
Partial classes is yet a feature that has not made it into the Object Pascal standard. It basically means that the full declaration and implementation of a class or record type can be spread over multiple source-files. So you can have the same class name defined in different units, with different methods, and the compiler "glues it all together" during the build process. This is extremely powerful stuff.
Partial classes is especially handy for large class hierarchies that target different platforms. Depending on the platform set by the programmer, the implementation of certain features differs according to the source-files included. So you can have some base classes in one unit, then a second unit meant for iPhones and a third unit meant for Android.
In our runtime library we make heavy use of partial classes. For example, if you include the qtx.dom.sprite3D.pas unit, all TQTXWidget's suddenly gain 3D methods and properties. Those only exist if the Sprite3D unit is referenced, because TQTXWidget is defined as a partial class - so we can expand it in other units.
DWScript supports two declaration formats of partial classes. The RemObjects Oxygene Pascal syntax, and also the more intuitive "type mytype = partial class(ancestor type)" variation.
TQTXWidget = partial class(TQTXDOMComponent)
private
fLeft: int32 = -1;
fTop: int32 = -1;
fWidth: int32 = -1;
fHeight: int32 = -1;
..