Index: TODO =================================================================== diff -u -re6d201c8c8e23c734472b1f4b48c56187ebddf5a -r8309bbb9459e29aa20e673d9f40d190522c1fff1 --- TODO (.../TODO) (revision e6d201c8c8e23c734472b1f4b48c56187ebddf5a) +++ TODO (.../TODO) (revision 8309bbb9459e29aa20e673d9f40d190522c1fff1) @@ -4996,15 +4996,14 @@ try/catch, and there are no regression tests for xotcl and nx, and we could not find any script that uses this +nsf.c: +- de-spaghetti precedence computations for multiple inheritance and + improve documentation +- get rid of // comments + ======================================================================== TODO: -- Revisit nsf::*::assertion interface? Why does nsf::method::assertion - allow for setting invariants. One would rather expect a - ::nsf::object|class::assertion or the like? - -- remove / rephrase "//"-comments - - check deactivated tests in tests/serialize.test C(One), C(IgnoreAll), C(None2) and xlloc fix @@ -5271,6 +5270,20 @@ about parameter definitions. They don't check anything by design. + * RFE Revisit nsf::*::assertion interface? Why does nsf::method::assertion + allow for setting invariants. One would rather expect a + ::nsf::object|class::assertion or the like? + + The reason for the current naming is simply that assertions + are only implemented for scripted methods. + * pre/post conditions are just checked for scripted methods, + since only these have stack frames, which are necessary + to access self or the resolver variables. + * invariants are only checkable during scripted methods, + there is no way to intercept c-based functions. + Checking these before/after c-implemented functions + should be possible though. + * add maybe "::nsf::object::property /obj/ volatile 0|1" to alter volatile state.