2006-02-20 Roland Levillain 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. * metalic/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. * metalic/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-16 Roland Levillain Autoconfiscate the project and automate the tests. * configure.ac: New file. * Makefile.am, build-aux/Makefile.am, metalic/Makefile.am, * metalic/mlc/Makefile.am, metalic/tests/Makefile.am: New file. 2006-02-14 Roland Levillain Add TODO. * TODO: New. 2006-01-25 Roland Levillain Move Metalic-related entries in their own ChangeLog. * metalic/mlc: Move Metalic-related entries... * metalic/ChangeLog: ...here (new). 2006-01-24 Roland Levillain * vcs/oln.rb: Fix e-mail address. 2006-01-24 Roland Levillain Add Vcs helper. * vcs/oln.rb: New.