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

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

parent e92edc49
...@@ -133,7 +133,7 @@ class Entry ...@@ -133,7 +133,7 @@ class Entry
static const uint64 Enum = (1ULL<<12); // for Java-style enums static const uint64 Enum = (1ULL<<12); // for Java-style enums
static const uint64 Service = (1ULL<<13); // UNO IDL static const uint64 Service = (1ULL<<13); // UNO IDL
static const uint64 Singleton = (1ULL<<14); // 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) // member specifiers (add new items to the beginning)
static const uint64 PrivateGettable = (1ULL<<20); // C# private getter static const uint64 PrivateGettable = (1ULL<<20); // C# private getter
......
...@@ -95,7 +95,7 @@ class TagMemberInfo ...@@ -95,7 +95,7 @@ class TagMemberInfo
class TagClassInfo class TagClassInfo
{ {
public: 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() { bases=0, templateArguments=0; members.setAutoDelete(TRUE); isObjC=FALSE; }
~TagClassInfo() { delete bases; delete templateArguments; } ~TagClassInfo() { delete bases; delete templateArguments; }
QCString name; QCString name;
...@@ -325,6 +325,18 @@ class TagFileParser : public QXmlDefaultHandler ...@@ -325,6 +325,18 @@ class TagFileParser : public QXmlDefaultHandler
m_curClass->kind = TagClassInfo::Category; m_curClass->kind = TagClassInfo::Category;
m_state = InClass; 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") else if (kind=="file")
{ {
m_curFile = new TagFileInfo; m_curFile = new TagFileInfo;
...@@ -1296,6 +1308,8 @@ void TagFileParser::buildLists(Entry *root) ...@@ -1296,6 +1308,8 @@ void TagFileParser::buildLists(Entry *root)
case TagClassInfo::Exception: ce->spec = Entry::Exception; break; case TagClassInfo::Exception: ce->spec = Entry::Exception; break;
case TagClassInfo::Protocol: ce->spec = Entry::Protocol; break; case TagClassInfo::Protocol: ce->spec = Entry::Protocol; break;
case TagClassInfo::Category: ce->spec = Entry::Category; 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; ce->name = tci->name;
if (tci->kind==TagClassInfo::Protocol) if (tci->kind==TagClassInfo::Protocol)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment