]> granicus.if.org Git - icinga2/commitdiff
Revert "Make default getters and setters non-virtual"
authorMichael Friedrich <michael.friedrich@icinga.com>
Tue, 16 Jan 2018 09:41:48 +0000 (10:41 +0100)
committerMichael Friedrich <michael.friedrich@icinga.com>
Tue, 16 Jan 2018 09:41:48 +0000 (10:41 +0100)
This reverts commit 50eb774a0f57c8a09c0583e2be204bcc5bfd58cf.

refs #5759

tools/mkclass/class_lexer.ll
tools/mkclass/classcompiler.cpp
tools/mkclass/classcompiler.hpp

index 625a99f22cde5a97941d2c90eda876c97019e901..0b919546466474f9a4fda7484beaa2a0766a430e 100644 (file)
@@ -148,9 +148,6 @@ no_storage                  { yylval->num = FANoStorage; return T_FIELD_ATTRIBUTE; }
 no_user_modify                 { yylval->num = FANoUserModify; return T_FIELD_ATTRIBUTE; }
 no_user_view                   { yylval->num = FANoUserView; return T_FIELD_ATTRIBUTE; }
 deprecated                     { yylval->num = FADeprecated; return T_FIELD_ATTRIBUTE; }
-get_virtual                    { yylval->num = FAGetVirtual; return T_FIELD_ATTRIBUTE; }
-set_virtual                    { yylval->num = FASetVirtual; return T_FIELD_ATTRIBUTE; }
-virtual                                { yylval->num = FAGetVirtual | FASetVirtual; return T_FIELD_ATTRIBUTE; }
 navigation                     { return T_NAVIGATION; }
 validator                      { return T_VALIDATOR; }
 required                       { return T_REQUIRED; }
index 7d068bcd5d2dedff1236c5b60f1033e2b011a6f3..04e9abdeb8e29dd747a75a57348d24f90c2ef35d 100644 (file)
@@ -706,7 +706,7 @@ void ClassCompiler::HandleClass(const Klass& klass, const ClassDebugInfo&)
 
                /* NotifyField */
                m_Header << "public:" << std::endl
-                        << "\t" << "void NotifyField(int id, const Value& cookie = Empty) override;" << std::endl;
+                        << "\t" << "virtual void NotifyField(int id, const Value& cookie = Empty) override;" << std::endl;
 
                m_Impl << "void ObjectImpl<" << klass.Name << ">::NotifyField(int id, const Value& cookie)" << std::endl
                       << "{" << std::endl;
@@ -784,12 +784,7 @@ void ClassCompiler::HandleClass(const Klass& klass, const ClassDebugInfo&)
                                prot = "public";
 
                        m_Header << prot << ":" << std::endl
-                                << "\t";
-
-                       if (field.Attributes & FAGetVirtual || field.PureGetAccessor)
-                               m_Header << "virtual ";
-
-                       m_Header << field.Type.GetRealType() << " Get" << field.GetFriendlyName() << "(void) const";
+                                << "\t" << "virtual " << field.Type.GetRealType() << " Get" << field.GetFriendlyName() << "(void) const";
 
                        if (field.PureGetAccessor) {
                                m_Header << " = 0;" << std::endl;
@@ -818,12 +813,7 @@ void ClassCompiler::HandleClass(const Klass& klass, const ClassDebugInfo&)
                                prot = "public";
 
                        m_Header << prot << ":" << std::endl
-                                << "\t";
-
-                       if (field.Attributes & FASetVirtual || field.PureSetAccessor)
-                               m_Header << "virtual ";
-
-                       m_Header << "void Set" << field.GetFriendlyName() << "(" << field.Type.GetArgumentType() << " value, bool suppress_events = false, const Value& cookie = Empty)";
+                                << "\t" << "virtual void Set" << field.GetFriendlyName() << "(" << field.Type.GetArgumentType() << " value, bool suppress_events = false, const Value& cookie = Empty)";
 
                        if (field.PureSetAccessor) {
                                m_Header << " = 0;" << std::endl;
@@ -869,7 +859,7 @@ void ClassCompiler::HandleClass(const Klass& klass, const ClassDebugInfo&)
 
                        needs_tracking = true;
 
-                       m_Header << "\t" << "void Track" << field.GetFriendlyName() << "(" << field.Type.GetArgumentType() << " oldValue, " << field.Type.GetArgumentType() << " newValue);" << std::endl;
+                       m_Header << "\t" << "virtual void Track" << field.GetFriendlyName() << "(" << field.Type.GetArgumentType() << " oldValue, " << field.Type.GetArgumentType() << " newValue);";
 
                        m_Impl << "void ObjectImpl<" << klass.Name << ">::Track" << field.GetFriendlyName() << "(" << field.Type.GetArgumentType() << " oldValue, " << field.Type.GetArgumentType() << " newValue)" << std::endl
                               << "{" << std::endl;
@@ -940,7 +930,7 @@ void ClassCompiler::HandleClass(const Klass& klass, const ClassDebugInfo&)
                                continue;
 
                        m_Header << "public:" << std::endl
-                                << "\t" << "Object::Ptr Navigate" << field.GetFriendlyName() << "(void) const";
+                                << "\t" << "virtual Object::Ptr Navigate" << field.GetFriendlyName() << "(void) const";
 
                        if (field.PureNavigateAccessor) {
                                m_Header << " = 0;" << std::endl;
@@ -961,9 +951,8 @@ void ClassCompiler::HandleClass(const Klass& klass, const ClassDebugInfo&)
 
                /* start/stop */
                if (needs_tracking) {
-                       m_Header << "protected:" << std::endl
-                                << "\tvirtual void Start(bool runtimeCreated = false) override;" << std::endl
-                                << "\tvirtual void Stop(bool runtimeRemoved = false) override;" << std::endl;
+                       m_Header << "virtual void Start(bool runtimeCreated = false) override;" << std::endl
+                                << "virtual void Stop(bool runtimeRemoved = false) override;" << std::endl;
 
                        m_Impl << "void ObjectImpl<" << klass.Name << ">::Start(bool runtimeCreated)" << std::endl
                               << "{" << std::endl
index ab9422220bc008cee3cae3bbfb2b8a8e27acc156..06bf100d3f990951e91d98b3dff0311099b2663c 100644 (file)
@@ -73,9 +73,7 @@ enum FieldAttribute
        FANavigation = 512,
        FANoUserModify = 1024,
        FANoUserView = 2048,
-       FADeprecated = 4096,
-       FAGetVirtual = 8192,
-       FASetVirtual = 16384
+       FADeprecated = 4096
 };
 
 struct FieldType