Commit 92eb2360 authored by Dimitri van Heesch's avatar Dimitri van Heesch
Browse files

Bug 735376 - tag file: Unknown compound attribute `singleton' found!

parent e92edc49
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -133,7 +133,7 @@ class Entry
    static const uint64 Enum            = (1ULL<<12); // for Java-style enums
    static const uint64 Service         = (1ULL<<13); // UNO IDL
    static const uint64 Singleton       = (1ULL<<14); // UNO IDL
    static const uint64 ForwardDecl     = (1ULL<<14); // forward declarad template classes
    static const uint64 ForwardDecl     = (1ULL<<15); // forward declarad template classes

    // member specifiers (add new items to the beginning)
    static const uint64 PrivateGettable     = (1ULL<<20); // C# private getter
+15 −1
Original line number Diff line number Diff line
@@ -95,7 +95,7 @@ class TagMemberInfo
class TagClassInfo
{
  public:
    enum Kind { Class, Struct, Union, Interface, Exception, Protocol, Category, Enum };
    enum Kind { Class, Struct, Union, Interface, Exception, Protocol, Category, Enum, Service, Singleton };
    TagClassInfo() { bases=0, templateArguments=0; members.setAutoDelete(TRUE); isObjC=FALSE; }
   ~TagClassInfo() { delete bases; delete templateArguments; }
    QCString name;
@@ -325,6 +325,18 @@ class TagFileParser : public QXmlDefaultHandler
        m_curClass->kind = TagClassInfo::Category;
        m_state = InClass;
      }
      else if (kind=="service")
      {
        m_curClass = new TagClassInfo;
        m_curClass->kind = TagClassInfo::Service;
        m_state = InClass;
      }
      else if (kind=="singleton")
      {
        m_curClass = new TagClassInfo;
        m_curClass->kind = TagClassInfo::Singleton;
        m_state = InClass;
      }
      else if (kind=="file")
      {
        m_curFile = new TagFileInfo;
@@ -1296,6 +1308,8 @@ void TagFileParser::buildLists(Entry *root)
      case TagClassInfo::Exception: ce->spec = Entry::Exception; break;
      case TagClassInfo::Protocol:  ce->spec = Entry::Protocol;  break;
      case TagClassInfo::Category:  ce->spec = Entry::Category;  break;
      case TagClassInfo::Service:   ce->spec = Entry::Service;   break;
      case TagClassInfo::Singleton: ce->spec = Entry::Singleton; break;
    }
    ce->name     = tci->name;
    if (tci->kind==TagClassInfo::Protocol)