Skip to content

Commit

Permalink
Bug 735376 - tag file: Unknown compound attribute `singleton' found!
Browse files Browse the repository at this point in the history
  • Loading branch information
Dimitri van Heesch committed Sep 22, 2014
1 parent e92edc4 commit 92eb236
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 2 deletions.
2 changes: 1 addition & 1 deletion src/entry.h
Expand Up @@ -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
Expand Down
16 changes: 15 additions & 1 deletion src/tagreader.cpp
Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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)
Expand Down

0 comments on commit 92eb236

Please sign in to comment.