|
Packit |
1c1d7e |
/******************************************************************************
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* $Id$
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Copyright (C) 1997-2015 by Dimitri van Heesch.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Permission to use, copy, modify, and distribute this software and its
|
|
Packit |
1c1d7e |
* documentation under the terms of the GNU General Public License is hereby
|
|
Packit |
1c1d7e |
* granted. No representations are made about the suitability of this software
|
|
Packit |
1c1d7e |
* for any purpose. It is provided "as is" without express or implied warranty.
|
|
Packit |
1c1d7e |
* See the GNU General Public License for more details.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*/
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#include "memberhandler.h"
|
|
Packit |
1c1d7e |
#include "sectionhandler.h"
|
|
Packit |
1c1d7e |
#include "dochandler.h"
|
|
Packit |
1c1d7e |
#include "mainhandler.h"
|
|
Packit |
1c1d7e |
#include "linkedtexthandler.h"
|
|
Packit |
1c1d7e |
#include "paramhandler.h"
|
|
Packit |
1c1d7e |
#include "compoundhandler.h"
|
|
Packit |
1c1d7e |
#include "debug.h"
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
//------------------------------------------------------------------------------
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
class MemberTypeMap
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
MemberTypeMap()
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_map.setAutoDelete(TRUE);
|
|
Packit |
1c1d7e |
m_map.insert("define",new int(IMember::Define));
|
|
Packit |
1c1d7e |
m_map.insert("property",new int(IMember::Property));
|
|
Packit |
1c1d7e |
m_map.insert("variable",new int(IMember::Variable));
|
|
Packit |
1c1d7e |
m_map.insert("typedef",new int(IMember::Typedef));
|
|
Packit |
1c1d7e |
m_map.insert("enum",new int(IMember::Enum));
|
|
Packit |
1c1d7e |
m_map.insert("function",new int(IMember::Function));
|
|
Packit |
1c1d7e |
m_map.insert("signal",new int(IMember::Signal));
|
|
Packit |
1c1d7e |
m_map.insert("prototype",new int(IMember::Prototype));
|
|
Packit |
1c1d7e |
m_map.insert("friend",new int(IMember::Friend));
|
|
Packit |
1c1d7e |
m_map.insert("dcop",new int(IMember::DCOP));
|
|
Packit |
1c1d7e |
m_map.insert("slot",new int(IMember::Slot));
|
|
Packit |
1c1d7e |
m_map.insert("enumvalue",new int(IMember::EnumValue));
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
IMember::MemberKind map(const QString &s)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
int *val = m_map.find(s.utf8());
|
|
Packit |
1c1d7e |
if (val==0)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
debug(1,"Warning: `%s' is an invalid member type\n",s.data());
|
|
Packit |
1c1d7e |
return IMember::Invalid;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
else return (IMember::MemberKind)*val;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
private:
|
|
Packit |
1c1d7e |
QDict<int> m_map;
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
static MemberTypeMap *s_typeMap;
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void memberhandler_init()
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
s_typeMap = new MemberTypeMap;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void memberhandler_exit()
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
delete s_typeMap;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
//------------------------------------------------------------------------------
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberReference::initialize(MainHandler *mh)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_mainHandler = mh;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
IMember *MemberReference::member() const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
//return m_mainHandler->memberById(m_memId);
|
|
Packit |
1c1d7e |
return 0;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
//------------------------------------------------------------------------------
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#if 0
|
|
Packit |
1c1d7e |
EnumValueHandler::EnumValueHandler(IBaseHandler *parent) :
|
|
Packit |
1c1d7e |
m_parent(parent), m_brief(0), m_detailed(0), m_linkedTextHandler(0)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
addEndHandler("enumvalue",this,&EnumValueHandler::endEnumValue);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
addStartHandler("name",this,&EnumValueHandler::startName);
|
|
Packit |
1c1d7e |
addEndHandler("name",this,&EnumValueHandler::endName);
|
|
Packit |
1c1d7e |
addStartHandler("initializer",this,&EnumValueHandler::startInitializer);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
addStartHandler("briefdescription",this,&EnumValueHandler::startBriefDesc);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
addStartHandler("detaileddescription",this,&EnumValueHandler::startDetailedDesc);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
m_initializer.setAutoDelete(TRUE);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
EnumValueHandler::~EnumValueHandler()
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
delete m_brief;
|
|
Packit |
1c1d7e |
delete m_detailed;
|
|
Packit |
1c1d7e |
delete m_linkedTextHandler;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void EnumValueHandler::startEnumValue(const QXmlAttributes& /*attrib*/)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_parent->setDelegate(this);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void EnumValueHandler::endEnumValue()
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_parent->setDelegate(0);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void EnumValueHandler::startName(const QXmlAttributes& /*attrib*/)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_curString="";
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void EnumValueHandler::endName()
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_name = m_curString;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void EnumValueHandler::startInitializer(const QXmlAttributes& /*attrib*/)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
delete m_linkedTextHandler;
|
|
Packit |
1c1d7e |
m_linkedTextHandler = new LinkedTextHandler(this,m_initializer);
|
|
Packit |
1c1d7e |
m_linkedTextHandler->start("initializer");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void EnumValueHandler::startBriefDesc(const QXmlAttributes& attrib)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
DocHandler *docHandler = new DocHandler(this);
|
|
Packit |
1c1d7e |
docHandler->startDoc(attrib);
|
|
Packit |
1c1d7e |
m_brief = docHandler;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void EnumValueHandler::startDetailedDesc(const QXmlAttributes& attrib)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
DocHandler *docHandler = new DocHandler(this);
|
|
Packit |
1c1d7e |
docHandler->startDoc(attrib);
|
|
Packit |
1c1d7e |
m_detailed = docHandler;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
#endif
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
//------------------------------------------------------------------------------
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
MemberHandler::MemberHandler(IBaseHandler *parent)
|
|
Packit |
1c1d7e |
: m_brief(0), m_detailed(0), m_inbody(0),
|
|
Packit |
1c1d7e |
m_compound(0), m_section(0), m_parent(parent)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
//printf("MemberHandler::MemberHandler() %p\n",this);
|
|
Packit |
1c1d7e |
addEndHandler("memberdef",this,&MemberHandler::endMember);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
addStartHandler("templateparamlist",this,&MemberHandler::startTemplateParamList);
|
|
Packit |
1c1d7e |
addEndHandler("templateparamlist",this,&MemberHandler::endTemplateParamList);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
addStartHandler("type",this,&MemberHandler::startType);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
addStartHandler("definition",this,&MemberHandler::startDefinition);
|
|
Packit |
1c1d7e |
addEndHandler("definition",this,&MemberHandler::endDefinition);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
addStartHandler("argsstring",this,&MemberHandler::startArgsString);
|
|
Packit |
1c1d7e |
addEndHandler("argsstring",this,&MemberHandler::endArgsString);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
addStartHandler("name",this,&MemberHandler::startName);
|
|
Packit |
1c1d7e |
addEndHandler("name",this,&MemberHandler::endName);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
addStartHandler("read",this,&MemberHandler::startRead);
|
|
Packit |
1c1d7e |
addEndHandler("read",this,&MemberHandler::endRead);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
addStartHandler("write",this,&MemberHandler::startWrite);
|
|
Packit |
1c1d7e |
addEndHandler("write",this,&MemberHandler::endWrite);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
addStartHandler("reimplements",this,&MemberHandler::startReimplements);
|
|
Packit |
1c1d7e |
addEndHandler("reimplements",this,&MemberHandler::endReimplements);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
addStartHandler("reimplementedby",this,&MemberHandler::startReimplementedBy);
|
|
Packit |
1c1d7e |
addEndHandler("reimplementedby",this,&MemberHandler::endReimplementedBy);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
addStartHandler("param",this,&MemberHandler::startParam);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
addStartHandler("enumvalue",this,&MemberHandler::startEnumValue2);
|
|
Packit |
1c1d7e |
addEndHandler("enumvalue",this,&MemberHandler::endMember);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
addStartHandler("initializer",this,&MemberHandler::startInitializer);
|
|
Packit |
1c1d7e |
addStartHandler("exceptions",this,&MemberHandler::startException);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
addStartHandler("briefdescription",this,&MemberHandler::startBriefDesc);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
addStartHandler("detaileddescription",this,&MemberHandler::startDetailedDesc);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
addStartHandler("inbodydescription",this,&MemberHandler::startInbodyDesc);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
addStartHandler("location",this,&MemberHandler::startLocation);
|
|
Packit |
1c1d7e |
addEndHandler("location");
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
addStartHandler("references",this,&MemberHandler::startReferences);
|
|
Packit |
1c1d7e |
addEndHandler("references",this,&MemberHandler::endReferences);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
addStartHandler("referencedby",this,&MemberHandler::startReferencedBy);
|
|
Packit |
1c1d7e |
addEndHandler("referencedby",this,&MemberHandler::endReferencedBy);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
m_type.setAutoDelete(TRUE);
|
|
Packit |
1c1d7e |
m_initializer.setAutoDelete(TRUE);
|
|
Packit |
1c1d7e |
m_exception.setAutoDelete(TRUE);
|
|
Packit |
1c1d7e |
m_params.setAutoDelete(TRUE);
|
|
Packit |
1c1d7e |
m_references.setAutoDelete(TRUE);
|
|
Packit |
1c1d7e |
m_referencedBy.setAutoDelete(TRUE);
|
|
Packit |
1c1d7e |
m_reimplements = 0;
|
|
Packit |
1c1d7e |
m_reimplementedBy.setAutoDelete(TRUE);
|
|
Packit |
1c1d7e |
m_enumValues.setAutoDelete(TRUE);
|
|
Packit |
1c1d7e |
m_linkedTextHandler = 0;
|
|
Packit |
1c1d7e |
m_defLine=0;
|
|
Packit |
1c1d7e |
m_bodyStart=0;
|
|
Packit |
1c1d7e |
m_bodyEnd=0;
|
|
Packit |
1c1d7e |
m_insideTemplateParamList=FALSE;
|
|
Packit |
1c1d7e |
m_hasTemplateParamList=FALSE;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
MemberHandler::~MemberHandler()
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
debug(2,"MemberHandler::~MemberHandler() %p\n",this);
|
|
Packit |
1c1d7e |
delete m_brief;
|
|
Packit |
1c1d7e |
delete m_detailed;
|
|
Packit |
1c1d7e |
delete m_inbody;
|
|
Packit |
1c1d7e |
delete m_linkedTextHandler;
|
|
Packit |
1c1d7e |
delete m_reimplements;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::startMember(const QXmlAttributes& attrib)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_parent->setDelegate(this);
|
|
Packit |
1c1d7e |
m_kindString = attrib.value("kind");
|
|
Packit |
1c1d7e |
//printf("startMember kindString=`%s'\n",m_kindString.data());
|
|
Packit |
1c1d7e |
m_kind = s_typeMap->map(m_kindString);
|
|
Packit |
1c1d7e |
m_id = attrib.value("id");
|
|
Packit |
1c1d7e |
m_protection = attrib.value("prot");
|
|
Packit |
1c1d7e |
m_isStatic = attrib.value("static")=="yes";
|
|
Packit |
1c1d7e |
m_isConst = attrib.value("const")=="yes";
|
|
Packit |
1c1d7e |
m_isExplicit = attrib.value("explicit")=="yes";
|
|
Packit |
1c1d7e |
m_isInline = attrib.value("inline")=="yes";
|
|
Packit |
1c1d7e |
m_virtualness = attrib.value("virt");
|
|
Packit |
1c1d7e |
m_isVolatile = attrib.value("volatile")=="yes";
|
|
Packit |
1c1d7e |
m_isMutable = attrib.value("mutable")=="yes";
|
|
Packit |
1c1d7e |
m_isReadable = attrib.value("readable")=="yes";
|
|
Packit |
1c1d7e |
m_isWritable = attrib.value("writable")=="yes";
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
debug(2,"member kind=`%s' id=`%s' prot=`%s' virt=`%s'\n",
|
|
Packit |
1c1d7e |
m_kindString.data(),m_id.data(),m_protection.data(),m_virtualness.data());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::startEnumValue(const QXmlAttributes& attrib)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_parent->setDelegate(this);
|
|
Packit |
1c1d7e |
m_kindString = "enumvalue";
|
|
Packit |
1c1d7e |
//printf("startEnumValue kindString=`%s'\n",m_kindString.data());
|
|
Packit |
1c1d7e |
m_kind = s_typeMap->map(m_kindString);
|
|
Packit |
1c1d7e |
m_id = attrib.value("id");
|
|
Packit |
1c1d7e |
m_protection = attrib.value("prot");
|
|
Packit |
1c1d7e |
m_isStatic = FALSE;
|
|
Packit |
1c1d7e |
m_isConst = FALSE;
|
|
Packit |
1c1d7e |
m_isExplicit = FALSE;
|
|
Packit |
1c1d7e |
m_isInline = FALSE;
|
|
Packit |
1c1d7e |
m_virtualness = "non-virtual";
|
|
Packit |
1c1d7e |
m_isVolatile = FALSE;
|
|
Packit |
1c1d7e |
m_isMutable = FALSE;
|
|
Packit |
1c1d7e |
m_isReadable = FALSE;
|
|
Packit |
1c1d7e |
m_isWritable = FALSE;
|
|
Packit |
1c1d7e |
debug(2,"member kind=`%s' id=`%s' prot=`%s' virt=`%s'\n",
|
|
Packit |
1c1d7e |
m_kindString.data(),m_id.data(),m_protection.data(),m_virtualness.data());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::startEnumValue2(const QXmlAttributes& attrib)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
MemberHandler *mh = new MemberHandler(this);
|
|
Packit |
1c1d7e |
mh->startEnumValue(attrib);
|
|
Packit |
1c1d7e |
m_enumValues.append(mh);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::startBriefDesc(const QXmlAttributes& attrib)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
DocHandler *docHandler = new DocHandler(this);
|
|
Packit |
1c1d7e |
docHandler->startDoc(attrib);
|
|
Packit |
1c1d7e |
m_brief = docHandler;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::startDetailedDesc(const QXmlAttributes& attrib)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
DocHandler *docHandler = new DocHandler(this);
|
|
Packit |
1c1d7e |
docHandler->startDoc(attrib);
|
|
Packit |
1c1d7e |
m_detailed = docHandler;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::startInbodyDesc(const QXmlAttributes& attrib)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
DocHandler *docHandler = new DocHandler(this);
|
|
Packit |
1c1d7e |
docHandler->startDoc(attrib);
|
|
Packit |
1c1d7e |
m_inbody = docHandler;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::startLocation(const QXmlAttributes& attrib)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_defFile = attrib.value("file");
|
|
Packit |
1c1d7e |
m_bodyFile = attrib.value("bodyfile");
|
|
Packit |
1c1d7e |
QString s;
|
|
Packit |
1c1d7e |
s = attrib.value("line");
|
|
Packit |
1c1d7e |
if (!s.isEmpty()) m_defLine=s.toInt();
|
|
Packit |
1c1d7e |
s = attrib.value("bodystart");
|
|
Packit |
1c1d7e |
if (!s.isEmpty()) m_bodyStart=s.toInt();
|
|
Packit |
1c1d7e |
s = attrib.value("bodyend");
|
|
Packit |
1c1d7e |
if (!s.isEmpty()) m_bodyEnd=s.toInt();
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::startReferences(const QXmlAttributes& attrib)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
MemberReference *mr = new MemberReference;
|
|
Packit |
1c1d7e |
mr->m_memId = attrib.value("refid");
|
|
Packit |
1c1d7e |
m_references.append(mr);
|
|
Packit |
1c1d7e |
m_curString="";
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::endReferences()
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_references.getLast()->m_name = m_curString;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::startReferencedBy(const QXmlAttributes& attrib)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
MemberReference *mr = new MemberReference;
|
|
Packit |
1c1d7e |
mr->m_memId = attrib.value("refid");
|
|
Packit |
1c1d7e |
m_referencedBy.append(mr);
|
|
Packit |
1c1d7e |
m_curString="";
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::endReferencedBy()
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_referencedBy.getLast()->m_name = m_curString;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::startReimplements(const QXmlAttributes& attrib)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_reimplements = new MemberReference;
|
|
Packit |
1c1d7e |
m_reimplements->m_memId = attrib.value("refid");
|
|
Packit |
1c1d7e |
m_curString="";
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::endReimplements()
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_reimplements->m_name = m_curString;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::startReimplementedBy(const QXmlAttributes& attrib)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
MemberReference *mr = new MemberReference;
|
|
Packit |
1c1d7e |
mr->m_memId = attrib.value("refid");
|
|
Packit |
1c1d7e |
m_reimplementedBy.append(mr);
|
|
Packit |
1c1d7e |
m_curString="";
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::endReimplementedBy()
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_reimplementedBy.getLast()->m_name = m_curString;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::endMember()
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_parent->setDelegate(0);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::startType(const QXmlAttributes &)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
debug(2,"startType!\n");
|
|
Packit |
1c1d7e |
delete m_linkedTextHandler;
|
|
Packit |
1c1d7e |
m_linkedTextHandler = new LinkedTextHandler(this,m_type);
|
|
Packit |
1c1d7e |
m_linkedTextHandler->start("type");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::startInitializer(const QXmlAttributes &)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
debug(2,"startInitializer!\n");
|
|
Packit |
1c1d7e |
delete m_linkedTextHandler;
|
|
Packit |
1c1d7e |
m_linkedTextHandler = new LinkedTextHandler(this,m_initializer);
|
|
Packit |
1c1d7e |
m_linkedTextHandler->start("initializer");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::startException(const QXmlAttributes &)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
debug(2,"startException!\n");
|
|
Packit |
1c1d7e |
delete m_linkedTextHandler;
|
|
Packit |
1c1d7e |
m_linkedTextHandler = new LinkedTextHandler(this,m_exception);
|
|
Packit |
1c1d7e |
m_linkedTextHandler->start("exceptions");
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::startName(const QXmlAttributes &)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_curString="";
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::endName()
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_name = m_curString.stripWhiteSpace();
|
|
Packit |
1c1d7e |
debug(2,"member name=`%s'\n",m_name.data());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::startRead(const QXmlAttributes &)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_curString="";
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::endRead()
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_read = m_curString.stripWhiteSpace();
|
|
Packit |
1c1d7e |
debug(2,"member read=`%s'\n",m_read.data());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::startWrite(const QXmlAttributes &)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_curString="";
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::endWrite()
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_write = m_curString.stripWhiteSpace();
|
|
Packit |
1c1d7e |
debug(2,"member write=`%s'\n",m_write.data());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::startDefinition(const QXmlAttributes&)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_curString="";
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::endDefinition()
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_definition = m_curString.stripWhiteSpace();
|
|
Packit |
1c1d7e |
debug(2,"definition=%s\n",m_definition.data());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::startArgsString(const QXmlAttributes&)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_curString="";
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::endArgsString()
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_argsstring = m_curString.stripWhiteSpace();
|
|
Packit |
1c1d7e |
debug(2,"arggstring=%s\n",m_argsstring.data());
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::startParam(const QXmlAttributes& attrib)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
ParamHandler *paramHandler = new ParamHandler(this);
|
|
Packit |
1c1d7e |
paramHandler->startParam(attrib);
|
|
Packit |
1c1d7e |
if (m_insideTemplateParamList)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_templateParams.append(paramHandler);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
else
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_params.append(paramHandler);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::startTemplateParamList(const QXmlAttributes&)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_insideTemplateParamList = TRUE;
|
|
Packit |
1c1d7e |
m_hasTemplateParamList = TRUE;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::endTemplateParamList()
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_insideTemplateParamList = FALSE;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::initialize(MainHandler *mh)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
QListIterator<MemberReference> mli(m_references);
|
|
Packit |
1c1d7e |
MemberReference *mr;
|
|
Packit |
1c1d7e |
for (;(mr=mli.current());++mli)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
mr->initialize(mh);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
QListIterator<MemberReference> mli(m_referencedBy);
|
|
Packit |
1c1d7e |
MemberReference *mr;
|
|
Packit |
1c1d7e |
for (;(mr=mli.current());++mli)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
mr->initialize(mh);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
QListIterator<MemberReference> mli(m_reimplementedBy);
|
|
Packit |
1c1d7e |
MemberReference *mr;
|
|
Packit |
1c1d7e |
for (;(mr=mli.current());++mli)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
mr->initialize(mh);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
if (m_reimplements) m_reimplements->initialize(mh);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::setCompoundHandler(CompoundHandler *c)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_compound = c;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
ICompound *MemberHandler::compound() const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_compound->addref();
|
|
Packit |
1c1d7e |
return m_compound->toICompound();
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void MemberHandler::setSectionHandler(SectionHandler *c)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_section = c;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
ISection *MemberHandler::section() const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return m_section;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
IMemberIterator *MemberHandler::enumValues() const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return new MemberIterator(m_enumValues);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
ILinkedTextIterator *MemberHandler::type() const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return new LinkedTextIterator(m_type);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
const IString *MemberHandler::typeString() const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
MemberHandler *that = (MemberHandler *)this;
|
|
Packit |
1c1d7e |
that->m_typeString = LinkedTextHandler::toString(m_type);
|
|
Packit |
1c1d7e |
return &m_typeString;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
IParamIterator *MemberHandler::parameters() const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return new ParamIterator(m_params);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
IParamIterator *MemberHandler::templateParameters() const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return m_hasTemplateParamList ? new ParamIterator(m_templateParams) : 0;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
IMemberReferenceIterator *MemberHandler::references() const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return new MemberReferenceIterator(m_references);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
IMemberReferenceIterator *MemberHandler::referencedBy() const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return new MemberReferenceIterator(m_referencedBy);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
ILinkedTextIterator *MemberHandler::initializer() const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return new LinkedTextIterator(m_initializer);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
ILinkedTextIterator *MemberHandler::exceptions() const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return new LinkedTextIterator(m_exception);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
IMemberReferenceIterator *MemberHandler::reimplementedBy() const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return new MemberReferenceIterator(m_reimplementedBy);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
IDocRoot *MemberHandler::briefDescription() const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return m_brief;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
IDocRoot *MemberHandler::detailedDescription() const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return m_detailed;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
IDocRoot *MemberHandler::inbodyDescription() const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return m_inbody;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|