
https://svn.lrde.epita.fr/svn/oln/trunk Index: ChangeLog from Roland Levillain <roland@lrde.epita.fr> * ChangeLog, metalic/ChangeLog: Clean up ChangeLogs. * extended/ChangeLog: New. extended/ChangeLog | 5 +++++ metalic/ChangeLog | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) Index: extended/ChangeLog --- extended/ChangeLog (revision 0) +++ extended/ChangeLog (revision 0) @@ -0,0 +1,5 @@ +2006-03-14 Roland Levillain <roland@lrde.epita.fr> + + * tests/Makefile.am (mlcdir, nobase_mlc_HEADERS): Remove. + (AM_CPPFLAGS): New. + * xtd/Makefile.am: New file. Index: metalic/ChangeLog --- metalic/ChangeLog (revision 424) +++ metalic/ChangeLog (working copy) @@ -1,3 +1,16 @@ +2006-03-14 Roland Levillain <roland@lrde.epita.fr> + + Catch up with recent changes and fix some tests of Metalic. + + * mlc/properties.hh (mlc_equip_namespace_with_properties): + Catch up with recent changes in typedef.hh/ret.hh. + Don't declare a local `ret' typedef; include mlc/ret.hh, and use + the `mlc_ret' macro instead. + * mlc/cmp.hh (eq_<T, T>): Solve ambiguous calls to + ensure(). + * tests/ret.cc: Include mlc/ret.hh instead of + mlc/typedef.hh. + 2006-03-10 Thierry Geraud <theo@lrde.epita.fr> Minor addition. @@ -43,6 +56,33 @@ * mlc/switch.hh: Change that makes this file soon obsolete. * mlc/case.hh: New file. +2006-02-20 Roland Levillain <roland@lrde.epita.fr> + + Revamp the virtual types (aka properties) system. + + No longer use the C++'s inheritance mechanism to ``pack'' the + internal vtypes of a class. Rely on a metacode algorithm to + recursively look for vtypes in internal and external vtypes + instead, using both the super link and a ``pseudosuper'' link to + visit the upper classes. The set/get classes have been replaced + by a single class (in fact, by two classes, one for internal + vtypes, the other for external vtypes). The pseudosuper link is + used to inherit (or fetch) the vtypes from a given class, without + needing to inherit from this class. + + * mlc/properties.hh (mlc_equip_namespace_with_properties): + Rewrite this macro. + (set_types, set_ext_types): Rename as... + (vtypes, ext_vtypes): ...this. + (get_types, get_ext_type): Remove. + * tests/properties.cc: Update the test. + Check for new cases (external vtype, pseudo inheritance of + vtypes). + (rec_get_vtype, rec_get_ext_vtype): New. + This class holds the algorithm for the recursive retrieval of + internal/external vtypes. + (typeof_): Adjust. + 2006-02-17 Thierry Geraud <theo@lrde.epita.fr> Enhance error handling in mlc::switch_.