Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
TagFileParser Class Reference
Inheritance diagram for TagFileParser:
QXmlDefaultHandler QXmlContentHandler QXmlErrorHandler QXmlDTDHandler QXmlEntityResolver QXmlLexicalHandler QXmlDeclHandler

Classes

class  EndElementHandler
 
class  StartElementHandler
 

Public Member Functions

 TagFileParser (const char *tagName)
 
void setDocumentLocator (QXmlLocator *locator)
 
void setFileName (const QString &fileName)
 
void warn (const char *fmt)
 
void warn (const char *fmt, const char *s)
 
void startCompound (const QXmlAttributes &attrib)
 
void endCompound ()
 
void startMember (const QXmlAttributes &attrib)
 
void endMember ()
 
void startEnumValue (const QXmlAttributes &attrib)
 
void endEnumValue ()
 
void endDocAnchor ()
 
void endClass ()
 
void endNamespace ()
 
void endFile ()
 
void endPage ()
 
void endDir ()
 
void startStringValue (const QXmlAttributes &)
 
void startDocAnchor (const QXmlAttributes &attrib)
 
void endType ()
 
void endName ()
 
void startBase (const QXmlAttributes &attrib)
 
void endBase ()
 
void startIncludes (const QXmlAttributes &attrib)
 
void endIncludes ()
 
void endTemplateArg ()
 
void endFilename ()
 
void endPath ()
 
void endAnchor ()
 
void endClangId ()
 
void endAnchorFile ()
 
void endArglist ()
 
void endTitle ()
 
void endSubgroup ()
 
void startIgnoreElement (const QXmlAttributes &)
 
void endIgnoreElement ()
 
bool startDocument ()
 
bool startElement (const QString &, const QString &, const QString &name, const QXmlAttributes &attrib)
 
bool endElement (const QString &, const QString &, const QString &name)
 
bool characters (const QString &ch)
 
void dump ()
 
void buildLists (Entry *root)
 
void addIncludes ()
 
- Public Member Functions inherited from QXmlDefaultHandler
 QXmlDefaultHandler ()
 
virtual ~QXmlDefaultHandler ()
 
bool endDocument ()
 
bool startPrefixMapping (const QString &prefix, const QString &uri)
 
bool endPrefixMapping (const QString &prefix)
 
bool ignorableWhitespace (const QString &ch)
 
bool processingInstruction (const QString &target, const QString &data)
 
bool skippedEntity (const QString &name)
 
bool warning (const QXmlParseException &exception)
 
bool error (const QXmlParseException &exception)
 
bool fatalError (const QXmlParseException &exception)
 
bool notationDecl (const QString &name, const QString &publicId, const QString &systemId)
 
bool unparsedEntityDecl (const QString &name, const QString &publicId, const QString &systemId, const QString &notationName)
 
bool resolveEntity (const QString &publicId, const QString &systemId, QXmlInputSource *&ret)
 
bool startDTD (const QString &name, const QString &publicId, const QString &systemId)
 
bool endDTD ()
 
bool startCDATA ()
 
bool endCDATA ()
 
bool comment (const QString &ch)
 
bool attributeDecl (const QString &eName, const QString &aName, const QString &type, const QString &valueDefault, const QString &value)
 
bool internalEntityDecl (const QString &name, const QString &value)
 
bool externalEntityDecl (const QString &name, const QString &publicId, const QString &systemId)
 
QString errorString ()
 
- Public Member Functions inherited from QXmlContentHandler
virtual ~QXmlContentHandler ()
 
- Public Member Functions inherited from QXmlErrorHandler
virtual ~QXmlErrorHandler ()
 
- Public Member Functions inherited from QXmlDTDHandler
virtual ~QXmlDTDHandler ()
 
- Public Member Functions inherited from QXmlEntityResolver
virtual ~QXmlEntityResolver ()
 
- Public Member Functions inherited from QXmlLexicalHandler
virtual ~QXmlLexicalHandler ()
 
- Public Member Functions inherited from QXmlDeclHandler
virtual ~QXmlDeclHandler ()
 

Private Types

enum  State {
  Invalid, InClass, InFile, InNamespace,
  InGroup, InPage, InMember, InEnumValue,
  InPackage, InDir, InTempArgList
}
 

Private Member Functions

void buildMemberList (Entry *ce, QList< TagMemberInfo > &members)
 
void addDocAnchors (Entry *e, const TagAnchorInfoList &l)
 

Private Attributes

QList< TagClassInfom_tagFileClasses
 
QList< TagFileInfom_tagFileFiles
 
QList< TagNamespaceInfom_tagFileNamespaces
 
QList< TagGroupInfom_tagFileGroups
 
QList< TagPageInfom_tagFilePages
 
QList< TagPackageInfom_tagFilePackages
 
QList< TagDirInfom_tagFileDirs
 
QDict< StartElementHandlerm_startElementHandlers
 
QDict< EndElementHandlerm_endElementHandlers
 
TagClassInfom_curClass
 
TagFileInfom_curFile
 
TagNamespaceInfom_curNamespace
 
TagPackageInfom_curPackage
 
TagGroupInfom_curGroup
 
TagPageInfom_curPage
 
TagDirInfom_curDir
 
TagMemberInfom_curMember
 
TagEnumValueInfom_curEnumValue
 
TagIncludeInfom_curIncludes
 
QCString m_curString
 
QCString m_tagName
 
QCString m_fileName
 
QCString m_title
 
State m_state
 
QStack< Statem_stateStack
 
QXmlLocatorm_locator
 
QCString m_inputFileName
 

Detailed Description

Tag file parser.

Reads an XML-structured tagfile and builds up the structure in memory. The method buildLists() is used to transfer/translate the structures to the doxygen engine.

Definition at line 211 of file tagreader.cpp.

Member Enumeration Documentation

enum TagFileParser::State
private
Enumerator
Invalid 
InClass 
InFile 
InNamespace 
InGroup 
InPage 
InMember 
InEnumValue 
InPackage 
InDir 
InTempArgList 

Definition at line 213 of file tagreader.cpp.

Constructor & Destructor Documentation

TagFileParser::TagFileParser ( const char *  tagName)
inline

Definition at line 248 of file tagreader.cpp.

250  m_tagName(tagName)
251  {
252  m_startElementHandlers.setAutoDelete(TRUE);
253  m_endElementHandlers.setAutoDelete(TRUE);
254  m_curClass=0;
255  m_curFile=0;
256  m_curNamespace=0;
257  m_curPackage=0;
258  m_curGroup=0;
259  m_curPage=0;
260  m_curDir=0;
261  m_curMember=0;
262  m_curEnumValue=0;
263  m_curIncludes=0;
264  m_state = Invalid;
265  m_locator = 0;
266  }
QDict< EndElementHandler > m_endElementHandlers
Definition: tagreader.cpp:922
TagEnumValueInfo * m_curEnumValue
Definition: tagreader.cpp:931
TagMemberInfo * m_curMember
Definition: tagreader.cpp:930
TagIncludeInfo * m_curIncludes
Definition: tagreader.cpp:932
TagClassInfo * m_curClass
Definition: tagreader.cpp:923
TagGroupInfo * m_curGroup
Definition: tagreader.cpp:927
QXmlLocator * m_locator
Definition: tagreader.cpp:939
TagPackageInfo * m_curPackage
Definition: tagreader.cpp:926
TagPageInfo * m_curPage
Definition: tagreader.cpp:928
TagDirInfo * m_curDir
Definition: tagreader.cpp:929
QDict< StartElementHandler > m_startElementHandlers
Definition: tagreader.cpp:921
TagFileInfo * m_curFile
Definition: tagreader.cpp:924
TagNamespaceInfo * m_curNamespace
Definition: tagreader.cpp:925
const bool TRUE
Definition: qglobal.h:371
QCString m_tagName
Definition: tagreader.cpp:934

Member Function Documentation

void TagFileParser::addDocAnchors ( Entry e,
const TagAnchorInfoList l 
)
private

Definition at line 1143 of file tagreader.cpp.

1144 {
1146  TagAnchorInfo *ta;
1147  for (tli.toFirst();(ta=tli.current());++tli)
1148  {
1149  if (Doxygen::sectionDict->find(ta->label)==0)
1150  {
1151  //printf("New sectionInfo file=%s anchor=%s\n",
1152  // ta->fileName.data(),ta->label.data());
1153  SectionInfo *si=new SectionInfo(ta->fileName,-1,ta->label,ta->title,
1156  e->anchors->append(si);
1157  }
1158  else
1159  {
1160  warn("Duplicate anchor %s found\n",ta->label.data());
1161  }
1162  }
1163 }
QCString label
Definition: tagreader.cpp:51
void append(const type *d)
Definition: qlist.h:73
QCString title
Definition: tagreader.cpp:53
void append(const char *key, const T *d)
Definition: sortdict.h:135
void warn(const char *fmt)
Definition: tagreader.cpp:278
QList< SectionInfo > * anchors
list of anchors defined in this entry
Definition: entry.h:281
static SectionDict * sectionDict
Definition: doxygen.h:117
const char * data() const
Definition: qcstring.h:207
QCString fileName
Definition: tagreader.cpp:52
QCString m_tagName
Definition: tagreader.cpp:934
void TagFileParser::addIncludes ( )

Definition at line 1480 of file tagreader.cpp.

1481 {
1483  TagFileInfo *tfi;
1484  for (fit.toFirst();(tfi=fit.current());++fit)
1485  {
1486  //printf("tag file tagName=%s path=%s name=%s\n",m_tagName.data(),tfi->path.data(),tfi->name.data());
1487  FileName *fn = Doxygen::inputNameDict->find(tfi->name);
1488  if (fn)
1489  {
1490  //printf("found\n");
1491  FileNameIterator fni(*fn);
1492  FileDef *fd;
1493  for (;(fd=fni.current());++fni)
1494  {
1495  //printf("input file path=%s name=%s\n",fd->getPath().data(),fd->name().data());
1496  if (fd->getPath()==QCString(m_tagName+":"+tfi->path))
1497  {
1498  //printf("found\n");
1500  TagIncludeInfo *ii;
1501  for (;(ii=mii.current());++mii)
1502  {
1503  //printf("ii->name=`%s'\n",ii->name.data());
1504  FileName *ifn = Doxygen::inputNameDict->find(ii->name);
1505  ASSERT(ifn!=0);
1506  if (ifn)
1507  {
1508  FileNameIterator ifni(*ifn);
1509  FileDef *ifd;
1510  for (;(ifd=ifni.current());++ifni)
1511  {
1512  //printf("ifd->getOutputFileBase()=%s ii->id=%s\n",
1513  // ifd->getOutputFileBase().data(),ii->id.data());
1514  if (ifd->getOutputFileBase()==QCString(ii->id))
1515  {
1516  fd->addIncludeDependency(ifd,ii->text,ii->isLocal,ii->isImported,FALSE);
1517  }
1518  }
1519  }
1520  }
1521  }
1522  }
1523  }
1524  }
1525 }
const bool FALSE
Definition: qglobal.h:370
static FileNameDict * inputNameDict
Definition: doxygen.h:108
QList< TagFileInfo > m_tagFileFiles
Definition: tagreader.cpp:915
QCString name
Definition: tagreader.cpp:144
QAsciiDict< Entry > fn
QCString name
Definition: tagreader.cpp:155
QList< TagIncludeInfo > includes
Definition: tagreader.cpp:162
QCString text
Definition: tagreader.cpp:145
QCString path
Definition: tagreader.cpp:156
QCString getOutputFileBase() const
Definition: filedef.h:83
QCString getPath() const
Definition: filedef.h:110
void addIncludeDependency(FileDef *fd, const char *incName, bool local, bool imported, bool indirect)
Definition: filedef.cpp:1269
#define ASSERT(x)
Definition: qglobal.h:590
QCString m_tagName
Definition: tagreader.cpp:934
void TagFileParser::buildLists ( Entry root)

Injects the info gathered by the XML parser into the Entry tree. This tree contains the information extracted from the input in a "unrelated" form.

Definition at line 1304 of file tagreader.cpp.

1305 {
1306  // build class list
1308  TagClassInfo *tci;
1309  for (cit.toFirst();(tci=cit.current());++cit)
1310  {
1311  Entry *ce = new Entry;
1312  ce->section = Entry::CLASS_SEC;
1313  switch (tci->kind)
1314  {
1315  case TagClassInfo::Class: break;
1316  case TagClassInfo::Struct: ce->spec = Entry::Struct; break;
1317  case TagClassInfo::Union: ce->spec = Entry::Union; break;
1318  case TagClassInfo::Interface: ce->spec = Entry::Interface; break;
1319  case TagClassInfo::Enum: ce->spec = Entry::Enum; break;
1320  case TagClassInfo::Exception: ce->spec = Entry::Exception; break;
1321  case TagClassInfo::Protocol: ce->spec = Entry::Protocol; break;
1322  case TagClassInfo::Category: ce->spec = Entry::Category; break;
1323  case TagClassInfo::Service: ce->spec = Entry::Service; break;
1324  case TagClassInfo::Singleton: ce->spec = Entry::Singleton; break;
1325  }
1326  ce->name = tci->name;
1327  if (tci->kind==TagClassInfo::Protocol)
1328  {
1329  ce->name+="-p";
1330  }
1331  addDocAnchors(ce,tci->docAnchors);
1332  TagInfo *ti = new TagInfo;
1333  ti->tagName = m_tagName;
1334  ti->fileName = tci->filename;
1335  ce->id = tci->clangId;
1336  ce->tagInfo = ti;
1338  // transfer base class list
1339  if (tci->bases)
1340  {
1341  delete ce->extends;
1342  ce->extends = tci->bases; tci->bases = 0;
1343  }
1344  if (tci->templateArguments)
1345  {
1346  if (ce->tArgLists==0)
1347  {
1348  ce->tArgLists = new QList<ArgumentList>;
1350  }
1351  ArgumentList *al = new ArgumentList;
1352  ce->tArgLists->append(al);
1353 
1355  QCString *argName;
1356  for (;(argName=sli.current());++sli)
1357  {
1358  Argument *a = new Argument;
1359  a->type = "class";
1360  a->name = *argName;
1361  al->append(a);
1362  }
1363  }
1364 
1365  buildMemberList(ce,tci->members);
1366  root->addSubEntry(ce);
1367  }
1368 
1369  // build file list
1371  TagFileInfo *tfi;
1372  for (fit.toFirst();(tfi=fit.current());++fit)
1373  {
1374  Entry *fe = new Entry;
1375  fe->section = guessSection(tfi->name);
1376  fe->name = tfi->name;
1377  addDocAnchors(fe,tfi->docAnchors);
1378  TagInfo *ti = new TagInfo;
1379  ti->tagName = m_tagName;
1380  ti->fileName = tfi->filename;
1381  fe->tagInfo = ti;
1382 
1383  QCString fullName = m_tagName+":"+tfi->path+stripPath(tfi->name);
1384  fe->fileName = fullName;
1385  //printf("new FileDef() filename=%s\n",tfi->filename.data());
1386  FileDef *fd = new FileDef(m_tagName+":"+tfi->path,
1387  tfi->name,m_tagName,
1388  tfi->filename
1389  );
1390  FileName *mn;
1391  if ((mn=Doxygen::inputNameDict->find(tfi->name)))
1392  {
1393  mn->append(fd);
1394  }
1395  else
1396  {
1397  mn = new FileName(fullName,tfi->name);
1398  mn->append(fd);
1400  Doxygen::inputNameDict->insert(tfi->name,mn);
1401  }
1402  buildMemberList(fe,tfi->members);
1403  root->addSubEntry(fe);
1404  }
1405 
1406  // build namespace list
1408  TagNamespaceInfo *tni;
1409  for (nit.toFirst();(tni=nit.current());++nit)
1410  {
1411  Entry *ne = new Entry;
1413  ne->name = tni->name;
1414  addDocAnchors(ne,tni->docAnchors);
1415  TagInfo *ti = new TagInfo;
1416  ti->tagName = m_tagName;
1417  ti->fileName = tni->filename;
1418  ne->id = tni->clangId;
1419  ne->tagInfo = ti;
1420 
1421  buildMemberList(ne,tni->members);
1422  root->addSubEntry(ne);
1423  }
1424 
1425  // build package list
1427  TagPackageInfo *tpgi;
1428  for (pit.toFirst();(tpgi=pit.current());++pit)
1429  {
1430  Entry *pe = new Entry;
1432  pe->name = tpgi->name;
1433  addDocAnchors(pe,tpgi->docAnchors);
1434  TagInfo *ti = new TagInfo;
1435  ti->tagName = m_tagName;
1436  ti->fileName = tpgi->filename;
1437  pe->tagInfo = ti;
1438 
1439  buildMemberList(pe,tpgi->members);
1440  root->addSubEntry(pe);
1441  }
1442 
1443  // build group list
1445  TagGroupInfo *tgi;
1446  for (git.toFirst();(tgi=git.current());++git)
1447  {
1448  Entry *ge = new Entry;
1450  ge->name = tgi->name;
1451  ge->type = tgi->title;
1452  addDocAnchors(ge,tgi->docAnchors);
1453  TagInfo *ti = new TagInfo;
1454  ti->tagName = m_tagName;
1455  ti->fileName = tgi->filename;
1456  ge->tagInfo = ti;
1457 
1458  buildMemberList(ge,tgi->members);
1459  root->addSubEntry(ge);
1460  }
1461 
1462  // build page list
1464  TagPageInfo *tpi;
1465  for (pgit.toFirst();(tpi=pgit.current());++pgit)
1466  {
1467  Entry *pe = new Entry;
1469  pe->name = tpi->name;
1470  pe->args = tpi->title;
1471  addDocAnchors(pe,tpi->docAnchors);
1472  TagInfo *ti = new TagInfo;
1473  ti->tagName = m_tagName;
1474  ti->fileName = tpi->filename;
1475  pe->tagInfo = ti;
1476  root->addSubEntry(pe);
1477  }
1478 }
TagInfo * tagInfo
tag file info
Definition: entry.h:238
QCString type
Definition: arguments.h:67
QCString filename
Definition: tagreader.cpp:133
This class represents an function or template argument list.
Definition: arguments.h:82
uint64 spec
class/member specifiers
Definition: entry.h:243
TagAnchorInfoList docAnchors
Definition: tagreader.cpp:123
QCString name
Definition: tagreader.cpp:170
void append(const type *d)
Definition: qlist.h:73
Definition: entry.h:63
int guessSection(const char *name)
Definition: util.cpp:315
QList< TagMemberInfo > members
Definition: tagreader.cpp:106
static const uint64 Exception
Definition: entry.h:128
QCString filename
Definition: tagreader.cpp:172
static FileNameList * inputNameList
Definition: doxygen.h:109
void addSubEntry(Entry *e)
Definition: entry.cpp:206
QCString name
member name
Definition: entry.h:237
static QCString stripPath(const QCString &s)
Definition: tagreader.cpp:1287
static FileNameDict * inputNameDict
Definition: doxygen.h:108
Definition: entry.h:50
QList< TagPackageInfo > m_tagFilePackages
Definition: tagreader.cpp:919
QCString id
libclang id
Definition: entry.h:290
QList< TagClassInfo > m_tagFileClasses
Definition: tagreader.cpp:914
QList< TagFileInfo > m_tagFileFiles
Definition: tagreader.cpp:915
QList< TagGroupInfo > m_tagFileGroups
Definition: tagreader.cpp:917
TagAnchorInfoList docAnchors
Definition: tagreader.cpp:158
QList< TagMemberInfo > members
Definition: tagreader.cpp:124
QList< ArgumentList > * tArgLists
template argument declarations
Definition: entry.h:255
This class contains the information about the argument of a function or template. ...
Definition: arguments.h:28
QCString name
Definition: tagreader.cpp:132
QCString tagName
Definition: entry.h:52
QList< BaseInfo > * bases
Definition: tagreader.cpp:105
QCString name
Definition: tagreader.cpp:155
void inSort(const type *d)
Definition: qlist.h:71
QCString name
Definition: tagreader.cpp:187
TagAnchorInfoList docAnchors
Definition: tagreader.cpp:134
static const uint64 Interface
Definition: entry.h:125
const double a
static const uint64 Protocol
Definition: entry.h:129
static const uint64 Enum
Definition: entry.h:133
static QCString argName
QCString args
member argument string
Definition: entry.h:252
QCString filename
Definition: tagreader.cpp:189
void buildMemberList(Entry *ce, QList< TagMemberInfo > &members)
Definition: tagreader.cpp:1165
QCString title
Definition: tagreader.cpp:171
QList< TagPageInfo > m_tagFilePages
Definition: tagreader.cpp:918
QCString path
Definition: tagreader.cpp:156
TagAnchorInfoList docAnchors
Definition: tagreader.cpp:190
QCString filename
Definition: tagreader.cpp:157
TagAnchorInfoList docAnchors
Definition: tagreader.cpp:104
void addDocAnchors(Entry *e, const TagAnchorInfoList &l)
Definition: tagreader.cpp:1143
TagAnchorInfoList docAnchors
Definition: tagreader.cpp:173
static const uint64 Category
Definition: entry.h:130
QCString name
Definition: arguments.h:69
QCString fileName
Definition: entry.h:53
QCString filename
Definition: tagreader.cpp:119
QCString fileName
file this entry was extracted from
Definition: entry.h:282
QList< TagMemberInfo > members
Definition: tagreader.cpp:135
QCString clangId
Definition: tagreader.cpp:103
QList< TagNamespaceInfo > m_tagFileNamespaces
Definition: tagreader.cpp:916
static const uint64 Struct
Definition: entry.h:126
QCString clangId
Definition: tagreader.cpp:120
QCString title
Definition: tagreader.cpp:188
QCString name
Definition: tagreader.cpp:101
QList< TagMemberInfo > members
Definition: tagreader.cpp:174
static const uint64 Union
Definition: entry.h:127
SrcLangExt lang
programming language in which this entry was found
Definition: entry.h:286
static const uint64 Service
Definition: entry.h:134
QList< QCString > * templateArguments
Definition: tagreader.cpp:107
void setAutoDelete(bool enable)
Definition: qlist.h:99
const bool TRUE
Definition: qglobal.h:371
QList< BaseInfo > * extends
list of base classes
Definition: entry.h:279
QCString type
member type
Definition: entry.h:236
static const uint64 Singleton
Definition: entry.h:135
int section
entry type (see Sections);
Definition: entry.h:235
QCString m_tagName
Definition: tagreader.cpp:934
QList< TagMemberInfo > members
Definition: tagreader.cpp:159
QCString filename
Definition: tagreader.cpp:102
void TagFileParser::buildMemberList ( Entry ce,
QList< TagMemberInfo > &  members 
)
private

Definition at line 1165 of file tagreader.cpp.

1166 {
1167  QListIterator<TagMemberInfo> mii(members);
1168  TagMemberInfo *tmi;
1169  for (;(tmi=mii.current());++mii)
1170  {
1171  Entry *me = new Entry;
1172  me->type = tmi->type;
1173  me->name = tmi->name;
1174  me->args = tmi->arglist;
1175  if (!me->args.isEmpty())
1176  {
1177  delete me->argList;
1178  me->argList = new ArgumentList;
1180  }
1181  if (tmi->enumValues.count()>0)
1182  {
1183  me->spec |= Entry::Strong;
1185  TagEnumValueInfo *evi;
1186  for (evii.toFirst();(evi=evii.current());++evii)
1187  {
1188  Entry *ev = new Entry;
1189  ev->type = "@";
1190  ev->name = evi->name;
1191  ev->id = evi->clangid;
1193  TagInfo *ti = new TagInfo;
1194  ti->tagName = m_tagName;
1195  ti->anchor = evi->anchor;
1196  ti->fileName = evi->file;
1197  ev->tagInfo = ti;
1198  me->addSubEntry(ev);
1199  }
1200  }
1201  me->protection = tmi->prot;
1202  me->virt = tmi->virt;
1203  me->stat = tmi->isStatic;
1204  me->fileName = ce->fileName;
1205  me->id = tmi->clangId;
1206  if (ce->section == Entry::GROUPDOC_SEC)
1207  {
1209  }
1210  addDocAnchors(me,tmi->docAnchors);
1211  TagInfo *ti = new TagInfo;
1212  ti->tagName = m_tagName;
1213  ti->anchor = tmi->anchor;
1214  ti->fileName = tmi->anchorFile;
1215  me->tagInfo = ti;
1216  if (tmi->kind=="define")
1217  {
1218  me->type="#define";
1219  me->section = Entry::DEFINE_SEC;
1220  }
1221  else if (tmi->kind=="enumvalue")
1222  {
1224  me->mtype = Method;
1225  }
1226  else if (tmi->kind=="property")
1227  {
1229  me->mtype = Property;
1230  }
1231  else if (tmi->kind=="event")
1232  {
1234  me->mtype = Event;
1235  }
1236  else if (tmi->kind=="variable")
1237  {
1239  me->mtype = Method;
1240  }
1241  else if (tmi->kind=="typedef")
1242  {
1243  me->section = Entry::VARIABLE_SEC; //Entry::TYPEDEF_SEC;
1244  me->type.prepend("typedef ");
1245  me->mtype = Method;
1246  }
1247  else if (tmi->kind=="enumeration")
1248  {
1249  me->section = Entry::ENUM_SEC;
1250  me->mtype = Method;
1251  }
1252  else if (tmi->kind=="function")
1253  {
1255  me->mtype = Method;
1256  }
1257  else if (tmi->kind=="signal")
1258  {
1260  me->mtype = Signal;
1261  }
1262  else if (tmi->kind=="prototype")
1263  {
1265  me->mtype = Method;
1266  }
1267  else if (tmi->kind=="friend")
1268  {
1270  me->type.prepend("friend ");
1271  me->mtype = Method;
1272  }
1273  else if (tmi->kind=="dcop")
1274  {
1276  me->mtype = DCOP;
1277  }
1278  else if (tmi->kind=="slot")
1279  {
1281  me->mtype = Slot;
1282  }
1283  ce->addSubEntry(me);
1284  }
1285 }
TagInfo * tagInfo
tag file info
Definition: entry.h:238
Definition: types.h:61
This class represents an function or template argument list.
Definition: arguments.h:82
uint64 spec
class/member specifiers
Definition: entry.h:243
bool stat
static ?
Definition: entry.h:245
Definition: types.h:32
bool isEmpty() const
Definition: qcstring.h:189
void append(const type *d)
Definition: qlist.h:73
Definition: entry.h:63
QCString arglist
Definition: tagreader.cpp:84
QCString kind
Definition: tagreader.cpp:85
ArgumentList * argList
member arguments as a list
Definition: entry.h:254
void addSubEntry(Entry *e)
Definition: entry.cpp:206
QCString name
member name
Definition: entry.h:237
Definition: entry.h:50
QList< TagEnumValueInfo > enumValues
Definition: tagreader.cpp:91
QCString id
libclang id
Definition: entry.h:290
Definition: types.h:32
QCString anchor
Definition: entry.h:54
static const uint64 Strong
Definition: entry.h:165
QCString tagName
Definition: entry.h:52
uint count() const
Definition: qlist.h:66
Definition: types.h:32
QList< Grouping > * groups
list of groups this entry belongs to
Definition: entry.h:280
membership in group was defined by @ingroup
Definition: types.h:71
QCString anchor
Definition: tagreader.cpp:83
QCString name
Definition: tagreader.cpp:81
Definition: types.h:32
void stringToArgumentList(const char *argsString, ArgumentList *al, QCString *extraTypeChars)
Definition: defargs.cpp:2922
QCString & prepend(const char *s)
Definition: qcstring.cpp:387
QCString args
member argument string
Definition: entry.h:252
Protection protection
class protection
Definition: entry.h:241
Specifier virt
Definition: tagreader.cpp:89
Specifier virt
virtualness of the entry
Definition: entry.h:251
void addDocAnchors(Entry *e, const TagAnchorInfoList &l)
Definition: tagreader.cpp:1143
QCString type
Definition: tagreader.cpp:80
QCString anchor
Definition: tagreader.cpp:70
Definition: types.h:32
QCString clangid
Definition: tagreader.cpp:71
QCString fileName
Definition: entry.h:53
QCString fileName
file this entry was extracted from
Definition: entry.h:282
QCString anchorFile
Definition: tagreader.cpp:82
MethodTypes mtype
signal, slot, (dcop) method, or property?
Definition: entry.h:242
Protection prot
Definition: tagreader.cpp:88
TagAnchorInfoList docAnchors
Definition: tagreader.cpp:87
Definition: types.h:32
QCString clangId
Definition: tagreader.cpp:86
QCString type
member type
Definition: entry.h:236
int section
entry type (see Sections);
Definition: entry.h:235
QCString m_tagName
Definition: tagreader.cpp:934
bool TagFileParser::characters ( const QString ch)
inlinevirtual

Does nothing.

Reimplemented from QXmlDefaultHandler.

Definition at line 901 of file tagreader.cpp.

902  {
903  m_curString+=ch.utf8();
904  return TRUE;
905  }
QCString m_curString
Definition: tagreader.cpp:933
QCString utf8() const
Definition: qstring.cpp:14507
const bool TRUE
Definition: qglobal.h:371
void TagFileParser::dump ( )

Dumps the internal structures. For debugging only!

Definition at line 973 of file tagreader.cpp.

974 {
975  msg("Result:\n");
977 
978  //============== CLASSES
979  TagClassInfo *cd;
980  for (;(cd=lci.current());++lci)
981  {
982  msg("class `%s'\n",cd->name.data());
983  msg(" filename `%s'\n",cd->filename.data());
984  if (cd->bases)
985  {
986  QListIterator<BaseInfo> bii(*cd->bases);
987  BaseInfo *bi;
988  for ( bii.toFirst() ; (bi=bii.current()) ; ++bii)
989  {
990  msg( " base: %s \n", bi->name.data() );
991  }
992  }
993 
995  TagMemberInfo *md;
996  for (;(md=mci.current());++mci)
997  {
998  msg(" member:\n");
999  msg(" kind: `%s'\n",md->kind.data());
1000  msg(" name: `%s'\n",md->name.data());
1001  msg(" anchor: `%s'\n",md->anchor.data());
1002  msg(" arglist: `%s'\n",md->arglist.data());
1003  }
1004  }
1005  //============== NAMESPACES
1007  TagNamespaceInfo *nd;
1008  for (;(nd=lni.current());++lni)
1009  {
1010  msg("namespace `%s'\n",nd->name.data());
1011  msg(" filename `%s'\n",nd->filename.data());
1013  for ( it = nd->classList.begin();
1014  it != nd->classList.end(); ++it )
1015  {
1016  msg( " class: %s \n", (*it).latin1() );
1017  }
1018 
1020  TagMemberInfo *md;
1021  for (;(md=mci.current());++mci)
1022  {
1023  msg(" member:\n");
1024  msg(" kind: `%s'\n",md->kind.data());
1025  msg(" name: `%s'\n",md->name.data());
1026  msg(" anchor: `%s'\n",md->anchor.data());
1027  msg(" arglist: `%s'\n",md->arglist.data());
1028  }
1029  }
1030  //============== FILES
1032  TagFileInfo *fd;
1033  for (;(fd=lfi.current());++lfi)
1034  {
1035  msg("file `%s'\n",fd->name.data());
1036  msg(" filename `%s'\n",fd->filename.data());
1038  for ( it = fd->namespaceList.begin();
1039  it != fd->namespaceList.end(); ++it )
1040  {
1041  msg( " namespace: %s \n", (*it).latin1() );
1042  }
1043  for ( it = fd->classList.begin();
1044  it != fd->classList.end(); ++it )
1045  {
1046  msg( " class: %s \n", (*it).latin1() );
1047  }
1048 
1050  TagMemberInfo *md;
1051  for (;(md=mci.current());++mci)
1052  {
1053  msg(" member:\n");
1054  msg(" kind: `%s'\n",md->kind.data());
1055  msg(" name: `%s'\n",md->name.data());
1056  msg(" anchor: `%s'\n",md->anchor.data());
1057  msg(" arglist: `%s'\n",md->arglist.data());
1058  }
1059 
1061  TagIncludeInfo *ii;
1062  for (;(ii=mii.current());++mii)
1063  {
1064  msg(" includes id: %s name: %s\n",ii->id.data(),ii->name.data());
1065  }
1066  }
1067 
1068  //============== GROUPS
1070  TagGroupInfo *gd;
1071  for (;(gd=lgi.current());++lgi)
1072  {
1073  msg("group `%s'\n",gd->name.data());
1074  msg(" filename `%s'\n",gd->filename.data());
1076  for ( it = gd->namespaceList.begin();
1077  it != gd->namespaceList.end(); ++it )
1078  {
1079  msg( " namespace: %s \n", (*it).latin1() );
1080  }
1081  for ( it = gd->classList.begin();
1082  it != gd->classList.end(); ++it )
1083  {
1084  msg( " class: %s \n", (*it).latin1() );
1085  }
1086  for ( it = gd->fileList.begin();
1087  it != gd->fileList.end(); ++it )
1088  {
1089  msg( " file: %s \n", (*it).latin1() );
1090  }
1091  for ( it = gd->subgroupList.begin();
1092  it != gd->subgroupList.end(); ++it )
1093  {
1094  msg( " subgroup: %s \n", (*it).latin1() );
1095  }
1096  for ( it = gd->pageList.begin();
1097  it != gd->pageList.end(); ++it )
1098  {
1099  msg( " page: %s \n", (*it).latin1() );
1100  }
1101 
1103  TagMemberInfo *md;
1104  for (;(md=mci.current());++mci)
1105  {
1106  msg(" member:\n");
1107  msg(" kind: `%s'\n",md->kind.data());
1108  msg(" name: `%s'\n",md->name.data());
1109  msg(" anchor: `%s'\n",md->anchor.data());
1110  msg(" arglist: `%s'\n",md->arglist.data());
1111  }
1112  }
1113  //============== PAGES
1115  TagPageInfo *pd;
1116  for (;(pd=lpi.current());++lpi)
1117  {
1118  msg("page `%s'\n",pd->name.data());
1119  msg(" title `%s'\n",pd->title.data());
1120  msg(" filename `%s'\n",pd->filename.data());
1121  }
1122  //============== DIRS
1124  TagDirInfo *dd;
1125  for (;(dd=ldi.current());++ldi)
1126  {
1127  msg("dir `%s'\n",dd->name.data());
1128  msg(" path `%s'\n",dd->path.data());
1130  for ( it = dd->fileList.begin();
1131  it != dd->fileList.end(); ++it )
1132  {
1133  msg( " file: %s \n", (*it).latin1() );
1134  }
1135  for ( it = dd->subdirList.begin();
1136  it != dd->subdirList.end(); ++it )
1137  {
1138  msg( " subdir: %s \n", (*it).latin1() );
1139  }
1140  }
1141 }
QCString name
Definition: tagreader.cpp:170
void msg(const char *fmt,...)
Definition: message.cpp:107
Iterator end()
Definition: qvaluelist.h:363
QCString arglist
Definition: tagreader.cpp:84
QList< TagMemberInfo > members
Definition: tagreader.cpp:106
QStringList namespaceList
Definition: tagreader.cpp:161
QStringList fileList
Definition: tagreader.cpp:178
QCString filename
Definition: tagreader.cpp:172
QStringList namespaceList
Definition: tagreader.cpp:177
QCString kind
Definition: tagreader.cpp:85
QStringList fileList
Definition: tagreader.cpp:201
QStringList subgroupList
Definition: tagreader.cpp:175
QList< TagClassInfo > m_tagFileClasses
Definition: tagreader.cpp:914
QList< TagFileInfo > m_tagFileFiles
Definition: tagreader.cpp:915
QCString name
Definition: tagreader.cpp:144
QList< TagGroupInfo > m_tagFileGroups
Definition: tagreader.cpp:917
QList< TagMemberInfo > members
Definition: tagreader.cpp:124
QCString path
Definition: tagreader.cpp:199
QStringList pageList
Definition: tagreader.cpp:179
QList< BaseInfo > * bases
Definition: tagreader.cpp:105
QCString name
Definition: tagreader.cpp:155
QList< TagIncludeInfo > includes
Definition: tagreader.cpp:162
QCString anchor
Definition: tagreader.cpp:83
QStringList classList
Definition: tagreader.cpp:160
QCString name
Definition: tagreader.cpp:81
QCString name
Definition: tagreader.cpp:187
QCString name
the name of the base class
Definition: entry.h:42
QCString name
Definition: tagreader.cpp:197
const char * data() const
Definition: qcstring.h:207
QCString filename
Definition: tagreader.cpp:189
QList< TagDirInfo > m_tagFileDirs
Definition: tagreader.cpp:920
QStringList classList
Definition: tagreader.cpp:121
QList< TagPageInfo > m_tagFilePages
Definition: tagreader.cpp:918
QCString filename
Definition: tagreader.cpp:157
QStringList classList
Definition: tagreader.cpp:176
QStringList subdirList
Definition: tagreader.cpp:200
QCString filename
Definition: tagreader.cpp:119
Iterator begin()
Definition: qvaluelist.h:361
QList< TagNamespaceInfo > m_tagFileNamespaces
Definition: tagreader.cpp:916
QCString title
Definition: tagreader.cpp:188
QCString name
Definition: tagreader.cpp:101
QList< TagMemberInfo > members
Definition: tagreader.cpp:174
Definition: entry.h:37
QList< TagMemberInfo > members
Definition: tagreader.cpp:159
QCString filename
Definition: tagreader.cpp:102
void TagFileParser::endAnchor ( )
inline

Definition at line 711 of file tagreader.cpp.

712  {
713  if (m_state==InMember)
714  {
716  }
717  else
718  {
719  warn("Unexpected tag `anchor' found\n");
720  }
721  }
TagMemberInfo * m_curMember
Definition: tagreader.cpp:930
void warn(const char *fmt)
Definition: tagreader.cpp:278
QCString anchor
Definition: tagreader.cpp:83
QCString m_curString
Definition: tagreader.cpp:933
void TagFileParser::endAnchorFile ( )
inline

Definition at line 745 of file tagreader.cpp.

746  {
747  if (m_state==InMember)
748  {
750  }
751  else
752  {
753  warn("Unexpected tag `anchorfile' found\n");
754  }
755  }
TagMemberInfo * m_curMember
Definition: tagreader.cpp:930
void warn(const char *fmt)
Definition: tagreader.cpp:278
QCString m_curString
Definition: tagreader.cpp:933
QCString anchorFile
Definition: tagreader.cpp:82
void TagFileParser::endArglist ( )
inline

Definition at line 757 of file tagreader.cpp.

758  {
759  if (m_state==InMember)
760  {
762  }
763  else
764  {
765  warn("Unexpected tag `arglist' found\n");
766  }
767  }
TagMemberInfo * m_curMember
Definition: tagreader.cpp:930
QCString arglist
Definition: tagreader.cpp:84
void warn(const char *fmt)
Definition: tagreader.cpp:278
QCString m_curString
Definition: tagreader.cpp:933
void TagFileParser::endBase ( )
inline

Definition at line 634 of file tagreader.cpp.

635  {
636  if (m_state==InClass && m_curClass)
637  {
639  }
640  else
641  {
642  warn("Unexpected tag `base' found\n");
643  }
644  }
void warn(const char *fmt)
Definition: tagreader.cpp:278
type * getLast() const
Definition: qlist.h:96
TagClassInfo * m_curClass
Definition: tagreader.cpp:923
QList< BaseInfo > * bases
Definition: tagreader.cpp:105
QCString name
the name of the base class
Definition: entry.h:42
QCString m_curString
Definition: tagreader.cpp:933
void TagFileParser::endClangId ( )
inline

Definition at line 723 of file tagreader.cpp.

724  {
725  if (m_state==InMember)
726  {
728  }
729  else if (m_state==InClass)
730  {
732  }
733  else if (m_state==InNamespace)
734  {
736  }
737  else
738  {
739  warn("warning: Unexpected tag `anchor' found\n");
740  }
741  }
TagMemberInfo * m_curMember
Definition: tagreader.cpp:930
void warn(const char *fmt)
Definition: tagreader.cpp:278
TagClassInfo * m_curClass
Definition: tagreader.cpp:923
QCString m_curString
Definition: tagreader.cpp:933
QCString clangId
Definition: tagreader.cpp:103
TagNamespaceInfo * m_curNamespace
Definition: tagreader.cpp:925
QCString clangId
Definition: tagreader.cpp:120
QCString clangId
Definition: tagreader.cpp:86
void TagFileParser::endClass ( )
inline

Definition at line 508 of file tagreader.cpp.

509  {
510  switch(m_state)
511  {
517  default: warn("Unexpected tag `class' found\n"); break;
518  }
519  }
Iterator append(const T &x)
Definition: qvaluelist.h:372
QStringList classList
Definition: tagreader.cpp:136
void warn(const char *fmt)
Definition: tagreader.cpp:278
TagClassInfo * m_curClass
Definition: tagreader.cpp:923
QStringList classList
Definition: tagreader.cpp:160
QStringList classList
Definition: tagreader.cpp:108
TagGroupInfo * m_curGroup
Definition: tagreader.cpp:927
TagPackageInfo * m_curPackage
Definition: tagreader.cpp:926
QStringList classList
Definition: tagreader.cpp:121
QCString m_curString
Definition: tagreader.cpp:933
QStringList classList
Definition: tagreader.cpp:176
TagFileInfo * m_curFile
Definition: tagreader.cpp:924
TagNamespaceInfo * m_curNamespace
Definition: tagreader.cpp:925
void TagFileParser::endCompound ( )
inline

Definition at line 393 of file tagreader.cpp.

394  {
395  switch (m_state)
396  {
398  m_curClass=0; break;
400  m_curFile=0; break;
402  m_curNamespace=0; break;
404  m_curGroup=0; break;
406  m_curPage=0; break;
408  m_curDir=0; break;
410  m_curPackage=0; break;
411  default:
412  warn("tag `compound' was not expected!\n");
413  }
414  }
void append(const type *d)
Definition: qlist.h:73
QList< TagPackageInfo > m_tagFilePackages
Definition: tagreader.cpp:919
QList< TagClassInfo > m_tagFileClasses
Definition: tagreader.cpp:914
QList< TagFileInfo > m_tagFileFiles
Definition: tagreader.cpp:915
QList< TagGroupInfo > m_tagFileGroups
Definition: tagreader.cpp:917
void warn(const char *fmt)
Definition: tagreader.cpp:278
TagClassInfo * m_curClass
Definition: tagreader.cpp:923
TagGroupInfo * m_curGroup
Definition: tagreader.cpp:927
TagPackageInfo * m_curPackage
Definition: tagreader.cpp:926
TagPageInfo * m_curPage
Definition: tagreader.cpp:928
QList< TagDirInfo > m_tagFileDirs
Definition: tagreader.cpp:920
QList< TagPageInfo > m_tagFilePages
Definition: tagreader.cpp:918
TagDirInfo * m_curDir
Definition: tagreader.cpp:929
TagFileInfo * m_curFile
Definition: tagreader.cpp:924
QList< TagNamespaceInfo > m_tagFileNamespaces
Definition: tagreader.cpp:916
TagNamespaceInfo * m_curNamespace
Definition: tagreader.cpp:925
void TagFileParser::endDir ( )
inline

Definition at line 551 of file tagreader.cpp.

552  {
553  switch(m_state)
554  {
555  case InDir: m_curDir->subdirList.append(m_curString); break;
556  default: warn("Unexpected tag `page' found\n"); break;
557  }
558  }
Iterator append(const T &x)
Definition: qvaluelist.h:372
void warn(const char *fmt)
Definition: tagreader.cpp:278
TagDirInfo * m_curDir
Definition: tagreader.cpp:929
QCString m_curString
Definition: tagreader.cpp:933
QStringList subdirList
Definition: tagreader.cpp:200
void TagFileParser::endDocAnchor ( )
inline

Definition at line 492 of file tagreader.cpp.

493  {
494  switch(m_state)
495  {
504  default: warn("Unexpected tag `member' found\n"); break;
505  }
506  }
TagMemberInfo * m_curMember
Definition: tagreader.cpp:930
TagAnchorInfoList docAnchors
Definition: tagreader.cpp:123
void append(const type *d)
Definition: qlist.h:73
TagAnchorInfoList docAnchors
Definition: tagreader.cpp:202
TagAnchorInfoList docAnchors
Definition: tagreader.cpp:158
void warn(const char *fmt)
Definition: tagreader.cpp:278
TagClassInfo * m_curClass
Definition: tagreader.cpp:923
TagAnchorInfoList docAnchors
Definition: tagreader.cpp:134
TagGroupInfo * m_curGroup
Definition: tagreader.cpp:927
TagPackageInfo * m_curPackage
Definition: tagreader.cpp:926
TagPageInfo * m_curPage
Definition: tagreader.cpp:928
TagDirInfo * m_curDir
Definition: tagreader.cpp:929
TagAnchorInfoList docAnchors
Definition: tagreader.cpp:190
QCString m_curString
Definition: tagreader.cpp:933
TagAnchorInfoList docAnchors
Definition: tagreader.cpp:104
TagAnchorInfoList docAnchors
Definition: tagreader.cpp:173
TagFileInfo * m_curFile
Definition: tagreader.cpp:924
QCString m_title
Definition: tagreader.cpp:936
QCString m_fileName
Definition: tagreader.cpp:935
TagNamespaceInfo * m_curNamespace
Definition: tagreader.cpp:925
TagAnchorInfoList docAnchors
Definition: tagreader.cpp:87
bool TagFileParser::endElement ( const QString namespaceURI,
const QString localName,
const QString qName 
)
inlinevirtual

Does nothing.

Reimplemented from QXmlDefaultHandler.

Definition at line 886 of file tagreader.cpp.

887  {
888  //printf("endElement `%s'\n",name.data());
889  EndElementHandler *handler = m_endElementHandlers[name.utf8()];
890  if (handler)
891  {
892  (*handler)();
893  }
894  else
895  {
896  warn("Unknown tag `%s' found!\n",name.data());
897  }
898  return TRUE;
899  }
static QCString name
Definition: declinfo.cpp:673
QDict< EndElementHandler > m_endElementHandlers
Definition: tagreader.cpp:922
void warn(const char *fmt)
Definition: tagreader.cpp:278
const char * data() const
Definition: qcstring.h:207
static msg_handler handler
Definition: qglobal.cpp:234
const bool TRUE
Definition: qglobal.h:371
void TagFileParser::endEnumValue ( )
inline

Definition at line 480 of file tagreader.cpp.

481  {
483  m_state = *m_stateStack.top();
485  if (m_state==InMember)
486  {
488  m_curEnumValue=0;
489  }
490  }
TagEnumValueInfo * m_curEnumValue
Definition: tagreader.cpp:931
TagMemberInfo * m_curMember
Definition: tagreader.cpp:930
QCString stripWhiteSpace() const
Definition: qcstring.cpp:295
void append(const type *d)
Definition: qlist.h:73
QList< TagEnumValueInfo > enumValues
Definition: tagreader.cpp:91
QCString m_curString
Definition: tagreader.cpp:933
QStack< State > m_stateStack
Definition: tagreader.cpp:938
bool remove()
Definition: qstack.h:60
type * top() const
Definition: qstack.h:63
void TagFileParser::endFile ( )
inline

Definition at line 532 of file tagreader.cpp.

533  {
534  switch(m_state)
535  {
537  case InDir: m_curDir->fileList.append(m_curString); break;
538  default: warn("Unexpected tag `file' found\n"); break;
539  }
540  }
Iterator append(const T &x)
Definition: qvaluelist.h:372
QStringList fileList
Definition: tagreader.cpp:178
QStringList fileList
Definition: tagreader.cpp:201
void warn(const char *fmt)
Definition: tagreader.cpp:278
TagGroupInfo * m_curGroup
Definition: tagreader.cpp:927
TagDirInfo * m_curDir
Definition: tagreader.cpp:929
QCString m_curString
Definition: tagreader.cpp:933
void TagFileParser::endFilename ( )
inline

Definition at line 686 of file tagreader.cpp.

687  {
688  switch (m_state)
689  {
690  case InClass: m_curClass->filename = m_curString; break;
692  case InFile: m_curFile->filename = m_curString; break;
693  case InGroup: m_curGroup->filename = m_curString; break;
694  case InPage: m_curPage->filename = m_curString; break;
695  case InPackage: m_curPackage->filename = m_curString; break;
696  case InDir: m_curDir->filename = m_curString; break;
697  default: warn("Unexpected tag `filename' found\n"); break;
698  }
699  }
QCString filename
Definition: tagreader.cpp:133
QCString filename
Definition: tagreader.cpp:172
void warn(const char *fmt)
Definition: tagreader.cpp:278
TagClassInfo * m_curClass
Definition: tagreader.cpp:923
QCString filename
Definition: tagreader.cpp:198
TagGroupInfo * m_curGroup
Definition: tagreader.cpp:927
TagPackageInfo * m_curPackage
Definition: tagreader.cpp:926
QCString filename
Definition: tagreader.cpp:189
TagPageInfo * m_curPage
Definition: tagreader.cpp:928
TagDirInfo * m_curDir
Definition: tagreader.cpp:929
QCString filename
Definition: tagreader.cpp:157
QCString m_curString
Definition: tagreader.cpp:933
TagFileInfo * m_curFile
Definition: tagreader.cpp:924
QCString filename
Definition: tagreader.cpp:119
TagNamespaceInfo * m_curNamespace
Definition: tagreader.cpp:925
QCString filename
Definition: tagreader.cpp:102
void TagFileParser::endIgnoreElement ( )
inline

Definition at line 794 of file tagreader.cpp.

795  {
796  }
void TagFileParser::endIncludes ( )
inline

Definition at line 664 of file tagreader.cpp.

665  {
667  }
TagIncludeInfo * m_curIncludes
Definition: tagreader.cpp:932
QCString text
Definition: tagreader.cpp:145
QCString m_curString
Definition: tagreader.cpp:933
void TagFileParser::endMember ( )
inline

Definition at line 447 of file tagreader.cpp.

448  {
449  m_state = *m_stateStack.top();
451  switch(m_state)
452  {
454  case InFile: m_curFile->members.append(m_curMember); break;
458  default: warn("Unexpected tag `member' found\n"); break;
459  }
460  }
TagMemberInfo * m_curMember
Definition: tagreader.cpp:930
void append(const type *d)
Definition: qlist.h:73
QList< TagMemberInfo > members
Definition: tagreader.cpp:106
QList< TagMemberInfo > members
Definition: tagreader.cpp:124
void warn(const char *fmt)
Definition: tagreader.cpp:278
TagClassInfo * m_curClass
Definition: tagreader.cpp:923
TagGroupInfo * m_curGroup
Definition: tagreader.cpp:927
TagPackageInfo * m_curPackage
Definition: tagreader.cpp:926
TagFileInfo * m_curFile
Definition: tagreader.cpp:924
QStack< State > m_stateStack
Definition: tagreader.cpp:938
QList< TagMemberInfo > members
Definition: tagreader.cpp:135
bool remove()
Definition: qstack.h:60
TagNamespaceInfo * m_curNamespace
Definition: tagreader.cpp:925
QList< TagMemberInfo > members
Definition: tagreader.cpp:174
type * top() const
Definition: qstack.h:63
QList< TagMemberInfo > members
Definition: tagreader.cpp:159
void TagFileParser::endName ( )
inline

Definition at line 584 of file tagreader.cpp.

585  {
586  switch (m_state)
587  {
588  case InClass: m_curClass->name = m_curString; break;
589  case InFile: m_curFile->name = m_curString; break;
590  case InNamespace: m_curNamespace->name = m_curString; break;
591  case InGroup: m_curGroup->name = m_curString; break;
592  case InPage: m_curPage->name = m_curString; break;
593  case InDir: m_curDir->name = m_curString; break;
594  case InMember: m_curMember->name = m_curString; break;
595  case InPackage: m_curPackage->name = m_curString; break;
596  default: warn("Unexpected tag `name' found\n"); break;
597  }
598  }
TagMemberInfo * m_curMember
Definition: tagreader.cpp:930
QCString name
Definition: tagreader.cpp:170
void warn(const char *fmt)
Definition: tagreader.cpp:278
QCString name
Definition: tagreader.cpp:132
TagClassInfo * m_curClass
Definition: tagreader.cpp:923
QCString name
Definition: tagreader.cpp:155
QCString name
Definition: tagreader.cpp:81
QCString name
Definition: tagreader.cpp:187
TagGroupInfo * m_curGroup
Definition: tagreader.cpp:927
QCString name
Definition: tagreader.cpp:197
TagPackageInfo * m_curPackage
Definition: tagreader.cpp:926
TagPageInfo * m_curPage
Definition: tagreader.cpp:928
TagDirInfo * m_curDir
Definition: tagreader.cpp:929
QCString m_curString
Definition: tagreader.cpp:933
TagFileInfo * m_curFile
Definition: tagreader.cpp:924
TagNamespaceInfo * m_curNamespace
Definition: tagreader.cpp:925
QCString name
Definition: tagreader.cpp:101
void TagFileParser::endNamespace ( )
inline

Definition at line 521 of file tagreader.cpp.

522  {
523  switch(m_state)
524  {
528  default: warn("Unexpected tag `namespace' found\n"); break;
529  }
530  }
Iterator append(const T &x)
Definition: qvaluelist.h:372
QStringList namespaceList
Definition: tagreader.cpp:161
QStringList namespaceList
Definition: tagreader.cpp:177
void warn(const char *fmt)
Definition: tagreader.cpp:278
TagGroupInfo * m_curGroup
Definition: tagreader.cpp:927
QStringList classList
Definition: tagreader.cpp:121
QCString m_curString
Definition: tagreader.cpp:933
TagFileInfo * m_curFile
Definition: tagreader.cpp:924
TagNamespaceInfo * m_curNamespace
Definition: tagreader.cpp:925
void TagFileParser::endPage ( )
inline

Definition at line 542 of file tagreader.cpp.

543  {
544  switch(m_state)
545  {
547  default: warn("Unexpected tag `page' found\n"); break;
548  }
549  }
Iterator append(const T &x)
Definition: qvaluelist.h:372
QStringList fileList
Definition: tagreader.cpp:178
void warn(const char *fmt)
Definition: tagreader.cpp:278
TagGroupInfo * m_curGroup
Definition: tagreader.cpp:927
QCString m_curString
Definition: tagreader.cpp:933
void TagFileParser::endPath ( )
inline

Definition at line 701 of file tagreader.cpp.

702  {
703  switch (m_state)
704  {
705  case InFile: m_curFile->path = m_curString; break;
706  case InDir: m_curDir->path = m_curString; break;
707  default: warn("Unexpected tag `path' found\n"); break;
708  }
709  }
QCString path
Definition: tagreader.cpp:199
void warn(const char *fmt)
Definition: tagreader.cpp:278
TagDirInfo * m_curDir
Definition: tagreader.cpp:929
QCString path
Definition: tagreader.cpp:156
QCString m_curString
Definition: tagreader.cpp:933
TagFileInfo * m_curFile
Definition: tagreader.cpp:924
void TagFileParser::endSubgroup ( )
inline

Definition at line 778 of file tagreader.cpp.

779  {
780  if (m_state==InGroup)
781  {
783  }
784  else
785  {
786  warn("Unexpected tag `subgroup' found\n");
787  }
788  }
Iterator append(const T &x)
Definition: qvaluelist.h:372
QStringList subgroupList
Definition: tagreader.cpp:175
void warn(const char *fmt)
Definition: tagreader.cpp:278
TagGroupInfo * m_curGroup
Definition: tagreader.cpp:927
QCString m_curString
Definition: tagreader.cpp:933
void TagFileParser::endTemplateArg ( )
inline

Definition at line 669 of file tagreader.cpp.

670  {
671  if (m_state==InClass && m_curClass)
672  {
673  if (m_curClass->templateArguments==0)
674  {
677  }
679  }
680  else
681  {
682  warn("Unexpected tag `templarg' found\n");
683  }
684  }
void append(const type *d)
Definition: qlist.h:73
void warn(const char *fmt)
Definition: tagreader.cpp:278
TagClassInfo * m_curClass
Definition: tagreader.cpp:923
QCString m_curString
Definition: tagreader.cpp:933
QList< QCString > * templateArguments
Definition: tagreader.cpp:107
void setAutoDelete(bool enable)
Definition: qlist.h:99
const bool TRUE
Definition: qglobal.h:371
void TagFileParser::endTitle ( )
inline

Definition at line 768 of file tagreader.cpp.

769  {
770  switch (m_state)
771  {
772  case InGroup: m_curGroup->title = m_curString; break;
773  case InPage: m_curPage->title = m_curString; break;
774  default: warn("Unexpected tag `title' found\n"); break;
775  }
776  }
void warn(const char *fmt)
Definition: tagreader.cpp:278
TagGroupInfo * m_curGroup
Definition: tagreader.cpp:927
TagPageInfo * m_curPage
Definition: tagreader.cpp:928
QCString title
Definition: tagreader.cpp:171
QCString m_curString
Definition: tagreader.cpp:933
QCString title
Definition: tagreader.cpp:188
void TagFileParser::endType ( )
inline

Definition at line 572 of file tagreader.cpp.

573  {
574  if (m_state==InMember)
575  {
577  }
578  else
579  {
580  warn("Unexpected tag `type' found\n");
581  }
582  }
TagMemberInfo * m_curMember
Definition: tagreader.cpp:930
void warn(const char *fmt)
Definition: tagreader.cpp:278
QCString m_curString
Definition: tagreader.cpp:933
QCString type
Definition: tagreader.cpp:80
void TagFileParser::setDocumentLocator ( QXmlLocator locator)
inlinevirtual

Does nothing.

Reimplemented from QXmlDefaultHandler.

Definition at line 268 of file tagreader.cpp.

269  {
270  m_locator = locator;
271  }
QXmlLocator * m_locator
Definition: tagreader.cpp:939
void TagFileParser::setFileName ( const QString fileName)
inline

Definition at line 273 of file tagreader.cpp.

274  {
275  m_inputFileName = fileName.utf8();
276  }
QCString m_inputFileName
Definition: tagreader.cpp:940
QCString utf8() const
Definition: qstring.cpp:14507
void TagFileParser::startBase ( const QXmlAttributes attrib)
inline

Definition at line 600 of file tagreader.cpp.

601  {
602  m_curString="";
603  if (m_state==InClass && m_curClass)
604  {
605  QString protStr = attrib.value("protection");
606  QString virtStr = attrib.value("virtualness");
607  Protection prot = Public;
609  if (protStr=="protected")
610  {
611  prot = Protected;
612  }
613  else if (protStr=="private")
614  {
615  prot = Private;
616  }
617  if (virtStr=="virtual")
618  {
619  virt = Virtual;
620  }
621  if (m_curClass->bases==0)
622  {
625  }
626  m_curClass->bases->append(new BaseInfo(m_curString,prot,virt));
627  }
628  else
629  {
630  warn("Unexpected tag `base' found\n");
631  }
632  }
Definition: types.h:29
void append(const type *d)
Definition: qlist.h:73
Definition: types.h:26
Definition: types.h:26
The QString class provides an abstraction of Unicode text and the classic C null-terminated char arra...
Definition: qstring.h:350
QString value(int index) const
Definition: qxml.cpp:664
Definition: types.h:29
void warn(const char *fmt)
Definition: tagreader.cpp:278
TagClassInfo * m_curClass
Definition: tagreader.cpp:923
QList< BaseInfo > * bases
Definition: tagreader.cpp:105
Specifier
Definition: types.h:29
QCString m_curString
Definition: tagreader.cpp:933
static Specifier virt
Protection
Definition: types.h:26
Definition: entry.h:37
void setAutoDelete(bool enable)
Definition: qlist.h:99
const bool TRUE
Definition: qglobal.h:371
void TagFileParser::startCompound ( const QXmlAttributes attrib)
inline

Definition at line 287 of file tagreader.cpp.

288  {
289  m_curString = "";
290  QString kind = attrib.value("kind");
291  QString isObjC = attrib.value("objc");
292  if (kind=="class")
293  {
294  m_curClass = new TagClassInfo;
296  m_state = InClass;
297  }
298  else if (kind=="struct")
299  {
300  m_curClass = new TagClassInfo;
302  m_state = InClass;
303  }
304  else if (kind=="union")
305  {
306  m_curClass = new TagClassInfo;
308  m_state = InClass;
309  }
310  else if (kind=="interface")
311  {
312  m_curClass = new TagClassInfo;
314  m_state = InClass;
315  }
316  else if (kind=="enum")
317  {
318  m_curClass = new TagClassInfo;
320  m_state = InClass;
321  }
322  else if (kind=="exception")
323  {
324  m_curClass = new TagClassInfo;
326  m_state = InClass;
327  }
328  else if (kind=="protocol")
329  {
330  m_curClass = new TagClassInfo;
332  m_state = InClass;
333  }
334  else if (kind=="category")
335  {
336  m_curClass = new TagClassInfo;
338  m_state = InClass;
339  }
340  else if (kind=="service")
341  {
342  m_curClass = new TagClassInfo;
344  m_state = InClass;
345  }
346  else if (kind=="singleton")
347  {
348  m_curClass = new TagClassInfo;
350  m_state = InClass;
351  }
352  else if (kind=="file")
353  {
354  m_curFile = new TagFileInfo;
355  m_state = InFile;
356  }
357  else if (kind=="namespace")
358  {
361  }
362  else if (kind=="group")
363  {
364  m_curGroup = new TagGroupInfo;
365  m_state = InGroup;
366  }
367  else if (kind=="page")
368  {
369  m_curPage = new TagPageInfo;
370  m_state = InPage;
371  }
372  else if (kind=="package")
373  {
375  m_state = InPackage;
376  }
377  else if (kind=="dir")
378  {
379  m_curDir = new TagDirInfo;
380  m_state = InDir;
381  }
382  else
383  {
384  warn("Unknown compound attribute `%s' found!\n",kind.data());
385  m_state = Invalid;
386  }
387  if (isObjC=="yes" && m_curClass)
388  {
389  m_curClass->isObjC = TRUE;
390  }
391  }
The QString class provides an abstraction of Unicode text and the classic C null-terminated char arra...
Definition: qstring.h:350
QString value(int index) const
Definition: qxml.cpp:664
void warn(const char *fmt)
Definition: tagreader.cpp:278
const char * data() const
Definition: qstring.h:542
TagClassInfo * m_curClass
Definition: tagreader.cpp:923
TagGroupInfo * m_curGroup
Definition: tagreader.cpp:927
TagPackageInfo * m_curPackage
Definition: tagreader.cpp:926
TagPageInfo * m_curPage
Definition: tagreader.cpp:928
TagDirInfo * m_curDir
Definition: tagreader.cpp:929
QCString m_curString
Definition: tagreader.cpp:933
TagFileInfo * m_curFile
Definition: tagreader.cpp:924
TagNamespaceInfo * m_curNamespace
Definition: tagreader.cpp:925
const bool TRUE
Definition: qglobal.h:371
void TagFileParser::startDocAnchor ( const QXmlAttributes attrib)
inline

Definition at line 565 of file tagreader.cpp.

566  {
567  m_fileName = attrib.value("file").utf8();
568  m_title = attrib.value("title").utf8();
569  m_curString = "";
570  }
QString value(int index) const
Definition: qxml.cpp:664
QCString m_curString
Definition: tagreader.cpp:933
QCString m_title
Definition: tagreader.cpp:936
QCString m_fileName
Definition: tagreader.cpp:935
QCString utf8() const
Definition: qstring.cpp:14507
bool TagFileParser::startDocument ( )
inlinevirtual

Does nothing.

Reimplemented from QXmlDefaultHandler.

Definition at line 798 of file tagreader.cpp.

799  {
800  m_state = Invalid;
801 
802  m_curClass=0;
803  m_curNamespace=0;
804  m_curFile=0;
805  m_curGroup=0;
806  m_curPage=0;
807  m_curPackage=0;
808  m_curDir=0;
809 
818 
819  m_startElementHandlers.insert("compound", new StartElementHandler(this,&TagFileParser::startCompound));
820  m_startElementHandlers.insert("member", new StartElementHandler(this,&TagFileParser::startMember));
821  m_startElementHandlers.insert("enumvalue", new StartElementHandler(this,&TagFileParser::startEnumValue));
822  m_startElementHandlers.insert("name", new StartElementHandler(this,&TagFileParser::startStringValue));
823  m_startElementHandlers.insert("base", new StartElementHandler(this,&TagFileParser::startBase));
824  m_startElementHandlers.insert("filename", new StartElementHandler(this,&TagFileParser::startStringValue));
825  m_startElementHandlers.insert("includes", new StartElementHandler(this,&TagFileParser::startIncludes));
826  m_startElementHandlers.insert("path", new StartElementHandler(this,&TagFileParser::startStringValue));
827  m_startElementHandlers.insert("anchorfile", new StartElementHandler(this,&TagFileParser::startStringValue));
828  m_startElementHandlers.insert("anchor", new StartElementHandler(this,&TagFileParser::startStringValue));
829  m_startElementHandlers.insert("clangid", new StartElementHandler(this,&TagFileParser::startStringValue));
830  m_startElementHandlers.insert("arglist", new StartElementHandler(this,&TagFileParser::startStringValue));
831  m_startElementHandlers.insert("title", new StartElementHandler(this,&TagFileParser::startStringValue));
832  m_startElementHandlers.insert("subgroup", new StartElementHandler(this,&TagFileParser::startStringValue));
833  m_startElementHandlers.insert("class", new StartElementHandler(this,&TagFileParser::startStringValue));
834  m_startElementHandlers.insert("namespace", new StartElementHandler(this,&TagFileParser::startStringValue));
835  m_startElementHandlers.insert("file", new StartElementHandler(this,&TagFileParser::startStringValue));
836  m_startElementHandlers.insert("dir", new StartElementHandler(this,&TagFileParser::startStringValue));
837  m_startElementHandlers.insert("page", new StartElementHandler(this,&TagFileParser::startStringValue));
838  m_startElementHandlers.insert("docanchor", new StartElementHandler(this,&TagFileParser::startDocAnchor));
839  m_startElementHandlers.insert("tagfile", new StartElementHandler(this,&TagFileParser::startIgnoreElement));
840  m_startElementHandlers.insert("templarg", new StartElementHandler(this,&TagFileParser::startStringValue));
841  m_startElementHandlers.insert("type", new StartElementHandler(this,&TagFileParser::startStringValue));
842 
843  m_endElementHandlers.insert("compound", new EndElementHandler(this,&TagFileParser::endCompound));
844  m_endElementHandlers.insert("member", new EndElementHandler(this,&TagFileParser::endMember));
845  m_endElementHandlers.insert("enumvalue", new EndElementHandler(this,&TagFileParser::endEnumValue));
846  m_endElementHandlers.insert("name", new EndElementHandler(this,&TagFileParser::endName));
847  m_endElementHandlers.insert("base", new EndElementHandler(this,&TagFileParser::endBase));
848  m_endElementHandlers.insert("filename", new EndElementHandler(this,&TagFileParser::endFilename));
849  m_endElementHandlers.insert("includes", new EndElementHandler(this,&TagFileParser::endIncludes));
850  m_endElementHandlers.insert("path", new EndElementHandler(this,&TagFileParser::endPath));
851  m_endElementHandlers.insert("anchorfile", new EndElementHandler(this,&TagFileParser::endAnchorFile));
852  m_endElementHandlers.insert("anchor", new EndElementHandler(this,&TagFileParser::endAnchor));
853  m_endElementHandlers.insert("clangid", new EndElementHandler(this,&TagFileParser::endClangId));
854  m_endElementHandlers.insert("arglist", new EndElementHandler(this,&TagFileParser::endArglist));
855  m_endElementHandlers.insert("title", new EndElementHandler(this,&TagFileParser::endTitle));
856  m_endElementHandlers.insert("subgroup", new EndElementHandler(this,&TagFileParser::endSubgroup));
857  m_endElementHandlers.insert("class" , new EndElementHandler(this,&TagFileParser::endClass));
858  m_endElementHandlers.insert("namespace", new EndElementHandler(this,&TagFileParser::endNamespace));
859  m_endElementHandlers.insert("file", new EndElementHandler(this,&TagFileParser::endFile));
860  m_endElementHandlers.insert("dir", new EndElementHandler(this,&TagFileParser::endDir));
861  m_endElementHandlers.insert("page", new EndElementHandler(this,&TagFileParser::endPage));
862  m_endElementHandlers.insert("docanchor", new EndElementHandler(this,&TagFileParser::endDocAnchor));
863  m_endElementHandlers.insert("tagfile", new EndElementHandler(this,&TagFileParser::endIgnoreElement));
864  m_endElementHandlers.insert("templarg", new EndElementHandler(this,&TagFileParser::endTemplateArg));
865  m_endElementHandlers.insert("type", new EndElementHandler(this,&TagFileParser::endType));
866 
867  return TRUE;
868  }
QDict< EndElementHandler > m_endElementHandlers
Definition: tagreader.cpp:922
void setAutoDelete(bool del)
Definition: qstack.h:55
void endFilename()
Definition: tagreader.cpp:686
void endNamespace()
Definition: tagreader.cpp:521
void startDocAnchor(const QXmlAttributes &attrib)
Definition: tagreader.cpp:565
void startBase(const QXmlAttributes &attrib)
Definition: tagreader.cpp:600
void endArglist()
Definition: tagreader.cpp:757
void endIgnoreElement()
Definition: tagreader.cpp:794
void startIgnoreElement(const QXmlAttributes &)
Definition: tagreader.cpp:790
QList< TagPackageInfo > m_tagFilePackages
Definition: tagreader.cpp:919
QList< TagClassInfo > m_tagFileClasses
Definition: tagreader.cpp:914
QList< TagFileInfo > m_tagFileFiles
Definition: tagreader.cpp:915
void endPath()
Definition: tagreader.cpp:701
void startEnumValue(const QXmlAttributes &attrib)
Definition: tagreader.cpp:462
QList< TagGroupInfo > m_tagFileGroups
Definition: tagreader.cpp:917
void startIncludes(const QXmlAttributes &attrib)
Definition: tagreader.cpp:646
void endCompound()
Definition: tagreader.cpp:393
void startStringValue(const QXmlAttributes &)
Definition: tagreader.cpp:560
void endTemplateArg()
Definition: tagreader.cpp:669
void endClass()
Definition: tagreader.cpp:508
TagClassInfo * m_curClass
Definition: tagreader.cpp:923
void endAnchorFile()
Definition: tagreader.cpp:745
void endTitle()
Definition: tagreader.cpp:768
void startCompound(const QXmlAttributes &attrib)
Definition: tagreader.cpp:287
TagGroupInfo * m_curGroup
Definition: tagreader.cpp:927
void endAnchor()
Definition: tagreader.cpp:711
void endEnumValue()
Definition: tagreader.cpp:480
TagPackageInfo * m_curPackage
Definition: tagreader.cpp:926
void endSubgroup()
Definition: tagreader.cpp:778
TagPageInfo * m_curPage
Definition: tagreader.cpp:928
QList< TagDirInfo > m_tagFileDirs
Definition: tagreader.cpp:920
void endName()
Definition: tagreader.cpp:584
QList< TagPageInfo > m_tagFilePages
Definition: tagreader.cpp:918
TagDirInfo * m_curDir
Definition: tagreader.cpp:929
void startMember(const QXmlAttributes &attrib)
Definition: tagreader.cpp:416
void endMember()
Definition: tagreader.cpp:447
QDict< StartElementHandler > m_startElementHandlers
Definition: tagreader.cpp:921
TagFileInfo * m_curFile
Definition: tagreader.cpp:924
void endIncludes()
Definition: tagreader.cpp:664
QStack< State > m_stateStack
Definition: tagreader.cpp:938
void endPage()
Definition: tagreader.cpp:542
void endClangId()
Definition: tagreader.cpp:723
QList< TagNamespaceInfo > m_tagFileNamespaces
Definition: tagreader.cpp:916
TagNamespaceInfo * m_curNamespace
Definition: tagreader.cpp:925
void endFile()
Definition: tagreader.cpp:532
void setAutoDelete(bool enable)
Definition: qlist.h:99
void endBase()
Definition: tagreader.cpp:634
const bool TRUE
Definition: qglobal.h:371
void endDocAnchor()
Definition: tagreader.cpp:492
void endType()
Definition: tagreader.cpp:572
bool TagFileParser::startElement ( const QString namespaceURI,
const QString localName,
const QString qName,
const QXmlAttributes atts 
)
inlinevirtual

Does nothing.

Reimplemented from QXmlDefaultHandler.

Definition at line 870 of file tagreader.cpp.

872  {
873  //printf("startElement `%s'\n",name.data());
874  StartElementHandler *handler = m_startElementHandlers[name.utf8()];
875  if (handler)
876  {
877  (*handler)(attrib);
878  }
879  else
880  {
881  warn("Unknown tag `%s' found!\n",name.data());
882  }
883  return TRUE;
884  }
static QCString name
Definition: declinfo.cpp:673
void warn(const char *fmt)
Definition: tagreader.cpp:278
const char * data() const
Definition: qcstring.h:207
QDict< StartElementHandler > m_startElementHandlers
Definition: tagreader.cpp:921
static msg_handler handler
Definition: qglobal.cpp:234
const bool TRUE
Definition: qglobal.h:371
void TagFileParser::startEnumValue ( const QXmlAttributes attrib)
inline

Definition at line 462 of file tagreader.cpp.

463  {
464  if (m_state==InMember)
465  {
466  m_curString = "";
468  m_curEnumValue->file = attrib.value("file").utf8();
469  m_curEnumValue->anchor = attrib.value("anchor").utf8();
470  m_curEnumValue->clangid = attrib.value("clangid").utf8();
473  }
474  else
475  {
476  warn("Found enumvalue tag outside of member tag\n");
477  }
478  }
TagEnumValueInfo * m_curEnumValue
Definition: tagreader.cpp:931
QString value(int index) const
Definition: qxml.cpp:664
void push(const type *d)
Definition: qstack.h:58
void warn(const char *fmt)
Definition: tagreader.cpp:278
QCString m_curString
Definition: tagreader.cpp:933
QStack< State > m_stateStack
Definition: tagreader.cpp:938
QCString anchor
Definition: tagreader.cpp:70
QCString clangid
Definition: tagreader.cpp:71
QCString utf8() const
Definition: qstring.cpp:14507
void TagFileParser::startIgnoreElement ( const QXmlAttributes )
inline

Definition at line 790 of file tagreader.cpp.

791  {
792  }
void TagFileParser::startIncludes ( const QXmlAttributes attrib)
inline

Definition at line 646 of file tagreader.cpp.

647  {
648  if (m_state==InFile && m_curFile)
649  {
651  m_curIncludes->id = attrib.value("id").utf8();
652  m_curIncludes->name = attrib.value("name").utf8();
653  m_curIncludes->isLocal = attrib.value("local").utf8()=="yes" ? TRUE : FALSE;
654  m_curIncludes->isImported = attrib.value("imported").utf8()=="yes" ? TRUE : FALSE;
656  }
657  else
658  {
659  warn("Unexpected tag `includes' found\n");
660  }
661  m_curString="";
662  }
void append(const type *d)
Definition: qlist.h:73
TagIncludeInfo * m_curIncludes
Definition: tagreader.cpp:932
const bool FALSE
Definition: qglobal.h:370
QString value(int index) const
Definition: qxml.cpp:664
QCString name
Definition: tagreader.cpp:144
void warn(const char *fmt)
Definition: tagreader.cpp:278
QList< TagIncludeInfo > includes
Definition: tagreader.cpp:162
QCString m_curString
Definition: tagreader.cpp:933
TagFileInfo * m_curFile
Definition: tagreader.cpp:924
QCString utf8() const
Definition: qstring.cpp:14507
const bool TRUE
Definition: qglobal.h:371
void TagFileParser::startMember ( const QXmlAttributes attrib)
inline

Definition at line 416 of file tagreader.cpp.

417  {
419  m_curMember->kind = attrib.value("kind").utf8();
420  QCString protStr = attrib.value("protection").utf8();
421  QCString virtStr = attrib.value("virtualness").utf8();
422  QCString staticStr = attrib.value("static").utf8();
423  if (protStr=="protected")
424  {
426  }
427  else if (protStr=="private")
428  {
430  }
431  if (virtStr=="virtual")
432  {
434  }
435  else if (virtStr=="pure")
436  {
437  m_curMember->virt = Pure;
438  }
439  if (staticStr=="yes")
440  {
442  }
444  m_state = InMember;
445  }
TagMemberInfo * m_curMember
Definition: tagreader.cpp:930
Definition: types.h:29
Definition: types.h:29
QCString kind
Definition: tagreader.cpp:85
Definition: types.h:26
QString value(int index) const
Definition: qxml.cpp:664
void push(const type *d)
Definition: qstack.h:58
Specifier virt
Definition: tagreader.cpp:89
QStack< State > m_stateStack
Definition: tagreader.cpp:938
Protection prot
Definition: tagreader.cpp:88
QCString utf8() const
Definition: qstring.cpp:14507
const bool TRUE
Definition: qglobal.h:371
void TagFileParser::startStringValue ( const QXmlAttributes )
inline

Definition at line 560 of file tagreader.cpp.

561  {
562  m_curString = "";
563  }
QCString m_curString
Definition: tagreader.cpp:933
void TagFileParser::warn ( const char *  fmt)
inline

Definition at line 278 of file tagreader.cpp.

279  {
281  }
void warn(const char *fmt)
Definition: tagreader.cpp:278
int lineNumber()
Definition: qxml.cpp:292
QXmlLocator * m_locator
Definition: tagreader.cpp:939
QCString m_inputFileName
Definition: tagreader.cpp:940
void TagFileParser::warn ( const char *  fmt,
const char *  s 
)
inline

Definition at line 282 of file tagreader.cpp.

283  {
285  }
void warn(const char *fmt)
Definition: tagreader.cpp:278
int lineNumber()
Definition: qxml.cpp:292
QXmlLocator * m_locator
Definition: tagreader.cpp:939
QCString m_inputFileName
Definition: tagreader.cpp:940
static QCString * s
Definition: config.cpp:1042

Member Data Documentation

TagClassInfo* TagFileParser::m_curClass
private

Definition at line 923 of file tagreader.cpp.

TagDirInfo* TagFileParser::m_curDir
private

Definition at line 929 of file tagreader.cpp.

TagEnumValueInfo* TagFileParser::m_curEnumValue
private

Definition at line 931 of file tagreader.cpp.

TagFileInfo* TagFileParser::m_curFile
private

Definition at line 924 of file tagreader.cpp.

TagGroupInfo* TagFileParser::m_curGroup
private

Definition at line 927 of file tagreader.cpp.

TagIncludeInfo* TagFileParser::m_curIncludes
private

Definition at line 932 of file tagreader.cpp.

TagMemberInfo* TagFileParser::m_curMember
private

Definition at line 930 of file tagreader.cpp.

TagNamespaceInfo* TagFileParser::m_curNamespace
private

Definition at line 925 of file tagreader.cpp.

TagPackageInfo* TagFileParser::m_curPackage
private

Definition at line 926 of file tagreader.cpp.

TagPageInfo* TagFileParser::m_curPage
private

Definition at line 928 of file tagreader.cpp.

QCString TagFileParser::m_curString
private

Definition at line 933 of file tagreader.cpp.

QDict<EndElementHandler> TagFileParser::m_endElementHandlers
private

Definition at line 922 of file tagreader.cpp.

QCString TagFileParser::m_fileName
private

Definition at line 935 of file tagreader.cpp.

QCString TagFileParser::m_inputFileName
private

Definition at line 940 of file tagreader.cpp.

QXmlLocator* TagFileParser::m_locator
private

Definition at line 939 of file tagreader.cpp.

QDict<StartElementHandler> TagFileParser::m_startElementHandlers
private

Definition at line 921 of file tagreader.cpp.

State TagFileParser::m_state
private

Definition at line 937 of file tagreader.cpp.

QStack<State> TagFileParser::m_stateStack
private

Definition at line 938 of file tagreader.cpp.

QList<TagClassInfo> TagFileParser::m_tagFileClasses
private

Definition at line 914 of file tagreader.cpp.

QList<TagDirInfo> TagFileParser::m_tagFileDirs
private

Definition at line 920 of file tagreader.cpp.

QList<TagFileInfo> TagFileParser::m_tagFileFiles
private

Definition at line 915 of file tagreader.cpp.

QList<TagGroupInfo> TagFileParser::m_tagFileGroups
private

Definition at line 917 of file tagreader.cpp.

QList<TagNamespaceInfo> TagFileParser::m_tagFileNamespaces
private

Definition at line 916 of file tagreader.cpp.

QList<TagPackageInfo> TagFileParser::m_tagFilePackages
private

Definition at line 919 of file tagreader.cpp.

QList<TagPageInfo> TagFileParser::m_tagFilePages
private

Definition at line 918 of file tagreader.cpp.

QCString TagFileParser::m_tagName
private

Definition at line 934 of file tagreader.cpp.

QCString TagFileParser::m_title
private

Definition at line 936 of file tagreader.cpp.


The documentation for this class was generated from the following file: