diff options
Diffstat (limited to 'addon/doxmlparser')
-rw-r--r-- | addon/doxmlparser/include/doxmlintf.h | 11 | ||||
-rw-r--r-- | addon/doxmlparser/src/compoundhandler.cpp | 55 | ||||
-rw-r--r-- | addon/doxmlparser/src/compoundhandler.h | 1 | ||||
-rw-r--r-- | addon/doxmlparser/src/doxmlintf.h | 11 | ||||
-rw-r--r-- | addon/doxmlparser/src/loamhandler.cpp | 17 | ||||
-rw-r--r-- | addon/doxmlparser/src/loamhandler.h | 2 | ||||
-rw-r--r-- | addon/doxmlparser/src/memberhandler.cpp | 39 | ||||
-rw-r--r-- | addon/doxmlparser/src/memberhandler.h | 10 | ||||
-rw-r--r-- | addon/doxmlparser/src/sectionhandler.cpp | 5 |
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)); |