Well, it is stored in __INIT for A, but that's not exactly easy to get at from B...
On a side note; one thing that would be useful when using getters and setters would be the ability to access the getter/setter function that was overloaded. eg:
class A { private string(0..255) x_storage; void `x=(string(0..255) x) { if (string.width(x)) error("String contains wide characters.\n"); x_storage = x; } }
class B { inherit A; void `x=(string(0..255) x) { string q = utf8_to_string(x); // Check that x is valid UTF8. A::x = x; } }
Currently the above code will not work, since the line
A::x = x
will call B::`x=() rather than A::`x=().