From 92eb236037e857f38eaf24238815641a48540792 Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Mon, 22 Sep 2014 22:10:24 +0200 Subject: Bug 735376 - tag file: Unknown compound attribute `singleton' found! --- src/entry.h | 2 +- src/tagreader.cpp | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/entry.h b/src/entry.h index 2cc2827..c92038f 100644 --- a/src/entry.h +++ b/src/entry.h @@ -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 diff --git a/src/tagreader.cpp b/src/tagreader.cpp index 50909ee..4b21047 100644 --- a/src/tagreader.cpp +++ b/src/tagreader.cpp @@ -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) -- cgit v0.12