summaryrefslogtreecommitdiffstats
path: root/addon/doxmlparser
diff options
context:
space:
mode:
Diffstat (limited to 'addon/doxmlparser')
-rw-r--r--addon/doxmlparser/include/doxmlintf.h11
-rw-r--r--addon/doxmlparser/src/compoundhandler.cpp55
-rw-r--r--addon/doxmlparser/src/compoundhandler.h1
-rw-r--r--addon/doxmlparser/src/doxmlintf.h11
-rw-r--r--addon/doxmlparser/src/loamhandler.cpp17
-rw-r--r--addon/doxmlparser/src/loamhandler.h2
-rw-r--r--addon/doxmlparser/src/memberhandler.cpp39
-rw-r--r--addon/doxmlparser/src/memberhandler.h10
-rw-r--r--addon/doxmlparser/src/sectionhandler.cpp5
9 files changed, 108 insertions, 43 deletions
diff --git a/addon/doxmlparser/include/doxmlintf.h b/addon/doxmlparser/include/doxmlintf.h
index 51a6191..e79946d 100644
--- a/addon/doxmlparser/include/doxmlintf.h
+++ b/addon/doxmlparser/include/doxmlintf.h
@@ -111,7 +111,11 @@ class IMemberReference
{
public:
virtual IMember *member() const = 0;
- virtual const IString * memberName() const = 0;
+ virtual const IString * name() const = 0;
+ virtual const IString * scope() const = 0;
+ virtual const IString * protection() const = 0;
+ virtual const IString * virtualness() const = 0;
+ virtual const IString * ambiguityScope() const = 0;
};
class IMemberReferenceIterator
@@ -695,6 +699,11 @@ class ISection
ProSlots, //!< Protected slots
ProStatFuncs, //!< Protected static member functions
ProStatAttribs, //!< Protected static member attributes
+ PacTypes, //!< Package member typedefs
+ PacFuncs, //!< Package member functions
+ PacAttribs, //!< Package member attributes
+ PacStatFuncs, //!< Package static member functions
+ PacStatAttribs, //!< Package static member attributes
PriTypes, //!< Private member typedefs
PriFuncs, //!< Private member functions
PriAttribs, //!< Private member attributes
diff --git a/addon/doxmlparser/src/compoundhandler.cpp b/addon/doxmlparser/src/compoundhandler.cpp
index 5667844..e603975 100644
--- a/addon/doxmlparser/src/compoundhandler.cpp
+++ b/addon/doxmlparser/src/compoundhandler.cpp
@@ -167,46 +167,51 @@ CompoundHandler::CompoundHandler(const QString &xmlDir)
addStartHandler("compoundname");
addEndHandler("compoundname",this,&CompoundHandler::endCompoundName);
- addStartHandler("derivedcompoundref",this,&CompoundHandler::addSubClass);
- addEndHandler("derivedcompoundref");
+ addStartHandler("title",this,&CompoundHandler::startTitle);
addStartHandler("basecompoundref",this,&CompoundHandler::addSuperClass);
addEndHandler("basecompoundref");
- addStartHandler("briefdescription",this,&CompoundHandler::startBriefDesc);
+ addStartHandler("derivedcompoundref",this,&CompoundHandler::addSubClass);
+ addEndHandler("derivedcompoundref");
- addStartHandler("detaileddescription",this,&CompoundHandler::startDetailedDesc);
-
- addStartHandler("sectiondef",this,&CompoundHandler::startSection);
+ // includes
+ // includedby
- addStartHandler("location",this,&CompoundHandler::startLocation);
- addEndHandler("location");
-
- addStartHandler("programlisting",this,&CompoundHandler::startProgramListing);
-
- addStartHandler("inheritancegraph",this,&CompoundHandler::startInheritanceGraph);
-
- addStartHandler("collaborationgraph",this,&CompoundHandler::startCollaborationGraph);
-
addStartHandler("incdepgraph",this,&CompoundHandler::startIncludeDependencyGraph);
addStartHandler("invincdepgraph",this,&CompoundHandler::startIncludedByDependencyGraph);
+ addStartHandler("innerfile",this,&CompoundHandler::startInnerFile);
+ addEndHandler("innerfile");
+
addStartHandler("innerclass",this,&CompoundHandler::startInnerClass);
addEndHandler("innerclass");
addStartHandler("innernamespace",this,&CompoundHandler::startInnerNamespace);
addEndHandler("innernamespace");
- addStartHandler("innerfile",this,&CompoundHandler::startInnerFile);
- addEndHandler("innerfile");
-
+ // innerpage
+
addStartHandler("innergroup",this,&CompoundHandler::startInnerGroup);
addEndHandler("innergroup");
addStartHandler("templateparamlist",this,&CompoundHandler::startTemplateParamList);
- addStartHandler("title",this,&CompoundHandler::startTitle);
+ addStartHandler("sectiondef",this,&CompoundHandler::startSection);
+
+ addStartHandler("briefdescription",this,&CompoundHandler::startBriefDesc);
+
+ addStartHandler("detaileddescription",this,&CompoundHandler::startDetailedDesc);
+
+ addStartHandler("inheritancegraph",this,&CompoundHandler::startInheritanceGraph);
+
+ addStartHandler("collaborationgraph",this,&CompoundHandler::startCollaborationGraph);
+
+ addStartHandler("programlisting",this,&CompoundHandler::startProgramListing);
+
+ addStartHandler("location",this,&CompoundHandler::startLocation);
+ addEndHandler("location");
addStartHandler("listofallmembers",this,&CompoundHandler::startListOfAllMembers);
}
@@ -259,6 +264,7 @@ void CompoundHandler::startCompound(const QXmlAttributes& attrib)
m_id = attrib.value("id");
m_kindString = attrib.value("kind");
m_kind = s_typeMap->map(m_kindString);
+ m_protection = attrib.value("prot");
debug(2,"startCompound(id=`%s' type=`%s')\n",m_id.data(),m_kindString.data());
}
@@ -317,9 +323,14 @@ void CompoundHandler::addSuperClass(const QXmlAttributes& attrib)
{
IRelatedCompound::Protection prot = IRelatedCompound::Public;
QString protString = attrib.value("prot");
- if (protString=="protected") prot = IRelatedCompound::Protected;
- else if (protString=="private") prot = IRelatedCompound::Private;
-
+ if (protString=="protected")
+ {
+ prot = IRelatedCompound::Protected;
+ }
+ else if (protString=="private")
+ {
+ prot = IRelatedCompound::Private;
+ }
IRelatedCompound::Kind kind = IRelatedCompound::Normal;
QString kindString = attrib.value("virt");
if (kindString=="virtual") kind = IRelatedCompound::Virtual;
diff --git a/addon/doxmlparser/src/compoundhandler.h b/addon/doxmlparser/src/compoundhandler.h
index 3f6e251..5cdca35 100644
--- a/addon/doxmlparser/src/compoundhandler.h
+++ b/addon/doxmlparser/src/compoundhandler.h
@@ -153,6 +153,7 @@ class CompoundHandler : public IClass,
DocHandler* m_detailed;
ProgramListingHandler* m_programListing;
StringImpl m_id;
+ StringImpl m_protection;
StringImpl m_kindString;
CompoundKind m_kind;
StringImpl m_name;
diff --git a/addon/doxmlparser/src/doxmlintf.h b/addon/doxmlparser/src/doxmlintf.h
index 51a6191..e79946d 100644
--- a/addon/doxmlparser/src/doxmlintf.h
+++ b/addon/doxmlparser/src/doxmlintf.h
@@ -111,7 +111,11 @@ class IMemberReference
{
public:
virtual IMember *member() const = 0;
- virtual const IString * memberName() const = 0;
+ virtual const IString * name() const = 0;
+ virtual const IString * scope() const = 0;
+ virtual const IString * protection() const = 0;
+ virtual const IString * virtualness() const = 0;
+ virtual const IString * ambiguityScope() const = 0;
};
class IMemberReferenceIterator
@@ -695,6 +699,11 @@ class ISection
ProSlots, //!< Protected slots
ProStatFuncs, //!< Protected static member functions
ProStatAttribs, //!< Protected static member attributes
+ PacTypes, //!< Package member typedefs
+ PacFuncs, //!< Package member functions
+ PacAttribs, //!< Package member attributes
+ PacStatFuncs, //!< Package static member functions
+ PacStatAttribs, //!< Package static member attributes
PriTypes, //!< Private member typedefs
PriFuncs, //!< Private member functions
PriAttribs, //!< Private member attributes
diff --git a/addon/doxmlparser/src/loamhandler.cpp b/addon/doxmlparser/src/loamhandler.cpp
index de726c1..a939b7b 100644
--- a/addon/doxmlparser/src/loamhandler.cpp
+++ b/addon/doxmlparser/src/loamhandler.cpp
@@ -9,6 +9,8 @@ ListOfAllMembersHandler::ListOfAllMembersHandler(IBaseHandler *parent) : m_paren
addStartHandler("member",this,&ListOfAllMembersHandler::startMember);
addStartHandler("name",this,&ListOfAllMembersHandler::startName);
addEndHandler("name",this,&ListOfAllMembersHandler::endName);
+ addStartHandler("scope",this,&ListOfAllMembersHandler::startScope);
+ addEndHandler("scope",this,&ListOfAllMembersHandler::endScope);
addEndHandler("listofallmembers",this,&ListOfAllMembersHandler::endListOfAllMembers);
}
@@ -27,7 +29,9 @@ void ListOfAllMembersHandler::startMember(const QXmlAttributes& attrib)
{
MemberReference *mr = new MemberReference;
mr->m_memId = attrib.value("refid");
- // TODO: extract prot, virt, ambiguityscope and scope as well
+ mr->m_virtualness = attrib.value("virt");
+ mr->m_protection = attrib.value("prot");
+ mr->m_ambiguityScope = attrib.value("ambiguityscope");
m_members.append(new MemberReference);
}
@@ -42,6 +46,17 @@ void ListOfAllMembersHandler::endName()
m_members.getLast()->m_name = m_curString;
}
+void ListOfAllMembersHandler::startScope(const QXmlAttributes&)
+{
+ m_curString="";
+}
+
+void ListOfAllMembersHandler::endScope()
+{
+ ASSERT(m_members.getLast());
+ m_members.getLast()->m_scope = m_curString;
+}
+
void ListOfAllMembersHandler::startListOfAllMembers(const QXmlAttributes& /*attrib*/)
{
m_parent->setDelegate(this);
diff --git a/addon/doxmlparser/src/loamhandler.h b/addon/doxmlparser/src/loamhandler.h
index f7e5a3f..f03c541 100644
--- a/addon/doxmlparser/src/loamhandler.h
+++ b/addon/doxmlparser/src/loamhandler.h
@@ -31,6 +31,8 @@ class ListOfAllMembersHandler : public BaseHandler<ListOfAllMembersHandler>
virtual void startMember(const QXmlAttributes& attrib);
virtual void startName(const QXmlAttributes& attrib);
virtual void endName();
+ virtual void startScope(const QXmlAttributes& attrib);
+ virtual void endScope();
virtual void startListOfAllMembers(const QXmlAttributes& attrib);
virtual void endListOfAllMembers();
diff --git a/addon/doxmlparser/src/memberhandler.cpp b/addon/doxmlparser/src/memberhandler.cpp
index a46df85..2ea5e4b 100644
--- a/addon/doxmlparser/src/memberhandler.cpp
+++ b/addon/doxmlparser/src/memberhandler.cpp
@@ -158,40 +158,45 @@ MemberHandler::MemberHandler(IBaseHandler *parent)
{
//printf("MemberHandler::MemberHandler() %p\n",this);
addEndHandler("memberdef",this,&MemberHandler::endMember);
- addEndHandler("enumvalue",this,&MemberHandler::endMember);
- addStartHandler("type",this,&MemberHandler::startType);
- addStartHandler("initializer",this,&MemberHandler::startInitializer);
- addStartHandler("exception",this,&MemberHandler::startException);
- addStartHandler("enumvalue",this,&MemberHandler::startEnumValue2);
+ addStartHandler("templateparamlist",this,&MemberHandler::startTemplateParamList);
+ addEndHandler("templateparamlist",this,&MemberHandler::endTemplateParamList);
+ addStartHandler("type",this,&MemberHandler::startType);
+ // definition
+ // argsstring
addStartHandler("name",this,&MemberHandler::startName);
addEndHandler("name",this,&MemberHandler::endName);
+ addStartHandler("reimplements",this,&MemberHandler::startReimplements);
+ addEndHandler("reimplements",this,&MemberHandler::endReimplements);
+
+ addStartHandler("reimplementedby",this,&MemberHandler::startReimplementedBy);
+ addEndHandler("reimplementedby",this,&MemberHandler::endReimplementedBy);
+
addStartHandler("param",this,&MemberHandler::startParam);
+ addStartHandler("enumvalue",this,&MemberHandler::startEnumValue2);
+ addEndHandler("enumvalue",this,&MemberHandler::endMember);
+
+ addStartHandler("initializer",this,&MemberHandler::startInitializer);
+ addStartHandler("exception",this,&MemberHandler::startException);
+
addStartHandler("briefdescription",this,&MemberHandler::startBriefDesc);
addStartHandler("detaileddescription",this,&MemberHandler::startDetailedDesc);
+ // inbodydescription
+
+ addStartHandler("location",this,&MemberHandler::startLocation);
+ addEndHandler("location");
+
addStartHandler("references",this,&MemberHandler::startReferences);
addEndHandler("references",this,&MemberHandler::endReferences);
addStartHandler("referencedby",this,&MemberHandler::startReferencedBy);
addEndHandler("referencedby",this,&MemberHandler::endReferencedBy);
- addStartHandler("reimplements",this,&MemberHandler::startReimplements);
- addEndHandler("reimplements",this,&MemberHandler::endReimplements);
-
- addStartHandler("reimplementedby",this,&MemberHandler::startReimplementedBy);
- addEndHandler("reimplementedby",this,&MemberHandler::endReimplementedBy);
-
- addStartHandler("location",this,&MemberHandler::startLocation);
- addEndHandler("location");
-
- addStartHandler("templateparamlist",this,&MemberHandler::startTemplateParamList);
- addEndHandler("templateparamlist",this,&MemberHandler::endTemplateParamList);
-
m_type.setAutoDelete(TRUE);
m_initializer.setAutoDelete(TRUE);
m_exception.setAutoDelete(TRUE);
diff --git a/addon/doxmlparser/src/memberhandler.h b/addon/doxmlparser/src/memberhandler.h
index 213030b..1a02df3 100644
--- a/addon/doxmlparser/src/memberhandler.h
+++ b/addon/doxmlparser/src/memberhandler.h
@@ -38,11 +38,19 @@ class MemberReference : public IMemberReference
public:
virtual ~MemberReference() {}
virtual IMember *member() const;
- virtual const IString *memberName() const { return &m_name; }
+ virtual const IString *name() const { return &m_name; }
+ virtual const IString *scope() const { return &m_scope; }
+ virtual const IString *protection() const { return &m_protection; }
+ virtual const IString *virtualness() const { return &m_virtualness; }
+ virtual const IString *ambiguityScope() const { return &m_ambiguityScope; }
void initialize(MainHandler *m);
QString m_memId;
StringImpl m_name;
+ StringImpl m_scope;
+ StringImpl m_virtualness;
+ StringImpl m_protection;
+ StringImpl m_ambiguityScope;
MainHandler *m_mainHandler;
};
diff --git a/addon/doxmlparser/src/sectionhandler.cpp b/addon/doxmlparser/src/sectionhandler.cpp
index 5da0006..0703de1 100644
--- a/addon/doxmlparser/src/sectionhandler.cpp
+++ b/addon/doxmlparser/src/sectionhandler.cpp
@@ -41,6 +41,11 @@ class SectionTypeMap
m_map.insert("protected-slot",new int(ISection::ProSlots));
m_map.insert("protected-static-func",new int(ISection::ProStatFuncs));
m_map.insert("protected-static-attrib",new int(ISection::ProStatAttribs));
+ m_map.insert("package-type",new int(ISection::PacTypes));
+ m_map.insert("package-func",new int(ISection::PacFuncs));
+ m_map.insert("package-attrib",new int(ISection::PacAttribs));
+ m_map.insert("package-static-func",new int(ISection::PacStatFuncs));
+ m_map.insert("package-static-attrib",new int(ISection::PacStatAttribs));
m_map.insert("private-type",new int(ISection::PriTypes));
m_map.insert("private-func",new int(ISection::PriFuncs));
m_map.insert("private-attrib",new int(ISection::PriAttribs));