summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2014-09-22 20:10:24 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2014-09-22 20:10:24 (GMT)
commit92eb236037e857f38eaf24238815641a48540792 (patch)
treeda8d2e5540ec99f99ee5b6f9e7ccc634cefe3125
parente92edc49d3cdaf3f484d10f66d9cc17f2c53fc24 (diff)
downloadDoxygen-92eb236037e857f38eaf24238815641a48540792.zip
Doxygen-92eb236037e857f38eaf24238815641a48540792.tar.gz
Doxygen-92eb236037e857f38eaf24238815641a48540792.tar.bz2
Bug 735376 - tag file: Unknown compound attribute `singleton' found!
-rw-r--r--src/entry.h2
-rw-r--r--src/tagreader.cpp16
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)