https://svn.lrde.epita.fr/svn/oln/trunk
Index: ChangeLog
from Roland Levillain <roland(a)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(a)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(a)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(a)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(a)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(a)lrde.epita.fr>
Enhance error handling in mlc::switch_.