summaryrefslogtreecommitdiffstats
path: root/src/tagreader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tagreader.cpp')
-rw-r--r--src/tagreader.cpp31
1 files changed, 9 insertions, 22 deletions
diff --git a/src/tagreader.cpp b/src/tagreader.cpp
index 851a581..c2a7aac 100644
--- a/src/tagreader.cpp
+++ b/src/tagreader.cpp
@@ -100,14 +100,14 @@ class TagClassInfo
{
public:
enum Kind { None=-1, Class, Struct, Union, Interface, Exception, Protocol, Category, Enum, Service, Singleton };
- TagClassInfo() { bases=0, templateArguments=0; members.setAutoDelete(TRUE); isObjC=FALSE; kind = None; }
- ~TagClassInfo() { delete bases; delete templateArguments; }
+ TagClassInfo() { templateArguments=0; members.setAutoDelete(TRUE); isObjC=FALSE; kind = None; }
+ ~TagClassInfo() { delete templateArguments; }
QCString name;
QCString filename;
QCString clangId;
QCString anchor;
TagAnchorInfoList docAnchors;
- QList<BaseInfo> *bases;
+ std::vector<BaseInfo> bases;
QList<TagMemberInfo> members;
QList<QCString> *templateArguments;
QCStringList classList;
@@ -623,12 +623,7 @@ class TagFileParser : public QXmlDefaultHandler
{
virt = Virtual;
}
- if (m_curClass->bases==0)
- {
- m_curClass->bases = new QList<BaseInfo>;
- m_curClass->bases->setAutoDelete(TRUE);
- }
- m_curClass->bases->append(new BaseInfo(m_curString,prot,virt));
+ m_curClass->bases.push_back(BaseInfo(m_curString,prot,virt));
}
else
{
@@ -640,7 +635,7 @@ class TagFileParser : public QXmlDefaultHandler
{
if (m_state==InClass && m_curClass)
{
- m_curClass->bases->getLast()->name = m_curString;
+ m_curClass->bases.back().name = m_curString;
}
else
{
@@ -990,14 +985,9 @@ void TagFileParser::dump()
{
msg("class '%s'\n",cd->name.data());
msg(" filename '%s'\n",cd->filename.data());
- if (cd->bases)
+ for (const BaseInfo &bi : cd->bases)
{
- QListIterator<BaseInfo> bii(*cd->bases);
- BaseInfo *bi;
- for ( bii.toFirst() ; (bi=bii.current()) ; ++bii)
- {
- msg( " base: %s \n", bi->name.data() );
- }
+ msg( " base: %s \n", bi.name.data() );
}
QListIterator<TagMemberInfo> mci(cd->members);
@@ -1344,11 +1334,8 @@ void TagFileParser::buildLists(const std::unique_ptr<Entry> &root)
ce->id = tci->clangId;
ce->lang = tci->isObjC ? SrcLangExt_ObjC : SrcLangExt_Unknown;
// transfer base class list
- if (tci->bases)
- {
- delete ce->extends;
- ce->extends = tci->bases; tci->bases = 0;
- }
+ ce->extends = tci->bases;
+ tci->bases.clear();
if (tci->templateArguments)
{
ArgumentList al;