From 14b0fc1a4bd68c06f4a381d59ce269d75a13730c Mon Sep 17 00:00:00 2001 From: fred Date: Sun, 24 Mar 2002 19:49:04 +0000 Subject: [PATCH] lilypond-0.0.77.jcn1 --- flower/include/virtual-methods.hh | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/flower/include/virtual-methods.hh b/flower/include/virtual-methods.hh index ea81cbbc99..b8933baa0e 100644 --- a/flower/include/virtual-methods.hh +++ b/flower/include/virtual-methods.hh @@ -16,7 +16,8 @@ */ #define NAME_MEMBERS() \ static char const *static_name();\ -virtual bool is_type_b(const char *)const; \ +static bool static_is_type_b(const char*s);\ +virtual bool is_type_b(const char *s)const { return static_is_type_b(s); } \ virtual char const *name() const{ return static_name(); } \ int a_stupid_nonexistent_function_to_allow_the_semicolon_come_out() @@ -28,20 +29,23 @@ int a_stupid_nonexistent_function_to_allow_the_semicolon_come_out() int yet_another_stupid_function_to_allow_semicolon() #define IMPLEMENT_IS_TYPE_B(D) \ - bool D::is_type_b(const char *s) const \ + IMPLEMENT_STATIC_NAME(D)\ + bool D::static_is_type_b(const char *s) \ { \ return s == static_name(); \ } #define IMPLEMENT_IS_TYPE_B1(D,B) \ - bool D::is_type_b(const char *s)const \ + IMPLEMENT_STATIC_NAME(D)\ + bool D::static_is_type_b(const char *s) \ { \ - return s == static_name() || B::is_type_b(s); \ + return s == static_name() || B::static_is_type_b(s); \ } #define IMPLEMENT_IS_TYPE_B2(D, BA, BB) \ - bool D::is_type_b(const char *s) const \ + IMPLEMENT_STATIC_NAME(D)\ + bool D::static_is_type_b(const char *s) \ { \ - return s == static_name() || BA::is_type_b(s) || BB::is_type_b(s); \ + return s == static_name() || BA::static_is_type_b(s) || BB::static_is_type_b(s); \ } #endif -- 2.39.5