]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/ifacecheck/src/xmlparser.cpp
Fix handling of not fully specified min/max size in wxBoxSizer.
[wxWidgets.git] / utils / ifacecheck / src / xmlparser.cpp
index b36933174791e0ad42b79e561ad469e7245a81b9..86247d1122a45e215b64ed4dfc0144a0fcb184fa 100644 (file)
@@ -165,7 +165,7 @@ void wxArgumentType::SetDefaultValue(const wxString& defval, const wxString& def
     // Note: we adjust the aesthetic form of the m_strDefaultValue string for the "modify mode"
     //       of ifacecheck: we may need to write it out in an interface header
 
     // Note: we adjust the aesthetic form of the m_strDefaultValue string for the "modify mode"
     //       of ifacecheck: we may need to write it out in an interface header
 
-    wxString *p wxDUMMY_INITIALIZE(NULL);
+    wxString *p = NULL;
     for (int i=0; i<2; i++)     // to avoid copying&pasting the code!
     {
         if (i == 0) p = &m_strDefaultValue;
     for (int i=0; i<2; i++)     // to avoid copying&pasting the code!
     {
         if (i == 0) p = &m_strDefaultValue;
@@ -234,8 +234,10 @@ bool wxArgumentType::operator==(const wxArgumentType& m) const
             (m.m_strDefaultValueForCmp.IsNumber() && m_strDefaultValueForCmp.StartsWith("wx")))
         {
             if (g_verbose)
             (m.m_strDefaultValueForCmp.IsNumber() && m_strDefaultValueForCmp.StartsWith("wx")))
         {
             if (g_verbose)
+            {
                 wxLogMessage("Supposing '%s'  default value to be the same of '%s'...",
                            m_strDefaultValueForCmp, m.m_strDefaultValueForCmp);
                 wxLogMessage("Supposing '%s'  default value to be the same of '%s'...",
                            m_strDefaultValueForCmp, m.m_strDefaultValueForCmp);
+            }
 
             return true;
         }
 
             return true;
         }
@@ -260,8 +262,10 @@ bool wxArgumentType::operator==(const wxArgumentType& m) const
         }
 
         if (g_verbose)
         }
 
         if (g_verbose)
+        {
             wxLogMessage("Argument type '%s = %s' has different default value from '%s = %s'",
                        m_strType, m_strDefaultValueForCmp, m.m_strType, m.m_strDefaultValueForCmp);
             wxLogMessage("Argument type '%s = %s' has different default value from '%s = %s'",
                        m_strType, m_strDefaultValueForCmp, m.m_strType, m.m_strDefaultValueForCmp);
+        }
         return false;
     }
 
         return false;
     }
 
@@ -330,14 +334,18 @@ bool wxMethod::MatchesExceptForAttributes(const wxMethod& m) const
         GetName() != m.GetName())
     {
         if (g_verbose)
         GetName() != m.GetName())
     {
         if (g_verbose)
+        {
             wxLogMessage("The method '%s' does not match method '%s'; different names/rettype", GetName(), m.GetName());
             wxLogMessage("The method '%s' does not match method '%s'; different names/rettype", GetName(), m.GetName());
+        }
         return false;
     }
 
     if (m_args.GetCount()!=m.m_args.GetCount()) {
         if (g_verbose)
         return false;
     }
 
     if (m_args.GetCount()!=m.m_args.GetCount()) {
         if (g_verbose)
+        {
             wxLogMessage("Method '%s' has %d arguments while '%s' has %d arguments",
                        m_strName, m_args.GetCount(), m_strName, m.m_args.GetCount());
             wxLogMessage("Method '%s' has %d arguments while '%s' has %d arguments",
                        m_strName, m_args.GetCount(), m_strName, m.m_args.GetCount());
+        }
         return false;
     }
 
         return false;
     }
 
@@ -372,7 +380,9 @@ bool wxMethod::operator==(const wxMethod& m) const
         GetAccessSpecifier() != m.GetAccessSpecifier())
     {
         if (g_verbose)
         GetAccessSpecifier() != m.GetAccessSpecifier())
     {
         if (g_verbose)
+        {
             wxLogMessage("The method '%s' does not match method '%s'; different attributes", GetName(), m.GetName());
             wxLogMessage("The method '%s' does not match method '%s'; different attributes", GetName(), m.GetName());
+        }
 
         return false;
     }
 
         return false;
     }
@@ -750,7 +760,7 @@ bool getID(unsigned long *id, const wxString& str)
 }
 
 // utility specialized to parse efficiently the gccXML list of IDs which occur
 }
 
 // utility specialized to parse efficiently the gccXML list of IDs which occur
-// in nodes like <Class> ones... i.e. numeric values separed by " _" token
+// in nodes like <Class> ones... i.e. numeric values separated by " _" token
 bool getMemberIDs(wxClassMemberIdHashMap* map, wxClass* p, const wxString& str)
 {
     const wxStringCharType * const start = str.wx_str();
 bool getMemberIDs(wxClassMemberIdHashMap* map, wxClass* p, const wxString& str)
 {
     const wxStringCharType * const start = str.wx_str();
@@ -1009,8 +1019,10 @@ bool wxXmlGccInterface::Parse(const wxString& filename)
                 // they're never used as return/argument types by wxWidgets methods
 
                 if (g_verbose)
                 // they're never used as return/argument types by wxWidgets methods
 
                 if (g_verbose)
+                {
                     wxLogWarning("Type node '%s' with ID '%s' does not have name attribute",
                                n, child->GetAttribute("id"));
                     wxLogWarning("Type node '%s' with ID '%s' does not have name attribute",
                                n, child->GetAttribute("id"));
+                }
 
                 types[id] = "TOFIX";
             }
 
                 types[id] = "TOFIX";
             }
@@ -1028,8 +1040,10 @@ bool wxXmlGccInterface::Parse(const wxString& filename)
     while (toResolveTypes.size()>0)
     {
         if (g_verbose)
     while (toResolveTypes.size()>0)
     {
         if (g_verbose)
+        {
             wxLogMessage("%d types were collected; %d types need yet to be resolved...",
                        types.size(), toResolveTypes.size());
             wxLogMessage("%d types were collected; %d types need yet to be resolved...",
                        types.size(), toResolveTypes.size());
+        }
 
         for (wxToResolveTypeHashMap::iterator i = toResolveTypes.begin();
              i != toResolveTypes.end();)
 
         for (wxToResolveTypeHashMap::iterator i = toResolveTypes.begin();
              i != toResolveTypes.end();)
@@ -1266,7 +1280,7 @@ bool wxXmlGccInterface::ParseMethod(const wxXmlNode *p,
 
     // NOTE: gccxml is smart enough to mark as virtual those functions
     //       which are declared virtual in base classes but don't have
 
     // NOTE: gccxml is smart enough to mark as virtual those functions
     //       which are declared virtual in base classes but don't have
-    //       the "virtual" keyword explicitely indicated in the derived
+    //       the "virtual" keyword explicitly indicated in the derived
     //       classes... so we don't need any further logic for virtuals
 
     m.SetVirtual(p->GetAttribute("virtual") == "1");
     //       classes... so we don't need any further logic for virtuals
 
     m.SetVirtual(p->GetAttribute("virtual") == "1");
@@ -1468,7 +1482,9 @@ bool wxXmlDoxygenInterface::ParseCompoundDefinition(const wxString& filename)
     int nodes = 0;
 
     if (g_verbose)
     int nodes = 0;
 
     if (g_verbose)
+    {
         wxLogMessage("Parsing %s...", filename);
         wxLogMessage("Parsing %s...", filename);
+    }
 
     if (!doc.Load(filename)) {
         wxLogError("can't load %s", filename);
 
     if (!doc.Load(filename)) {
         wxLogError("can't load %s", filename);
@@ -1513,11 +1529,10 @@ bool wxXmlDoxygenInterface::ParseCompoundDefinition(const wxString& filename)
                             membernode->GetAttribute("kind") == "function" &&
                             (accessSpec == "public" || accessSpec == "protected"))
                         {
                             membernode->GetAttribute("kind") == "function" &&
                             (accessSpec == "public" || accessSpec == "protected"))
                         {
-
                             wxMethod m;
                             if (!ParseMethod(membernode, m, header)) {
                                 wxLogError("The method '%s' could not be added to class '%s'",
                             wxMethod m;
                             if (!ParseMethod(membernode, m, header)) {
                                 wxLogError("The method '%s' could not be added to class '%s'",
-                                         m.GetName(), klass.GetName());
+                                           m.GetName(), klass.GetName());
                                 return false;
                             }
 
                                 return false;
                             }
 
@@ -1532,9 +1547,11 @@ bool wxXmlDoxygenInterface::ParseCompoundDefinition(const wxString& filename)
                                 absoluteFile = header;
                             else if (header != absoluteFile)
                             {
                                 absoluteFile = header;
                             else if (header != absoluteFile)
                             {
-                                wxLogError("The method '%s' is documented in a different "
-                                            "file from others (which belong to '%s') ?",
-                                            header, absoluteFile);
+                                wxLogError("Found inconsistency in the XML file '%s': "
+                                           "the method '%s' is documented in the "
+                                           "file '%s' but the other methods of the same "
+                                           "class are documented in the file '%s'",
+                                            filename, m.GetName(), header, absoluteFile);
                                 return false;
                             }
 
                                 return false;
                             }
 
@@ -1576,10 +1593,14 @@ bool wxXmlDoxygenInterface::ParseCompoundDefinition(const wxString& filename)
 
             // add a new class
             if (klass.IsOk())
 
             // add a new class
             if (klass.IsOk())
+            {
                 m_classes.Add(klass);
                 m_classes.Add(klass);
+            }
             else if (g_verbose)
             else if (g_verbose)
+            {
                 wxLogWarning("discarding class '%s' with %d methods...",
                            klass.GetName(), klass.GetMethodCount());
                 wxLogWarning("discarding class '%s' with %d methods...",
                            klass.GetName(), klass.GetMethodCount());
+            }
         }
 
         child = child->GetNext();
         }
 
         child = child->GetNext();
@@ -1665,7 +1686,7 @@ bool wxXmlDoxygenInterface::ParseMethod(const wxXmlNode* p, wxMethod& m, wxStrin
 
     // NOTE: Doxygen is smart enough to mark as virtual those functions
     //       which are declared virtual in base classes but don't have
 
     // NOTE: Doxygen is smart enough to mark as virtual those functions
     //       which are declared virtual in base classes but don't have
-    //       the "virtual" keyword explicitely indicated in the derived
+    //       the "virtual" keyword explicitly indicated in the derived
     //       classes... so we don't need any further logic for virtuals
 
     m.SetVirtual(p->GetAttribute("virt")=="virtual");
     //       classes... so we don't need any further logic for virtuals
 
     m.SetVirtual(p->GetAttribute("virt")=="virtual");