Public Member Functions | Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
FileDef Class Reference

#include <filedef.h>

Inheritance diagram for FileDef:
Definition DefinitionIntf

Public Member Functions

 FileDef (const char *p, const char *n, const char *ref=0, const char *dn=0)
 
 ~FileDef ()
 
DefType definitionType () const
 
QCString name () const
 
QCString displayName (bool=TRUE) const
 
QCString fileName () const
 
QCString getOutputFileBase () const
 
QCString anchor () const
 
QCString getFileBase () const
 
QCString getSourceFileBase () const
 
QCString includeName () const
 
QCString absFilePath () const
 
const QCStringdocName () const
 
bool isSource () const
 
bool isDocumentationFile () const
 
DefinitiongetSourceDefinition (int lineNr) const
 
MemberDefgetSourceMember (int lineNr) const
 
QCString getPath () const
 
QCString getVersion () const
 
bool isLinkableInProject () const
 
bool isLinkable () const
 
bool isIncluded (const QCString &name) const
 
PackageDef * packageDef () const
 
DirDefgetDirDef () const
 
NamespaceSDictgetUsedNamespaces () const
 
SDict< Definition > * getUsedClasses () const
 
QList< IncludeInfo > * includeFileList () const
 
QList< IncludeInfo > * includedByFileList () const
 
void getAllIncludeFilesRecursively (QStrList &incFiles) const
 
MemberListgetMemberList (MemberListType lt) const
 
const QList< MemberList > & getMemberLists () const
 
MemberGroupSDictgetMemberGroupSDict () const
 
NamespaceSDictgetNamespaceSDict () const
 
ClassSDictgetClassSDict () const
 
QCString title () const
 
bool hasDetailedDescription () const
 
QCString fileVersion () const
 
bool subGrouping () const
 
void addSourceRef (int line, Definition *d, MemberDef *md)
 
void writeDocumentation (OutputList &ol)
 
void writeMemberPages (OutputList &ol)
 
void writeQuickMemberLinks (OutputList &ol, MemberDef *currentMd) const
 
void writeSummaryLinks (OutputList &ol)
 
void writeTagFile (FTextStream &t)
 
void startParsing ()
 
void writeSource (OutputList &ol, bool sameTu, QStrList &filesInSameTu)
 
void parseSource (bool sameTu, QStrList &filesInSameTu)
 
void finishParsing ()
 
void insertMember (MemberDef *md)
 
void insertClass (ClassDef *cd)
 
void insertNamespace (NamespaceDef *nd)
 
void computeAnchors ()
 
void setPackageDef (PackageDef *pd)
 
void setDirDef (DirDef *dd)
 
void addUsingDirective (NamespaceDef *nd)
 
void addUsingDeclaration (Definition *def)
 
void combineUsingRelations ()
 
bool generateSourceFile () const
 
void sortMemberLists ()
 
void addIncludeDependency (FileDef *fd, const char *incName, bool local, bool imported, bool indirect)
 
void addIncludedByDependency (FileDef *fd, const char *incName, bool local, bool imported)
 
void addMembersToMemberGroup ()
 
void distributeMemberGroupDocumentation ()
 
void findSectionsInDocumentation ()
 
void addIncludedUsingDirectives ()
 
void addListReferences ()
 
- Public Member Functions inherited from Definition
 Definition (const char *defFileName, int defLine, int defColumn, const char *name, const char *b=0, const char *d=0, bool isSymbol=TRUE)
 
virtual ~Definition ()
 
const QCStringname () const
 
QCString localName () const
 
virtual QCString qualifiedName () const
 
QCString symbolName () const
 
virtual QCString getSourceAnchor () const
 
virtual QCString documentation () const
 
int docLine () const
 
QCString docFile () const
 
virtual QCString briefDescription (bool abbreviate=FALSE) const
 
QCString briefDescriptionAsTooltip () const
 
int briefLine () const
 
QCString inbodyDocumentation () const
 
QCString inbodyFile () const
 
int inbodyLine () const
 
QCString briefFile () const
 
QCString getDefFileName () const
 
QCString getDefFileExtension () const
 
int getDefLine () const
 
int getDefColumn () const
 
virtual bool hasDocumentation () const
 
virtual bool hasUserDocumentation () const
 
virtual bool isVisibleInProject () const
 
virtual bool isVisible () const
 
bool isHidden () const
 
bool isArtificial () const
 
virtual QCString getReference () const
 
virtual bool isReference () const
 
QCString externalReference (const QCString &relPath) const
 
int getStartBodyLine () const
 
int getEndBodyLine () const
 
FileDefgetBodyDef () const
 
SrcLangExt getLanguage () const
 
GroupListpartOfGroups () const
 
QList< ListItemInfo > * xrefListItems () const
 
virtual DefinitionfindInnerCompound (const char *name)
 
virtual DefinitiongetOuterScope () const
 
MemberSDictgetReferencesMembers () const
 
MemberSDictgetReferencedByMembers () const
 
bool hasSections () const
 
bool hasSources () const
 
bool hasBriefDescription () const
 
QCString id () const
 
virtual void setName (const char *name)
 
void setId (const char *name)
 
virtual void setDocumentation (const char *d, const char *docFile, int docLine, bool stripWhiteSpace=TRUE)
 
virtual void setBriefDescription (const char *b, const char *briefFile, int briefLine)
 
virtual void setInbodyDocumentation (const char *d, const char *docFile, int docLine)
 
void setReference (const char *r)
 
void addSectionsToDefinition (QList< SectionInfo > *anchorList)
 
void setBodySegment (int bls, int ble)
 
void setBodyDef (FileDef *fd)
 
void addSourceReferencedBy (MemberDef *d)
 
void addSourceReferences (MemberDef *d)
 
void setRefItems (const QList< ListItemInfo > *sli)
 
void mergeRefItems (Definition *d)
 
virtual void addInnerCompound (Definition *d)
 
virtual void setOuterScope (Definition *d)
 
virtual void setHidden (bool b)
 
void setArtificial (bool b)
 
void setLanguage (SrcLangExt lang)
 
QCString convertNameToFile (const char *name, bool allowDots=FALSE) const
 
void writeSourceDef (OutputList &ol, const char *scopeName)
 
void writeInlineCode (OutputList &ol, const char *scopeName)
 
void writeSourceRefs (OutputList &ol, const char *scopeName)
 
void writeSourceReffedBy (OutputList &ol, const char *scopeName)
 
void makePartOfGroup (GroupDef *gd)
 
void writeNavigationPath (OutputList &ol) const
 
QCString navigationPathAsString () const
 
QCString pathFragment () const
 
void writeDocAnchorsToTagFile (FTextStream &)
 
void setLocalName (const QCString name)
 
void addSectionsToIndex ()
 
void writeToc (OutputList &ol)
 
void setCookie (Cookie *cookie)
 
Cookiecookie () const
 
- Public Member Functions inherited from DefinitionIntf
 DefinitionIntf ()
 
virtual ~DefinitionIntf ()
 

Public Attributes

bool visited
 

Protected Member Functions

void acquireFileVersion ()
 
- Protected Member Functions inherited from Definition
 Definition (const Definition &d)
 

Private Member Functions

MemberListcreateMemberList (MemberListType lt)
 
void addMemberToList (MemberListType lt, MemberDef *md)
 
void writeMemberDeclarations (OutputList &ol, MemberListType lt, const QCString &title)
 
void writeMemberDocumentation (OutputList &ol, MemberListType lt, const QCString &title)
 
void writeIncludeFiles (OutputList &ol)
 
void writeIncludeGraph (OutputList &ol)
 
void writeIncludedByGraph (OutputList &ol)
 
void writeMemberGroups (OutputList &ol)
 
void writeAuthorSection (OutputList &ol)
 
void writeSourceLink (OutputList &ol)
 
void writeNamespaceDeclarations (OutputList &ol, const QCString &title, bool isConstantGroup)
 
void writeClassDeclarations (OutputList &ol, const QCString &title)
 
void writeInlineClasses (OutputList &ol)
 
void startMemberDeclarations (OutputList &ol)
 
void endMemberDeclarations (OutputList &ol)
 
void startMemberDocumentation (OutputList &ol)
 
void endMemberDocumentation (OutputList &ol)
 
void writeDetailedDescription (OutputList &ol, const QCString &title)
 
void writeBriefDescription (OutputList &ol)
 

Private Attributes

QDict< IncludeInfo > * m_includeDict
 
QList< IncludeInfo > * m_includeList
 
QDict< IncludeInfo > * m_includedByDict
 
QList< IncludeInfo > * m_includedByList
 
NamespaceSDictm_usingDirList
 
SDict< Definition > * m_usingDeclList
 
QCString m_path
 
QCString m_filePath
 
QCString m_diskName
 
QCString m_fileName
 
QCString m_docname
 
QIntDict< Definition > * m_srcDefDict
 
QIntDict< MemberDef > * m_srcMemberDict
 
bool m_isSource
 
QCString m_fileVersion
 
PackageDef * m_package
 
DirDefm_dir
 
QList< MemberListm_memberLists
 
MemberGroupSDictm_memberGroupSDict
 
NamespaceSDictm_namespaceSDict
 
ClassSDictm_classSDict
 
bool m_subGrouping
 

Friends

class FileName
 
void generatedFileNames ()
 

Additional Inherited Members

- Public Types inherited from DefinitionIntf
enum  DefType {
  TypeClass = 0, TypeFile = 1, TypeNamespace = 2, TypeMember = 3,
  TypeGroup = 4, TypePackage = 5, TypePage = 6, TypeDir = 7,
  TypeSymbolList = 8
}
 

Detailed Description

A model of a file symbol.

An object of this class contains all file information that is gathered. This includes the members and compounds defined in the file.

The member writeDocumentation() can be used to generate the page of documentation to HTML and LaTeX.

Definition at line 64 of file filedef.h.

Constructor & Destructor Documentation

FileDef::FileDef ( const char *  p,
const char *  nm,
const char *  lref = 0,
const char *  dn = 0 
)

create a new file definition, where p is the file path, nm the file name, and lref is an HTML anchor name if the file was read from a tag file or 0 otherwise

Definition at line 78 of file filedef.cpp.

80  : Definition((QCString)p+nm,1,1,nm)
81 {
82  m_path=p;
84  m_fileName=nm;
85  m_diskName=dn;
86  if (m_diskName.isEmpty()) m_diskName=nm;
87  setReference(lref);
88  m_classSDict = 0;
89  m_includeList = 0;
90  m_includeDict = 0;
91  m_includedByList = 0;
92  m_includedByDict = 0;
93  m_namespaceSDict = 0;
94  m_srcDefDict = 0;
95  m_srcMemberDict = 0;
96  m_usingDirList = 0;
97  m_usingDeclList = 0;
98  m_package = 0;
100  m_docname = nm;
101  m_dir = 0;
102  if (Config_getBool("FULL_PATH_NAMES"))
103  {
105  }
107  m_memberGroupSDict = 0;
109  m_subGrouping=Config_getBool("SUBGROUPING");
110 }
bool m_isSource
Definition: filedef.h:227
QDict< IncludeInfo > * m_includeDict
Definition: filedef.h:214
bool isEmpty() const
Definition: qcstring.h:189
int guessSection(const char *name)
Definition: util.cpp:315
void setLanguage(SrcLangExt lang)
QCString m_fileName
Definition: filedef.h:223
QCString m_docname
Definition: filedef.h:224
QCString m_path
Definition: filedef.h:220
PackageDef * m_package
Definition: filedef.h:229
QCString copy() const
Definition: qcstring.h:250
MemberGroupSDict * m_memberGroupSDict
Definition: filedef.h:232
static QCString stripFromPath(const QCString &path, QStrList &l)
Definition: util.cpp:274
QIntDict< Definition > * m_srcDefDict
Definition: filedef.h:225
QIntDict< MemberDef > * m_srcMemberDict
Definition: filedef.h:226
QCString m_filePath
Definition: filedef.h:221
ClassSDict * m_classSDict
Definition: filedef.h:234
QCString name() const
Definition: filedef.cpp:1193
SDict< Definition > * m_usingDeclList
Definition: filedef.h:219
NamespaceSDict * m_usingDirList
Definition: filedef.h:218
QCString & prepend(const char *s)
Definition: qcstring.cpp:387
p
Definition: test.py:223
NamespaceSDict * m_namespaceSDict
Definition: filedef.h:233
#define Config_getBool(val)
Definition: config.cpp:664
void setReference(const char *r)
bool m_subGrouping
Definition: filedef.h:235
QList< IncludeInfo > * m_includedByList
Definition: filedef.h:217
SrcLangExt getLanguageFromFileName(const QCString fileName)
Definition: util.cpp:7061
Definition(const char *defFileName, int defLine, int defColumn, const char *name, const char *b=0, const char *d=0, bool isSymbol=TRUE)
Definition: definition.cpp:283
void acquireFileVersion()
Definition: filedef.cpp:1737
QDict< IncludeInfo > * m_includedByDict
Definition: filedef.h:216
QList< IncludeInfo > * m_includeList
Definition: filedef.h:215
DirDef * m_dir
Definition: filedef.h:230
QCString m_diskName
Definition: filedef.h:222
FileDef::~FileDef ( )

destroy the file definition

Definition at line 113 of file filedef.cpp.

114 {
115  delete m_classSDict;
116  delete m_includeDict;
117  delete m_includeList;
118  delete m_includedByDict;
119  delete m_includedByList;
120  delete m_namespaceSDict;
121  delete m_srcDefDict;
122  delete m_srcMemberDict;
123  delete m_usingDirList;
124  delete m_usingDeclList;
125  delete m_memberGroupSDict;
126 }
QDict< IncludeInfo > * m_includeDict
Definition: filedef.h:214
MemberGroupSDict * m_memberGroupSDict
Definition: filedef.h:232
QIntDict< Definition > * m_srcDefDict
Definition: filedef.h:225
QIntDict< MemberDef > * m_srcMemberDict
Definition: filedef.h:226
ClassSDict * m_classSDict
Definition: filedef.h:234
SDict< Definition > * m_usingDeclList
Definition: filedef.h:219
NamespaceSDict * m_usingDirList
Definition: filedef.h:218
NamespaceSDict * m_namespaceSDict
Definition: filedef.h:233
QList< IncludeInfo > * m_includedByList
Definition: filedef.h:217
QDict< IncludeInfo > * m_includedByDict
Definition: filedef.h:216
QList< IncludeInfo > * m_includeList
Definition: filedef.h:215

Member Function Documentation

QCString FileDef::absFilePath ( ) const
inline

Returns the absolute path including the file name.

Definition at line 96 of file filedef.h.

96 { return m_filePath; }
QCString m_filePath
Definition: filedef.h:221
void FileDef::acquireFileVersion ( )
protected

Retrieves the file version from version control system.

Definition at line 1737 of file filedef.cpp.

1738 {
1739  QCString vercmd = Config_getString("FILE_VERSION_FILTER");
1740  if (!vercmd.isEmpty() && !m_filePath.isEmpty() &&
1741  m_filePath!="generated" && m_filePath!="graph_legend")
1742  {
1743  msg("Version of %s : ",m_filePath.data());
1744  QCString cmd = vercmd+" \""+m_filePath+"\"";
1745  Debug::print(Debug::ExtCmd,0,"Executing popen(`%s`)\n",qPrint(cmd));
1746  FILE *f=portable_popen(cmd,"r");
1747  if (!f)
1748  {
1749  err("could not execute %s\n",vercmd.data());
1750  return;
1751  }
1752  const int bufSize=1024;
1753  char buf[bufSize];
1754  int numRead = (int)fread(buf,1,bufSize-1,f);
1755  portable_pclose(f);
1756  if (numRead>0 && numRead<bufSize)
1757  {
1758  buf[numRead]='\0';
1759  m_fileVersion=QCString(buf,numRead).stripWhiteSpace();
1760  if (!m_fileVersion.isEmpty())
1761  {
1762  msg("%s\n",m_fileVersion.data());
1763  return;
1764  }
1765  }
1766  msg("no version available\n");
1767  }
1768 }
QCString stripWhiteSpace() const
Definition: qcstring.cpp:295
bool isEmpty() const
Definition: qcstring.h:189
void msg(const char *fmt,...)
Definition: message.cpp:107
FILE * portable_popen(const char *name, const char *type)
Definition: portable.cpp:400
QCString m_filePath
Definition: filedef.h:221
static void print(DebugMask mask, int prio, const char *fmt,...)
Definition: debug.cpp:84
const char * data() const
Definition: qcstring.h:207
#define Config_getString(val)
Definition: config.cpp:660
void err(const char *fmt,...)
Definition: message.cpp:226
int portable_pclose(FILE *stream)
Definition: portable.cpp:405
QCString m_fileVersion
Definition: filedef.h:228
list cmd
Definition: getreco.py:22
const char * qPrint(const char *s)
Definition: qcstring.h:797
void FileDef::addIncludedByDependency ( FileDef fd,
const char *  incName,
bool  local,
bool  imported 
)

Definition at line 1366 of file filedef.cpp.

1368 {
1369  //printf("FileDef::addIncludedByDependency(%p,%s,%d)\n",fd,incName,local);
1370  QCString iName = fd ? fd->absFilePath().data() : incName;
1371  if (!iName.isEmpty() && (m_includedByDict==0 || m_includedByDict->find(iName)==0))
1372  {
1373  if (m_includedByDict==0)
1374  {
1375  m_includedByDict = new QDict<IncludeInfo>(61);
1377  m_includedByList->setAutoDelete(TRUE);
1378  }
1379  IncludeInfo *ii = new IncludeInfo;
1380  ii->fileDef = fd;
1381  ii->includeName = incName;
1382  ii->local = local;
1383  ii->imported = imported;
1384  ii->indirect = FALSE;
1385  m_includedByList->append(ii);
1386  m_includedByDict->insert(iName,ii);
1387  }
1388 }
bool isEmpty() const
Definition: qcstring.h:189
const bool FALSE
Definition: qglobal.h:370
bool indirect
Definition: filedef.h:53
const char * data() const
Definition: qcstring.h:207
bool imported
Definition: filedef.h:52
QCString includeName
Definition: filedef.h:50
QCString absFilePath() const
Definition: filedef.h:96
QList< IncludeInfo > * m_includedByList
Definition: filedef.h:217
bool local
Definition: filedef.h:51
FileDef * fileDef
Definition: filedef.h:49
QDict< IncludeInfo > * m_includedByDict
Definition: filedef.h:216
void setAutoDelete(bool enable)
Definition: qlist.h:99
const bool TRUE
Definition: qglobal.h:371
void FileDef::addIncludeDependency ( FileDef fd,
const char *  incName,
bool  local,
bool  imported,
bool  indirect 
)

Definition at line 1269 of file filedef.cpp.

1271 {
1272  //printf("FileDef::addIncludeDependency(%p,%s,%d)\n",fd,incName,local);
1273  QCString iName = fd ? fd->absFilePath().data() : incName;
1274  if (!iName.isEmpty() && (!m_includeDict || m_includeDict->find(iName)==0))
1275  {
1276  if (m_includeDict==0)
1277  {
1278  m_includeDict = new QDict<IncludeInfo>(61);
1280  m_includeList->setAutoDelete(TRUE);
1281  }
1282  IncludeInfo *ii = new IncludeInfo;
1283  ii->fileDef = fd;
1284  ii->includeName = incName;
1285  ii->local = local;
1286  ii->imported = imported;
1287  ii->indirect = indirect;
1288  m_includeList->append(ii);
1289  m_includeDict->insert(iName,ii);
1290  }
1291 }
QDict< IncludeInfo > * m_includeDict
Definition: filedef.h:214
bool isEmpty() const
Definition: qcstring.h:189
bool indirect
Definition: filedef.h:53
const char * data() const
Definition: qcstring.h:207
bool imported
Definition: filedef.h:52
QCString includeName
Definition: filedef.h:50
QCString absFilePath() const
Definition: filedef.h:96
bool local
Definition: filedef.h:51
FileDef * fileDef
Definition: filedef.h:49
QList< IncludeInfo > * m_includeList
Definition: filedef.h:215
void setAutoDelete(bool enable)
Definition: qlist.h:99
const bool TRUE
Definition: qglobal.h:371
void FileDef::addIncludedUsingDirectives ( )

Definition at line 1293 of file filedef.cpp.

1294 {
1295  if (visited) return;
1296  visited=TRUE;
1297  //printf("( FileDef::addIncludedUsingDirectives for file %s\n",name().data());
1298 
1299  if (m_includeList) // file contains #includes
1300  {
1301  {
1303  IncludeInfo *ii;
1304  for (iii.toFirst();(ii=iii.current());++iii) // foreach #include...
1305  {
1306  if (ii->fileDef && !ii->fileDef->visited) // ...that is a known file
1307  {
1308  // recurse into this file
1310  }
1311  }
1312  }
1313  {
1315  IncludeInfo *ii;
1316  // iterate through list from last to first
1317  for (iii.toLast();(ii=iii.current());--iii)
1318  {
1319  if (ii->fileDef && ii->fileDef!=this)
1320  {
1321  // add using directives
1323  if (unl)
1324  {
1325  NamespaceSDict::Iterator nli(*unl);
1326  NamespaceDef *nd;
1327  for (nli.toLast();(nd=nli.current());--nli)
1328  {
1329  // append each using directive found in a #include file
1331  //printf("Prepending used namespace %s to the list of file %s\n",
1332  // nd->name().data(),name().data());
1333  if (m_usingDirList->find(nd->qualifiedName())==0) // not yet added
1334  {
1336  }
1337  }
1338  }
1339  // add using declarations
1341  if (udl)
1342  {
1343  SDict<Definition>::Iterator udi(*udl);
1344  Definition *d;
1345  for (udi.toLast();(d=udi.current());--udi)
1346  {
1347  //printf("Adding using declaration %s\n",d->name().data());
1348  if (m_usingDeclList==0)
1349  {
1351  }
1352  if (m_usingDeclList->find(d->qualifiedName())==0)
1353  {
1355  }
1356  }
1357  }
1358  }
1359  }
1360  }
1361  }
1362  //printf(") end FileDef::addIncludedUsingDirectives for file %s\n",name().data());
1363 }
void prepend(const char *key, const T *d)
Definition: sortdict.h:153
bool visited
Definition: filedef.h:184
SDict< Definition > * m_usingDeclList
Definition: filedef.h:219
NamespaceSDict * m_usingDirList
Definition: filedef.h:218
virtual QCString qualifiedName() const
FileDef * fileDef
Definition: filedef.h:49
QList< IncludeInfo > * m_includeList
Definition: filedef.h:215
friend class Iterator
Definition: sortdict.h:289
void addIncludedUsingDirectives()
Definition: filedef.cpp:1293
T * find(const char *key)
Definition: sortdict.h:232
const bool TRUE
Definition: qglobal.h:371
void FileDef::addListReferences ( )

Definition at line 1410 of file filedef.cpp.

1411 {
1412  {
1413  QList<ListItemInfo> *xrefItems = xrefListItems();
1414  addRefItem(xrefItems,
1417  getOutputFileBase(),name(),
1418  0,
1419  0
1420  );
1421  }
1422  if (m_memberGroupSDict)
1423  {
1425  MemberGroup *mg;
1426  for (;(mg=mgli.current());++mgli)
1427  {
1428  mg->addListReferences(this);
1429  }
1430  }
1432  MemberList *ml;
1433  for (mli.toFirst();(ml=mli.current());++mli)
1434  {
1436  {
1437  ml->addListReferences(this);
1438  }
1439  }
1440 }
MemberListType listType() const
Definition: memberlist.h:38
virtual QCString trFile(bool first_capital, bool singular)=0
QList< ListItemInfo > * xrefListItems() const
friend class Iterator
Definition: sortdict.h:598
static constexpr double mg
Definition: Units.h:145
QList< MemberList > m_memberLists
Definition: filedef.h:231
MemberGroupSDict * m_memberGroupSDict
Definition: filedef.h:232
QCString name() const
Definition: filedef.cpp:1193
QCString getOutputFileBase() const
Definition: filedef.h:83
void addRefItem(const QList< ListItemInfo > *sli, const char *key, const char *prefix, const char *name, const char *title, const char *args, Definition *scope)
Definition: util.cpp:6456
Translator * theTranslator
Definition: language.cpp:157
void addListReferences(Definition *def)
Definition: memberlist.cpp:784
const bool TRUE
Definition: qglobal.h:371
void addListReferences(Definition *d)
void FileDef::addMembersToMemberGroup ( )

Definition at line 1071 of file filedef.cpp.

1072 {
1074  MemberList *ml;
1075  for (mli.toFirst();(ml=mli.current());++mli)
1076  {
1078  {
1080  }
1081  }
1082 
1083  // add members inside sections to their groups
1084  if (m_memberGroupSDict)
1085  {
1087  MemberGroup *mg;
1088  for (;(mg=mgli.current());++mgli)
1089  {
1091  {
1092  //printf("----> addToDeclarationSection(%s)\n",mg->header().data());
1094  }
1095  }
1096  }
1097 }
MemberListType listType() const
Definition: memberlist.h:38
friend class Iterator
Definition: sortdict.h:598
static constexpr double mg
Definition: Units.h:145
void addMembersToMemberGroup()
Definition: filedef.cpp:1071
QList< MemberList > m_memberLists
Definition: filedef.h:231
MemberGroupSDict * m_memberGroupSDict
Definition: filedef.h:232
bool allMembersInSameSection() const
Definition: membergroup.h:67
void addToDeclarationSection()
bool m_subGrouping
Definition: filedef.h:235
void FileDef::addMemberToList ( MemberListType  lt,
MemberDef md 
)
private

Definition at line 1807 of file filedef.cpp.

1808 {
1809  static bool sortBriefDocs = Config_getBool("SORT_BRIEF_DOCS");
1810  static bool sortMemberDocs = Config_getBool("SORT_MEMBER_DOCS");
1811  MemberList *ml = createMemberList(lt);
1812  ml->setNeedsSorting(
1813  ((ml->listType()&MemberListType_declarationLists) && sortBriefDocs) ||
1814  ((ml->listType()&MemberListType_documentationLists) && sortMemberDocs));
1815  ml->append(md);
1816 #if 0
1817  if (ml->needsSorting())
1818  ml->inSort(md);
1819  else
1820  ml->append(md);
1821 #endif
1823  {
1824  ml->setInFile(TRUE);
1825  }
1827 }
MemberListType listType() const
Definition: memberlist.h:38
void append(const MemberDef *md)
Definition: memberlist.cpp:246
MemberList * createMemberList(MemberListType lt)
Definition: filedef.cpp:1789
void setInFile(bool inFile)
Definition: memberlist.h:74
void inSort(const MemberDef *md)
Definition: memberlist.cpp:241
void setNeedsSorting(bool b)
Definition: memberlist.cpp:902
#define Config_getBool(val)
Definition: config.cpp:664
void setSectionList(Definition *d, MemberList *sl)
Definition: memberdef.cpp:3548
bool needsSorting() const
Definition: memberlist.h:53
const bool TRUE
Definition: qglobal.h:371
void FileDef::addSourceRef ( int  line,
Definition d,
MemberDef md 
)

Definition at line 1201 of file filedef.cpp.

1202 {
1203  //printf("FileDef::addSourceDef(%d,%p,%p)\n",line,d,md);
1204  if (d)
1205  {
1206  if (m_srcDefDict==0) m_srcDefDict = new QIntDict<Definition>(257);
1208  m_srcDefDict->insert(line,d);
1209  if (md) m_srcMemberDict->insert(line,md);
1210  //printf("Adding member %s with anchor %s at line %d to file %s\n",
1211  // md?md->name().data():"<none>",md?md->anchor().data():"<none>",line,name().data());
1212  }
1213 }
QIntDict< Definition > * m_srcDefDict
Definition: filedef.h:225
QIntDict< MemberDef > * m_srcMemberDict
Definition: filedef.h:226
void insert(long k, const type *d)
Definition: qintdict.h:57
void line(double t, double *p, double &x, double &y, double &z)
void FileDef::addUsingDeclaration ( Definition def)

Definition at line 1257 of file filedef.cpp.

1258 {
1259  if (m_usingDeclList==0)
1260  {
1262  }
1263  if (m_usingDeclList->find(d->qualifiedName())==0)
1264  {
1265  m_usingDeclList->append(d->qualifiedName(),d);
1266  }
1267 }
void append(const char *key, const T *d)
Definition: sortdict.h:135
SDict< Definition > * m_usingDeclList
Definition: filedef.h:219
T * find(const char *key)
Definition: sortdict.h:232
void FileDef::addUsingDirective ( NamespaceDef nd)

Definition at line 1238 of file filedef.cpp.

1239 {
1240  if (m_usingDirList==0)
1241  {
1243  }
1244  if (m_usingDirList->find(nd->qualifiedName())==0)
1245  {
1246  m_usingDirList->append(nd->qualifiedName(),nd);
1247  }
1248  //printf("%p: FileDef::addUsingDirective: %s:%d\n",this,name().data(),usingDirList->count());
1249 }
void append(const char *key, const T *d)
Definition: sortdict.h:135
NamespaceSDict * m_usingDirList
Definition: filedef.h:218
virtual QCString qualifiedName() const
T * find(const char *key)
Definition: sortdict.h:232
QCString FileDef::anchor ( ) const
inlinevirtual

Returns the anchor within a page where this item can be found

Implements Definition.

Definition at line 86 of file filedef.h.

86 { return QCString(); }
void FileDef::combineUsingRelations ( )

Definition at line 1688 of file filedef.cpp.

1689 {
1690  if (visited) return; // already done
1691  visited=TRUE;
1692  if (m_usingDirList)
1693  {
1695  NamespaceDef *nd;
1696  for (nli.toFirst();(nd=nli.current());++nli)
1697  {
1698  nd->combineUsingRelations();
1699  }
1700  for (nli.toFirst();(nd=nli.current());++nli)
1701  {
1702  // add used namespaces of namespace nd to this namespace
1703  if (nd->getUsedNamespaces())
1704  {
1706  NamespaceDef *und;
1707  for (unli.toFirst();(und=unli.current());++unli)
1708  {
1709  //printf("Adding namespace %s to the using list of %s\n",und->qualifiedName().data(),qualifiedName().data());
1710  addUsingDirective(und);
1711  }
1712  }
1713  // add used classes of namespace nd to this namespace
1714  if (nd->getUsedClasses())
1715  {
1717  Definition *ucd;
1718  for (cli.toFirst();(ucd=cli.current());++cli)
1719  {
1720  //printf("Adding class %s to the using list of %s\n",cd->qualifiedName().data(),qualifiedName().data());
1721  addUsingDeclaration(ucd);
1722  }
1723  }
1724  }
1725  }
1726 }
bool visited
Definition: filedef.h:184
NamespaceSDict * getUsedNamespaces() const
def cli(ctx)
Definition: main.py:7
Definition: sortdict.h:73
NamespaceSDict * m_usingDirList
Definition: filedef.h:218
void addUsingDirective(NamespaceDef *nd)
Definition: filedef.cpp:1238
void addUsingDeclaration(Definition *def)
Definition: filedef.cpp:1257
SDict< Definition > * getUsedClasses() const
Definition: namespacedef.h:66
friend class Iterator
Definition: sortdict.h:289
const bool TRUE
Definition: qglobal.h:371
void combineUsingRelations()
void FileDef::computeAnchors ( )

Compute the HTML anchor names for all members in the class

Definition at line 129 of file filedef.cpp.

130 {
132  if (ml) setAnchors(ml);
133 }
void setAnchors(MemberList *ml)
Definition: util.cpp:2254
MemberList * getMemberList(MemberListType lt) const
Definition: filedef.cpp:1839
MemberList * FileDef::createMemberList ( MemberListType  lt)
private

Definition at line 1789 of file filedef.cpp.

1790 {
1793  MemberList *ml;
1794  for (mli.toFirst();(ml=mli.current());++mli)
1795  {
1796  if (ml->listType()==lt)
1797  {
1798  return ml;
1799  }
1800  }
1801  // not found, create a new member list
1802  ml = new MemberList(lt);
1803  m_memberLists.append(ml);
1804  return ml;
1805 }
MemberListType listType() const
Definition: memberlist.h:38
void append(const type *d)
Definition: qlist.h:73
QList< MemberList > m_memberLists
Definition: filedef.h:231
void setAutoDelete(bool enable)
Definition: qlist.h:99
const bool TRUE
Definition: qglobal.h:371
DefType FileDef::definitionType ( ) const
inlinevirtual

Use this for dynamic inspection of the type of the derived class

Implements DefinitionIntf.

Definition at line 76 of file filedef.h.

QCString FileDef::displayName ( bool  includeScope = TRUE) const
inlinevirtual

Returns the name of the definition as it appears in the output

Implements Definition.

Definition at line 80 of file filedef.h.

80 { return name(); }
QCString name() const
Definition: filedef.cpp:1193
void FileDef::distributeMemberGroupDocumentation ( )

Definition at line 135 of file filedef.cpp.

136 {
137  //printf("FileDef::distributeMemberGroupDocumentation()\n");
138  if (m_memberGroupSDict)
139  {
141  MemberGroup *mg;
142  for (;(mg=mgli.current());++mgli)
143  {
145  }
146  }
147 }
friend class Iterator
Definition: sortdict.h:598
static constexpr double mg
Definition: Units.h:145
MemberGroupSDict * m_memberGroupSDict
Definition: filedef.h:232
void distributeMemberGroupDocumentation()
const QCString& FileDef::docName ( ) const
inline

Returns the name as it is used in the documentation

Definition at line 99 of file filedef.h.

99 { return m_docname; }
QCString m_docname
Definition: filedef.h:224
void FileDef::endMemberDeclarations ( OutputList ol)
private

Definition at line 557 of file filedef.cpp.

558 {
559  ol.endMemberSections();
560 }
void endMemberSections()
Definition: outputlist.h:188
void FileDef::endMemberDocumentation ( OutputList ol)
private

Definition at line 571 of file filedef.cpp.

572 {
573  if (Config_getBool("SEPARATE_MEMBER_PAGES"))
574  {
577  }
578 }
const bool FALSE
Definition: qglobal.h:370
static bool suppressDocWarnings
Definition: doxygen.h:142
void enable(OutputGenerator::OutputType o)
Definition: outputlist.cpp:89
#define Config_getBool(val)
Definition: config.cpp:664
QCString FileDef::fileName ( ) const
inline

Definition at line 81 of file filedef.h.

81 { return m_fileName; }
QCString m_fileName
Definition: filedef.h:223
QCString FileDef::fileVersion ( ) const

Definition at line 1915 of file filedef.cpp.

1916 {
1917  return m_fileVersion;
1918 }
QCString m_fileVersion
Definition: filedef.h:228
void FileDef::findSectionsInDocumentation ( )

Definition at line 149 of file filedef.cpp.

150 {
152  if (m_memberGroupSDict)
153  {
155  MemberGroup *mg;
156  for (;(mg=mgli.current());++mgli)
157  {
159  }
160  }
161 
163  MemberList *ml;
164  for (mli.toFirst();(ml=mli.current());++mli)
165  {
167  {
169  }
170  }
171 }
MemberListType listType() const
Definition: memberlist.h:38
QCString docFile() const
friend class Iterator
Definition: sortdict.h:598
static constexpr double mg
Definition: Units.h:145
QList< MemberList > m_memberLists
Definition: filedef.h:231
MemberGroupSDict * m_memberGroupSDict
Definition: filedef.h:232
void findSectionsInDocumentation()
Definition: memberlist.cpp:818
void docFindSections(const char *input, Definition *d, MemberGroup *mg, const char *fileName)
Definition: docparser.cpp:7434
void findSectionsInDocumentation()
virtual QCString documentation() const
void FileDef::finishParsing ( )

Definition at line 1066 of file filedef.cpp.

1067 {
1069 }
static ClangParser * instance()
Definition: clangparser.cpp:30
bool FileDef::generateSourceFile ( ) const

Definition at line 1396 of file filedef.cpp.

1397 {
1398  static bool sourceBrowser = Config_getBool("SOURCE_BROWSER");
1399  static bool verbatimHeaders = Config_getBool("VERBATIM_HEADERS");
1400  QCString extension = name().right(4);
1401  return !isReference() &&
1402  (sourceBrowser ||
1403  (verbatimHeaders && guessSection(name())==Entry::HEADER_SEC)
1404  ) &&
1405  extension!=".doc" && extension!=".txt" && extension!=".dox" &&
1406  extension!=".md" && name().right(9)!=".markdown";
1407 }
int guessSection(const char *name)
Definition: util.cpp:315
virtual bool isReference() const
QCString name() const
Definition: filedef.cpp:1193
QCString right(uint len) const
Definition: qcstring.cpp:231
#define Config_getBool(val)
Definition: config.cpp:664
void FileDef::getAllIncludeFilesRecursively ( QStrList incFiles) const

Definition at line 1904 of file filedef.cpp.

1905 {
1906  QDict<void> includes(257);
1907  ::getAllIncludeFilesRecursively(&includes,this,incFiles);
1908 }
void getAllIncludeFilesRecursively(QStrList &incFiles) const
Definition: filedef.cpp:1904
ClassSDict* FileDef::getClassSDict ( ) const
inline

Definition at line 134 of file filedef.h.

134 { return m_classSDict; }
ClassSDict * m_classSDict
Definition: filedef.h:234
DirDef* FileDef::getDirDef ( ) const
inline

Definition at line 121 of file filedef.h.

121 { return m_dir; }
DirDef * m_dir
Definition: filedef.h:230
QCString FileDef::getFileBase ( ) const
inline

Definition at line 88 of file filedef.h.

88 { return m_diskName; }
QCString m_diskName
Definition: filedef.h:222
MemberGroupSDict* FileDef::getMemberGroupSDict ( ) const
inline

Definition at line 132 of file filedef.h.

132 { return m_memberGroupSDict; }
MemberGroupSDict * m_memberGroupSDict
Definition: filedef.h:232
MemberList * FileDef::getMemberList ( MemberListType  lt) const

Definition at line 1839 of file filedef.cpp.

1840 {
1842  MemberList *ml;
1843  for (;(ml=mli.current());++mli)
1844  {
1845  if (ml->listType()==lt)
1846  {
1847  return ml;
1848  }
1849  }
1850  return 0;
1851 }
MemberListType listType() const
Definition: memberlist.h:38
QList< MemberList > m_memberLists
Definition: filedef.h:231
const QList<MemberList>& FileDef::getMemberLists ( ) const
inline

Definition at line 129 of file filedef.h.

129 { return m_memberLists; }
QList< MemberList > m_memberLists
Definition: filedef.h:231
NamespaceSDict* FileDef::getNamespaceSDict ( ) const
inline

Definition at line 133 of file filedef.h.

133 { return m_namespaceSDict; }
NamespaceSDict * m_namespaceSDict
Definition: filedef.h:233
QCString FileDef::getOutputFileBase ( ) const
inlinevirtual

Returns the base file name (without extension) of this definition. as it is referenced to/written to disk.

Implements Definition.

Definition at line 83 of file filedef.h.

84  { return convertNameToFile(m_diskName); }
QCString convertNameToFile(const char *name, bool allowDots=FALSE) const
QCString m_diskName
Definition: filedef.h:222
QCString FileDef::getPath ( ) const
inline

Returns the absolute path of this file.

Definition at line 110 of file filedef.h.

110 { return m_path; }
QCString m_path
Definition: filedef.h:220
Definition * FileDef::getSourceDefinition ( int  lineNr) const

Definition at line 1215 of file filedef.cpp.

1216 {
1217  Definition *result=0;
1218  if (m_srcDefDict)
1219  {
1220  result = m_srcDefDict->find(lineNr);
1221  }
1222  //printf("%s::getSourceDefinition(%d)=%s\n",name().data(),lineNr,result?result->name().data():"none");
1223  return result;
1224 }
static QCString result
QIntDict< Definition > * m_srcDefDict
Definition: filedef.h:225
type * find(long k) const
Definition: qintdict.h:63
QCString FileDef::getSourceFileBase ( ) const
virtual

Returns the name of the source listing of this definition.

Reimplemented from Definition.

Definition at line 1771 of file filedef.cpp.

1772 {
1773  if (Htags::useHtags)
1774  {
1775  return Htags::path2URL(m_filePath);
1776  }
1777  else
1778  {
1779  return convertNameToFile(m_diskName)+"_source";
1780  }
1781 }
QCString convertNameToFile(const char *name, bool allowDots=FALSE) const
QCString m_filePath
Definition: filedef.h:221
static QCString path2URL(const QCString &path)
Definition: htags.cpp:159
static bool useHtags
Definition: htags.h:23
QCString m_diskName
Definition: filedef.h:222
MemberDef * FileDef::getSourceMember ( int  lineNr) const

Definition at line 1226 of file filedef.cpp.

1227 {
1228  MemberDef *result=0;
1229  if (m_srcMemberDict)
1230  {
1231  result = m_srcMemberDict->find(lineNr);
1232  }
1233  //printf("%s::getSourceMember(%d)=%s\n",name().data(),lineNr,result?result->name().data():"none");
1234  return result;
1235 }
static QCString result
QIntDict< MemberDef > * m_srcMemberDict
Definition: filedef.h:226
type * find(long k) const
Definition: qintdict.h:63
SDict<Definition>* FileDef::getUsedClasses ( ) const
inline

Definition at line 123 of file filedef.h.

123 { return m_usingDeclList; }
SDict< Definition > * m_usingDeclList
Definition: filedef.h:219
NamespaceSDict * FileDef::getUsedNamespaces ( ) const

Definition at line 1251 of file filedef.cpp.

1252 {
1253  //printf("%p: FileDef::getUsedNamespace: %s:%d\n",this,name().data(),usingDirList?usingDirList->count():0);
1254  return m_usingDirList;
1255 }
NamespaceSDict * m_usingDirList
Definition: filedef.h:218
QCString FileDef::getVersion ( ) const
inline

Returns version of this file.

Definition at line 113 of file filedef.h.

113 { return m_fileVersion; }
QCString m_fileVersion
Definition: filedef.h:228
bool FileDef::hasDetailedDescription ( ) const

Definition at line 173 of file filedef.cpp.

174 {
175  static bool repeatBrief = Config_getBool("REPEAT_BRIEF");
176  static bool sourceBrowser = Config_getBool("SOURCE_BROWSER");
177  return ((!briefDescription().isEmpty() && repeatBrief) ||
178  !documentation().stripWhiteSpace().isEmpty() || // avail empty section
179  (sourceBrowser && getStartBodyLine()!=-1 && getBodyDef())
180  );
181 }
FileDef * getBodyDef() const
#define Config_getBool(val)
Definition: config.cpp:664
virtual QCString briefDescription(bool abbreviate=FALSE) const
int getStartBodyLine() const
virtual QCString documentation() const
QList<IncludeInfo>* FileDef::includedByFileList ( ) const
inline

Definition at line 125 of file filedef.h.

125 { return m_includedByList; }
QList< IncludeInfo > * m_includedByList
Definition: filedef.h:217
QList<IncludeInfo>* FileDef::includeFileList ( ) const
inline

Definition at line 124 of file filedef.h.

124 { return m_includeList; }
QList< IncludeInfo > * m_includeList
Definition: filedef.h:215
QCString FileDef::includeName ( ) const

Returns the name of the verbatim copy of this file (if any).

Definition at line 1784 of file filedef.cpp.

1785 {
1786  return getSourceFileBase();
1787 }
QCString getSourceFileBase() const
Definition: filedef.cpp:1771
void FileDef::insertClass ( ClassDef cd)

Adds compound definition cd to the list of all compounds of this file

Definition at line 1154 of file filedef.cpp.

1155 {
1156  if (cd->isHidden()) return;
1157  if (m_classSDict==0)
1158  {
1159  m_classSDict = new ClassSDict(17);
1160  }
1161  if (Config_getBool("SORT_BRIEF_DOCS"))
1162  {
1163  m_classSDict->inSort(cd->name(),cd);
1164  }
1165  else
1166  {
1167  m_classSDict->append(cd->name(),cd);
1168  }
1169 }
void inSort(const char *key, const T *d)
Definition: sortdict.h:197
void append(const char *key, const T *d)
Definition: sortdict.h:135
const QCString & name() const
Definition: definition.h:114
ClassSDict * m_classSDict
Definition: filedef.h:234
#define Config_getBool(val)
Definition: config.cpp:664
bool isHidden() const
void FileDef::insertMember ( MemberDef md)

Adds member definition md to the list of all members of this file

Definition at line 1100 of file filedef.cpp.

1101 {
1102  if (md->isHidden()) return;
1103  //printf("%s:FileDef::insertMember(%s (=%p) list has %d elements)\n",
1104  // name().data(),md->name().data(),md,allMemberList.count());
1106  if (allMemberList && allMemberList->findRef(md)!=-1) // TODO optimize the findRef!
1107  {
1108  return;
1109  }
1110 
1111  if (allMemberList==0)
1112  {
1113  allMemberList = new MemberList(MemberListType_allMembersList);
1114  m_memberLists.append(allMemberList);
1115  }
1116  allMemberList->append(md);
1117  //::addFileMemberNameToIndex(md);
1118  switch (md->memberType())
1119  {
1120  case MemberType_Variable:
1121  case MemberType_Property:
1124  break;
1125  case MemberType_Function:
1128  break;
1129  case MemberType_Typedef:
1132  break;
1133  case MemberType_Enumeration:
1136  break;
1137  case MemberType_EnumValue: // enum values are shown inside their enums
1138  break;
1139  case MemberType_Define:
1142  break;
1143  default:
1144  err("FileDef::insertMembers(): "
1145  "member `%s' with class scope `%s' inserted in file scope `%s'!\n",
1146  md->name().data(),
1147  md->getClassDef() ? md->getClassDef()->name().data() : "<global>",
1148  name().data());
1149  }
1150  //addMemberToGroup(md,groupId);
1151 }
void append(const MemberDef *md)
Definition: memberlist.cpp:246
void append(const type *d)
Definition: qlist.h:73
int findRef(const type *d) const
Definition: qlist.h:89
QList< MemberList > m_memberLists
Definition: filedef.h:231
const QCString & name() const
Definition: definition.h:114
QCString name() const
Definition: filedef.cpp:1193
const char * data() const
Definition: qcstring.h:207
ClassDef * getClassDef() const
Definition: memberdef.cpp:4070
void err(const char *fmt,...)
Definition: message.cpp:226
MemberList * getMemberList(MemberListType lt) const
Definition: filedef.cpp:1839
MemberType memberType() const
Definition: memberdef.cpp:4125
bool isHidden() const
void addMemberToList(MemberListType lt, MemberDef *md)
Definition: filedef.cpp:1807
void FileDef::insertNamespace ( NamespaceDef nd)

Adds namespace definition nd to the list of all compounds of this file

Definition at line 1172 of file filedef.cpp.

1173 {
1174  if (nd->isHidden()) return;
1175  if (!nd->name().isEmpty() &&
1176  (m_namespaceSDict==0 || m_namespaceSDict->find(nd->name())==0))
1177  {
1178  if (m_namespaceSDict==0)
1179  {
1181  }
1182  if (Config_getBool("SORT_BRIEF_DOCS"))
1183  {
1184  m_namespaceSDict->inSort(nd->name(),nd);
1185  }
1186  else
1187  {
1188  m_namespaceSDict->append(nd->name(),nd);
1189  }
1190  }
1191 }
void inSort(const char *key, const T *d)
Definition: sortdict.h:197
bool isEmpty() const
Definition: qcstring.h:189
void append(const char *key, const T *d)
Definition: sortdict.h:135
const QCString & name() const
Definition: definition.h:114
NamespaceSDict * m_namespaceSDict
Definition: filedef.h:233
#define Config_getBool(val)
Definition: config.cpp:664
bool isHidden() const
T * find(const char *key)
Definition: sortdict.h:232
bool FileDef::isDocumentationFile ( ) const

Definition at line 1728 of file filedef.cpp.

1729 {
1730  return name().right(4)==".doc" ||
1731  name().right(4)==".txt" ||
1732  name().right(4)==".dox" ||
1733  name().right(3)==".md" ||
1734  name().right(9)==".markdown";
1735 }
QCString name() const
Definition: filedef.cpp:1193
QCString right(uint len) const
Definition: qcstring.cpp:231
bool FileDef::isIncluded ( const QCString name) const

Definition at line 1390 of file filedef.cpp.

1391 {
1392  if (name.isEmpty()) return FALSE;
1393  return m_includeDict!=0 && m_includeDict->find(name)!=0;
1394 }
QDict< IncludeInfo > * m_includeDict
Definition: filedef.h:214
bool isEmpty() const
Definition: qcstring.h:189
const bool FALSE
Definition: qglobal.h:370
bool FileDef::isLinkable ( ) const
inlinevirtual

Returns TRUE iff it is possible to link to this item. This can be a link to another project imported via a tag file.

Implements Definition.

Definition at line 117 of file filedef.h.

117 { return isLinkableInProject() || isReference(); }
virtual bool isReference() const
bool isLinkableInProject() const
Definition: filedef.cpp:1877
bool FileDef::isLinkableInProject ( ) const
virtual

Returns TRUE iff it is possible to link to this item within this project.

Implements Definition.

Definition at line 1877 of file filedef.cpp.

1878 {
1879  static bool showFiles = Config_getBool("SHOW_FILES");
1880  return hasDocumentation() && !isReference() && showFiles;
1881 }
virtual bool hasDocumentation() const
virtual bool isReference() const
#define Config_getBool(val)
Definition: config.cpp:664
bool FileDef::isSource ( ) const
inline

Returns TRUE if this file is a source file.

Definition at line 102 of file filedef.h.

102 { return m_isSource; }
bool m_isSource
Definition: filedef.h:227
QCString FileDef::name ( ) const

Returns the unique file name (this may include part of the path).

Definition at line 1193 of file filedef.cpp.

1194 {
1195  if (Config_getBool("FULL_PATH_NAMES"))
1196  return m_fileName;
1197  else
1198  return Definition::name();
1199 }
QCString m_fileName
Definition: filedef.h:223
const QCString & name() const
Definition: definition.h:114
#define Config_getBool(val)
Definition: config.cpp:664
PackageDef* FileDef::packageDef ( ) const
inline

Definition at line 120 of file filedef.h.

120 { return m_package; }
PackageDef * m_package
Definition: filedef.h:229
void FileDef::parseSource ( bool  sameTu,
QStrList filesInSameTu 
)

Definition at line 1027 of file filedef.cpp.

1028 {
1029  static bool filterSourceFiles = Config_getBool("FILTER_SOURCE_FILES");
1030  DevNullCodeDocInterface devNullIntf;
1031  (void)sameTu;
1032  (void)filesInSameTu;
1033 #if USE_LIBCLANG
1034  static bool clangAssistedParsing = Config_getBool("CLANG_ASSISTED_PARSING");
1035  if (clangAssistedParsing &&
1037  {
1038  if (!sameTu)
1039  {
1040  ClangParser::instance()->start(absFilePath(),filesInSameTu);
1041  }
1042  else
1043  {
1045  }
1046  ClangParser::instance()->writeSources(devNullIntf,this);
1047  }
1048  else
1049 #endif
1050  {
1052  pIntf->resetCodeParserState();
1053  pIntf->parseCode(
1054  devNullIntf,0,
1055  fileToString(absFilePath(),filterSourceFiles,TRUE),
1056  getLanguage(),
1057  FALSE,0,this
1058  );
1059  }
1060 }
ParserInterface * getParser(const char *extension)
Definition: parserintf.h:191
QCString fileToString(const char *name, bool filter, bool isSourceCode)
Definition: util.cpp:2418
void switchToFile(const char *fileName)
Abstract interface for programming language parsers.
Definition: parserintf.h:38
void start(const char *fileName, QStrList &filesInTranslationUnit)
const bool FALSE
Definition: qglobal.h:370
QCString getDefFileExtension() const
static ParserManager * parserManager
Definition: doxygen.h:141
SrcLangExt getLanguage() const
#define Config_getBool(val)
Definition: config.cpp:664
QCString absFilePath() const
Definition: filedef.h:96
void writeSources(CodeOutputInterface &ol, FileDef *fd)
static ClangParser * instance()
Definition: clangparser.cpp:30
virtual void parseCode(CodeOutputInterface &codeOutIntf, const char *scopeName, const QCString &input, SrcLangExt lang, bool isExampleBlock, const char *exampleName=0, FileDef *fileDef=0, int startLine=-1, int endLine=-1, bool inlineFragment=FALSE, MemberDef *memberDef=0, bool showLineNumbers=TRUE, Definition *searchCtx=0, bool collectXRefs=TRUE)=0
const bool TRUE
Definition: qglobal.h:371
virtual void resetCodeParserState()=0
void FileDef::setDirDef ( DirDef dd)
inline

Definition at line 164 of file filedef.h.

164 { m_dir=dd; }
DirDef * m_dir
Definition: filedef.h:230
void FileDef::setPackageDef ( PackageDef *  pd)
inline

Definition at line 163 of file filedef.h.

163 { m_package=pd; }
PackageDef * m_package
Definition: filedef.h:229
void FileDef::sortMemberLists ( )

Definition at line 1829 of file filedef.cpp.

1830 {
1832  MemberList *ml;
1833  for (;(ml=mli.current());++mli)
1834  {
1835  if (ml->needsSorting()) { ml->sort(); ml->setNeedsSorting(FALSE); }
1836  }
1837 }
const bool FALSE
Definition: qglobal.h:370
QList< MemberList > m_memberLists
Definition: filedef.h:231
void sort()
Definition: qlist.h:85
void setNeedsSorting(bool b)
Definition: memberlist.cpp:902
bool needsSorting() const
Definition: memberlist.h:53
void FileDef::startMemberDeclarations ( OutputList ol)
private

Definition at line 552 of file filedef.cpp.

553 {
554  ol.startMemberSections();
555 }
void startMemberSections()
Definition: outputlist.h:186
void FileDef::startMemberDocumentation ( OutputList ol)
private

Definition at line 562 of file filedef.cpp.

563 {
564  if (Config_getBool("SEPARATE_MEMBER_PAGES"))
565  {
568  }
569 }
static bool suppressDocWarnings
Definition: doxygen.h:142
void disable(OutputGenerator::OutputType o)
Definition: outputlist.cpp:79
#define Config_getBool(val)
Definition: config.cpp:664
const bool TRUE
Definition: qglobal.h:371
void FileDef::startParsing ( )

Definition at line 1062 of file filedef.cpp.

1063 {
1064 }
bool FileDef::subGrouping ( ) const
inline

Definition at line 140 of file filedef.h.

140 { return m_subGrouping; }
bool m_subGrouping
Definition: filedef.h:235
QCString FileDef::title ( ) const

Definition at line 1910 of file filedef.cpp.

1911 {
1912  return theTranslator->trFileReference(name());
1913 }
virtual QCString trFileReference(const char *fileName)=0
QCString name() const
Definition: filedef.cpp:1193
Translator * theTranslator
Definition: language.cpp:157
void FileDef::writeAuthorSection ( OutputList ol)
private

Definition at line 599 of file filedef.cpp.

600 {
601  // write Author section (Man only)
602  ol.pushGeneratorState();
604  ol.startGroupHeader();
606  ol.endGroupHeader();
608  ol.popGeneratorState();
609 }
void endGroupHeader(int extraLevels=0)
Definition: outputlist.h:178
void disableAllBut(OutputGenerator::OutputType o)
Definition: outputlist.cpp:49
bool parseText(const QCString &textStr)
Definition: outputlist.cpp:175
void popGeneratorState()
Definition: outputlist.cpp:121
void pushGeneratorState()
Definition: outputlist.cpp:111
virtual QCString trAuthor(bool first_capital, bool singular)=0
virtual QCString trGeneratedAutomatically(const char *s)=0
#define Config_getString(val)
Definition: config.cpp:660
void startGroupHeader(int extraLevels=0)
Definition: outputlist.h:176
Translator * theTranslator
Definition: language.cpp:157
const bool TRUE
Definition: qglobal.h:371
void FileDef::writeBriefDescription ( OutputList ol)
private

Definition at line 360 of file filedef.cpp.

361 {
362  if (!briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC"))
363  {
364  DocRoot *rootNode = validatingParseDoc(briefFile(),briefLine(),this,0,
366 
367  if (rootNode && !rootNode->isEmpty())
368  {
369  ol.startParagraph();
370  ol.writeDoc(rootNode,this,0);
371  ol.pushGeneratorState();
373  ol.writeString(" \n");
375 
376  if (Config_getBool("REPEAT_BRIEF") ||
377  !documentation().isEmpty()
378  )
379  {
381  ol.startTextLink(0,"details");
383  ol.endTextLink();
384  }
385  ol.popGeneratorState();
386  ol.endParagraph();
387  }
388  delete rootNode;
389  }
390  ol.writeSynopsis();
391 }
void writeString(const char *text)
Definition: outputlist.h:119
void disableAllBut(OutputGenerator::OutputType o)
Definition: outputlist.cpp:49
void startParagraph()
Definition: outputlist.h:115
const bool FALSE
Definition: qglobal.h:370
DocRoot * validatingParseDoc(const char *fileName, int startLine, Definition *ctx, MemberDef *md, const char *input, bool indexWords, bool isExample, const char *exampleName, bool singleLine, bool linkFromIndex)
Definition: docparser.cpp:7179
int briefLine() const
void startTextLink(const char *file, const char *anchor)
Definition: outputlist.h:159
bool parseText(const QCString &textStr)
Definition: outputlist.cpp:175
void popGeneratorState()
Definition: outputlist.cpp:121
void endParagraph()
Definition: outputlist.h:117
void pushGeneratorState()
Definition: outputlist.cpp:111
void disable(OutputGenerator::OutputType o)
Definition: outputlist.cpp:79
void writeSynopsis()
Definition: outputlist.h:340
void writeDoc(DocRoot *root, Definition *ctx, MemberDef *md)
Definition: outputlist.cpp:162
void enable(OutputGenerator::OutputType o)
Definition: outputlist.cpp:89
#define Config_getBool(val)
Definition: config.cpp:664
QCString briefFile() const
virtual QCString trMore()=0
virtual QCString briefDescription(bool abbreviate=FALSE) const
Translator * theTranslator
Definition: language.cpp:157
bool isEmpty() const
Definition: docparser.h:1409
virtual QCString documentation() const
void endTextLink()
Definition: outputlist.h:161
const bool TRUE
Definition: qglobal.h:371
void FileDef::writeClassDeclarations ( OutputList ol,
const QCString title 
)
private

Definition at line 533 of file filedef.cpp.

534 {
535  // write list of classes
537 }
const bool FALSE
Definition: qglobal.h:370
ClassSDict * m_classSDict
Definition: filedef.h:234
void writeDeclaration(OutputList &ol, const ClassDef::CompoundType *filter=0, const char *header=0, bool localNames=FALSE)
Definition: classlist.cpp:94
void FileDef::writeDetailedDescription ( OutputList ol,
const QCString title 
)
private

Definition at line 289 of file filedef.cpp.

290 {
292  {
293  ol.pushGeneratorState();
295  ol.writeRuler();
296  ol.popGeneratorState();
297  ol.pushGeneratorState();
299  ol.writeAnchor(0,"details");
300  ol.popGeneratorState();
301  ol.startGroupHeader();
302  ol.parseText(title);
303  ol.endGroupHeader();
304 
305  ol.startTextBlock();
306  if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF"))
307  {
309  }
310  if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF") &&
311  !documentation().isEmpty())
312  {
313  ol.pushGeneratorState();
316  // ol.newParagraph(); // FIXME:PARA
317  ol.enableAll();
320  ol.writeString("\n\n");
321  ol.popGeneratorState();
322  }
323  if (!documentation().isEmpty())
324  {
325  ol.generateDoc(docFile(),docLine(),this,0,documentation()+"\n",TRUE,FALSE);
326  }
327  //printf("Writing source ref for file %s\n",name().data());
328  if (Config_getBool("SOURCE_BROWSER"))
329  {
330  //if Latex enabled and LATEX_SOURCE_CODE isn't -> skip, bug_738548
331  ol.pushGeneratorState();
332  if (ol.isEnabled(OutputGenerator::Latex) && !Config_getBool("LATEX_SOURCE_CODE"))
333  {
335  }
336  if (ol.isEnabled(OutputGenerator::RTF) && !Config_getBool("RTF_SOURCE_CODE"))
337  {
339  }
340 
341  ol.startParagraph();
343  int fileMarkerPos = refText.find("@0");
344  if (fileMarkerPos!=-1) // should always pass this.
345  {
346  ol.parseText(refText.left(fileMarkerPos)); //text left from marker 1
348  0,name());
349  ol.parseText(refText.right(
350  refText.length()-fileMarkerPos-2)); // text right from marker 2
351  }
352  ol.endParagraph();
353  //Restore settings, bug_738548
354  ol.popGeneratorState();
355  }
356  ol.endTextBlock();
357  }
358 }
void writeRuler()
Definition: outputlist.h:240
QCString docFile() const
void endGroupHeader(int extraLevels=0)
Definition: outputlist.h:178
uint length() const
Definition: qcstring.h:195
void writeString(const char *text)
Definition: outputlist.h:119
bool generateDoc(const char *fileName, int startLine, Definition *ctx, MemberDef *md, const QCString &docStr, bool indexWords, bool isExample, const char *exampleName=0, bool singleLine=FALSE, bool linkFromIndex=FALSE)
Definition: outputlist.cpp:131
void disableAllBut(OutputGenerator::OutputType o)
Definition: outputlist.cpp:49
void startParagraph()
Definition: outputlist.h:115
bool hasDetailedDescription() const
Definition: filedef.cpp:173
const bool FALSE
Definition: qglobal.h:370
QCString left(uint len) const
Definition: qcstring.cpp:213
int briefLine() const
bool isEnabled(OutputGenerator::OutputType o)
Definition: outputlist.cpp:99
int find(char c, int index=0, bool cs=TRUE) const
Definition: qcstring.cpp:41
bool parseText(const QCString &textStr)
Definition: outputlist.cpp:175
virtual QCString trDefinedInSourceFile()=0
void popGeneratorState()
Definition: outputlist.cpp:121
void endParagraph()
Definition: outputlist.h:117
void pushGeneratorState()
Definition: outputlist.cpp:111
QCString name() const
Definition: filedef.cpp:1193
QCString getSourceFileBase() const
Definition: filedef.cpp:1771
QCString right(uint len) const
Definition: qcstring.cpp:231
void disable(OutputGenerator::OutputType o)
Definition: outputlist.cpp:79
void enable(OutputGenerator::OutputType o)
Definition: outputlist.cpp:89
#define Config_getBool(val)
Definition: config.cpp:664
QCString briefFile() const
virtual QCString briefDescription(bool abbreviate=FALSE) const
void startGroupHeader(int extraLevels=0)
Definition: outputlist.h:176
void startTextBlock(bool dense=FALSE)
Definition: outputlist.h:404
void enableAll()
Definition: outputlist.cpp:59
void writeAnchor(const char *fileName, const char *name)
Definition: outputlist.h:242
Translator * theTranslator
Definition: language.cpp:157
void endTextBlock(bool paraBreak=FALSE)
Definition: outputlist.h:406
int docLine() const
virtual QCString documentation() const
void writeObjectLink(const char *ref, const char *file, const char *anchor, const char *name)
Definition: outputlist.h:149
const bool TRUE
Definition: qglobal.h:371
void FileDef::writeDocumentation ( OutputList ol)

Write the documentation page for this file to the file of output generators ol.

Definition at line 654 of file filedef.cpp.

655 {
656  static bool generateTreeView = Config_getBool("GENERATE_TREEVIEW");
657  //funcList->countDecMembers();
658 
659  //QCString fn = name();
660  //if (Config_getBool("FULL_PATH_NAMES"))
661  //{
662  // fn.prepend(stripFromPath(getPath().copy()));
663  //}
664 
665  //printf("WriteDocumentation diskname=%s\n",diskname.data());
666 
667  QCString versionTitle;
668  if (!m_fileVersion.isEmpty())
669  {
670  versionTitle=("("+m_fileVersion+")");
671  }
672  QCString title = m_docname+versionTitle;
674 
675  if (getDirDef())
676  {
677  startFile(ol,getOutputFileBase(),name(),pageTitle,HLI_FileVisible,!generateTreeView);
678  if (!generateTreeView)
679  {
681  ol.endQuickIndices();
682  }
683  QCString pageTitleShort=theTranslator->trFileReference(name());
684  startTitle(ol,getOutputFileBase(),this);
685  ol.pushGeneratorState();
687  ol.parseText(pageTitleShort); // Html only
688  ol.enableAll();
690  ol.parseText(pageTitle); // other output formats
691  ol.popGeneratorState();
692  addGroupListToTitle(ol,this);
693  endTitle(ol,getOutputFileBase(),title);
694  }
695  else
696  {
697  startFile(ol,getOutputFileBase(),name(),pageTitle,HLI_FileVisible,!generateTreeView);
698  if (!generateTreeView)
699  {
700  ol.endQuickIndices();
701  }
702  startTitle(ol,getOutputFileBase(),this);
703  ol.parseText(pageTitle);
704  addGroupListToTitle(ol,this);
705  endTitle(ol,getOutputFileBase(),title);
706  }
707 
708  ol.startContents();
709 
710  if (!m_fileVersion.isEmpty())
711  {
713  ol.startProjectNumber();
714  ol.docify(versionTitle);
715  ol.endProjectNumber();
716  ol.enableAll();
717  }
718 
720  {
723  }
724 
725 
726  //---------------------------------------- start flexible part -------------------------------
727 
728  SrcLangExt lang = getLanguage();
731  LayoutDocEntry *lde;
732  for (eli.toFirst();(lde=eli.current());++eli)
733  {
734  switch (lde->kind())
735  {
738  break;
741  break;
743  writeIncludeFiles(ol);
744  break;
746  writeIncludeGraph(ol);
747  break;
750  break;
752  writeSourceLink(ol);
753  break;
755  {
757  writeClassDeclarations(ol,ls->title(lang));
758  }
759  break;
761  {
763  writeNamespaceDeclarations(ol,ls->title(lang),false);
764  }
765  break;
767  {
769  writeNamespaceDeclarations(ol,ls->title(lang),true);
770  }
771  break;
773  writeMemberGroups(ol);
774  break;
776  {
778  writeMemberDeclarations(ol,lmd->type,lmd->title(lang));
779  }
780  break;
783  break;
785  {
787  writeDetailedDescription(ol,ls->title(lang));
788  }
789  break;
792  break;
794  writeInlineClasses(ol);
795  break;
797  {
799  writeMemberDocumentation(ol,lmd->type,lmd->title(lang));
800  }
801  break;
804  break;
806  writeAuthorSection(ol);
807  break;
830  err("Internal inconsistency: member %d should not be part of "
831  "LayoutDocManager::File entry list\n",lde->kind());
832  break;
833  }
834  }
835 
836  //---------------------------------------- end flexible part -------------------------------
837 
838  ol.endContents();
839 
840  endFileWithNavPath(this,ol);
841 
842  if (Config_getBool("SEPARATE_MEMBER_PAGES"))
843  {
845  if (ml) ml->sort();
846  writeMemberPages(ol);
847  }
848 }
QCString anchor() const
Definition: filedef.h:86
void endFileWithNavPath(Definition *d, OutputList &ol)
Definition: index.cpp:282
void writeClassDeclarations(OutputList &ol, const QCString &title)
Definition: filedef.cpp:533
void writeBriefDescription(OutputList &ol)
Definition: filedef.cpp:360
bool isEmpty() const
Definition: qcstring.h:189
void startFile(OutputList &ol, const char *name, const char *manName, const char *title, HighlightedItem hli, bool additionalIndices, const char *altSidebarName)
Definition: index.cpp:244
void writeIncludedByGraph(OutputList &ol)
Definition: filedef.cpp:486
void writeInlineClasses(OutputList &ol)
Definition: filedef.cpp:539
virtual QCString trFileReference(const char *fileName)=0
MemberListType type
Definition: layout.h:96
void disableAllBut(OutputGenerator::OutputType o)
Definition: outputlist.cpp:49
QCString title(SrcLangExt lang) const
Definition: layout.cpp:1459
void writeNavigationPath(OutputList &ol) const
QCString m_docname
Definition: filedef.h:224
const bool FALSE
Definition: qglobal.h:370
static LayoutDocManager & instance()
Definition: layout.cpp:1359
DirDef * getDirDef() const
Definition: filedef.h:121
void endMemberDocumentation(OutputList &ol)
Definition: filedef.cpp:571
SrcLangExt
Definition: types.h:41
void writeIncludeFiles(OutputList &ol)
Definition: filedef.cpp:393
Represents of a member definition list with configurable title.
Definition: layout.h:105
void writeDetailedDescription(OutputList &ol, const QCString &title)
Definition: filedef.cpp:289
QCString title(SrcLangExt lang) const
Definition: layout.cpp:1440
void endMemberDeclarations(OutputList &ol)
Definition: filedef.cpp:557
bool parseText(const QCString &textStr)
Definition: outputlist.cpp:175
Represents of a member declaration list with configurable title and subtitle.
Definition: layout.h:89
void endProjectNumber()
Definition: outputlist.h:93
void popGeneratorState()
Definition: outputlist.cpp:121
static SearchIndexIntf * searchIndex
Definition: doxygen.h:133
void pushGeneratorState()
Definition: outputlist.cpp:111
QCString name() const
Definition: filedef.cpp:1193
void writeNamespaceDeclarations(OutputList &ol, const QCString &title, bool isConstantGroup)
Definition: filedef.cpp:526
SrcLangExt getLanguage() const
void sort()
Definition: qlist.h:85
virtual void addWord(const char *word, bool hiPriority)=0
void disable(OutputGenerator::OutputType o)
Definition: outputlist.cpp:79
void addGroupListToTitle(OutputList &ol, Definition *d)
Definition: util.cpp:6528
#define Config_getBool(val)
Definition: config.cpp:664
void err(const char *fmt,...)
Definition: message.cpp:226
MemberList * getMemberList(MemberListType lt) const
Definition: filedef.cpp:1839
void endQuickIndices()
Definition: outputlist.h:352
QCString getOutputFileBase() const
Definition: filedef.h:83
void endContents()
Definition: outputlist.h:366
void writeMemberDocumentation(OutputList &ol, MemberListType lt, const QCString &title)
Definition: filedef.cpp:1871
MemberListType type
Definition: layout.h:111
void startTitle(OutputList &ol, const char *fileName, Definition *def)
Definition: index.cpp:228
QCString title() const
Definition: filedef.cpp:1910
void writeMemberDeclarations(OutputList &ol, MemberListType lt, const QCString &title)
Definition: filedef.cpp:1853
virtual Kind kind() const =0
void enableAll()
Definition: outputlist.cpp:59
void writeAuthorSection(OutputList &ol)
Definition: filedef.cpp:599
Base class representing a piece of a documentation page.
Definition: layout.h:30
virtual void setCurrentDoc(Definition *ctx, const char *anchor, bool isSourceFile)=0
void writeMemberGroups(OutputList &ol)
Definition: filedef.cpp:580
void writeMemberPages(OutputList &ol)
Definition: filedef.cpp:850
Translator * theTranslator
Definition: language.cpp:157
QCString m_fileVersion
Definition: filedef.h:228
void endTitle(OutputList &ol, const char *fileName, const char *name)
Definition: index.cpp:237
void writeSourceLink(OutputList &ol)
Definition: filedef.cpp:511
void docify(const char *s)
Definition: outputlist.h:145
void startProjectNumber()
Definition: outputlist.h:91
QCString localName() const
const bool TRUE
Definition: qglobal.h:371
void writeIncludeGraph(OutputList &ol)
Definition: filedef.cpp:462
void startMemberDocumentation(OutputList &ol)
Definition: filedef.cpp:562
QCString title(SrcLangExt lang) const
Definition: layout.cpp:1447
void startContents()
Definition: outputlist.h:364
void startMemberDeclarations(OutputList &ol)
Definition: filedef.cpp:552
void FileDef::writeIncludedByGraph ( OutputList ol)
private

Definition at line 486 of file filedef.cpp.

487 {
488  if (Config_getBool("HAVE_DOT") /*&& Config_getBool("INCLUDED_BY_GRAPH")*/)
489  {
490  //printf("Graph for file %s\n",name().data());
491  DotInclDepGraph incDepGraph(this,TRUE);
492  if (incDepGraph.isTooBig())
493  {
494  warn_uncond("Included by graph for '%s' not generated, too many nodes. Consider increasing DOT_GRAPH_MAX_NODES.\n",name().data());
495  }
496  else if (!incDepGraph.isTrivial())
497  {
498  ol.startTextBlock();
500  ol.startInclDepGraph();
502  ol.endInclDepGraph(incDepGraph);
503  ol.enableAll();
504  ol.endTextBlock(TRUE);
505  }
506  //incDepGraph.writeGraph(Config_getString("HTML_OUTPUT"),fd->getOutputFileBase());
507  }
508 }
bool parseText(const QCString &textStr)
Definition: outputlist.cpp:175
QCString name() const
Definition: filedef.cpp:1193
void disable(OutputGenerator::OutputType o)
Definition: outputlist.cpp:79
#define Config_getBool(val)
Definition: config.cpp:664
void startTextBlock(bool dense=FALSE)
Definition: outputlist.h:404
void enableAll()
Definition: outputlist.cpp:59
void endInclDepGraph(const DotInclDepGraph &g)
Definition: outputlist.h:388
Translator * theTranslator
Definition: language.cpp:157
void endTextBlock(bool paraBreak=FALSE)
Definition: outputlist.h:406
virtual QCString trInclByDepGraph()=0
const bool TRUE
Definition: qglobal.h:371
void warn_uncond(const char *fmt,...)
Definition: message.cpp:218
void startInclDepGraph()
Definition: outputlist.h:386
void FileDef::writeIncludeFiles ( OutputList ol)
private

Definition at line 393 of file filedef.cpp.

394 {
395  if (m_includeList && m_includeList->count()>0)
396  {
397  ol.startTextBlock(TRUE);
399  IncludeInfo *ii;
400  for (;(ii=ili.current());++ili)
401  {
402  if (!ii->indirect)
403  {
404  FileDef *fd=ii->fileDef;
405  bool isIDLorJava = FALSE;
406  if (fd)
407  {
408  SrcLangExt lang = fd->getLanguage();
409  isIDLorJava = lang==SrcLangExt_IDL || lang==SrcLangExt_Java;
410  }
411  ol.startTypewriter();
412  if (isIDLorJava) // IDL/Java include
413  {
414  ol.docify("import ");
415  }
416  else if (ii->imported) // Objective-C include
417  {
418  ol.docify("#import ");
419  }
420  else // C/C++ include
421  {
422  ol.docify("#include ");
423  }
424  if (ii->local || isIDLorJava)
425  ol.docify("\"");
426  else
427  ol.docify("<");
429  ol.docify(ii->includeName);
430  ol.enableAll();
432 
433  // Here we use the include file name as it appears in the file.
434  // we could also we the name as it is used within doxygen,
435  // then we should have used fd->docName() instead of ii->includeName
436  if (fd && fd->isLinkable())
437  {
438  ol.writeObjectLink(fd->getReference(),
439  fd->generateSourceFile() ? fd->includeName() : fd->getOutputFileBase(),
440  0,ii->includeName);
441  }
442  else
443  {
444  ol.docify(ii->includeName);
445  }
446 
447  ol.enableAll();
448  if (ii->local || isIDLorJava)
449  ol.docify("\"");
450  else
451  ol.docify(">");
452  if (isIDLorJava)
453  ol.docify(";");
454  ol.endTypewriter();
455  ol.lineBreak();
456  }
457  }
458  ol.endTextBlock();
459  }
460 }
virtual QCString getReference() const
bool isLinkable() const
Definition: filedef.h:117
bool generateSourceFile() const
Definition: filedef.cpp:1396
void disableAllBut(OutputGenerator::OutputType o)
Definition: outputlist.cpp:49
void lineBreak(const char *style=0)
Definition: outputlist.h:302
const bool FALSE
Definition: qglobal.h:370
SrcLangExt
Definition: types.h:41
uint count() const
Definition: qlist.h:66
bool indirect
Definition: filedef.h:53
SrcLangExt getLanguage() const
void disable(OutputGenerator::OutputType o)
Definition: outputlist.cpp:79
bool imported
Definition: filedef.h:52
QCString includeName
Definition: filedef.h:50
QCString getOutputFileBase() const
Definition: filedef.h:83
bool local
Definition: filedef.h:51
FileDef * fileDef
Definition: filedef.h:49
void startTypewriter()
Definition: outputlist.h:172
void startTextBlock(bool dense=FALSE)
Definition: outputlist.h:404
void enableAll()
Definition: outputlist.cpp:59
void endTextBlock(bool paraBreak=FALSE)
Definition: outputlist.h:406
QList< IncludeInfo > * m_includeList
Definition: filedef.h:215
QCString includeName() const
Definition: filedef.cpp:1784
void docify(const char *s)
Definition: outputlist.h:145
void writeObjectLink(const char *ref, const char *file, const char *anchor, const char *name)
Definition: outputlist.h:149
const bool TRUE
Definition: qglobal.h:371
void endTypewriter()
Definition: outputlist.h:174
void FileDef::writeIncludeGraph ( OutputList ol)
private

Definition at line 462 of file filedef.cpp.

463 {
464  if (Config_getBool("HAVE_DOT") /*&& Config_getBool("INCLUDE_GRAPH")*/)
465  {
466  //printf("Graph for file %s\n",name().data());
467  DotInclDepGraph incDepGraph(this,FALSE);
468  if (incDepGraph.isTooBig())
469  {
470  warn_uncond("Include graph for '%s' not generated, too many nodes. Consider increasing DOT_GRAPH_MAX_NODES.\n",name().data());
471  }
472  else if (!incDepGraph.isTrivial())
473  {
474  ol.startTextBlock();
476  ol.startInclDepGraph();
478  ol.endInclDepGraph(incDepGraph);
479  ol.enableAll();
480  ol.endTextBlock(TRUE);
481  }
482  //incDepGraph.writeGraph(Config_getString("HTML_OUTPUT"),fd->getOutputFileBase());
483  }
484 }
const bool FALSE
Definition: qglobal.h:370
bool parseText(const QCString &textStr)
Definition: outputlist.cpp:175
virtual QCString trInclDepGraph(const char *fName)=0
QCString name() const
Definition: filedef.cpp:1193
void disable(OutputGenerator::OutputType o)
Definition: outputlist.cpp:79
#define Config_getBool(val)
Definition: config.cpp:664
void startTextBlock(bool dense=FALSE)
Definition: outputlist.h:404
void enableAll()
Definition: outputlist.cpp:59
void endInclDepGraph(const DotInclDepGraph &g)
Definition: outputlist.h:388
Translator * theTranslator
Definition: language.cpp:157
void endTextBlock(bool paraBreak=FALSE)
Definition: outputlist.h:406
const bool TRUE
Definition: qglobal.h:371
void warn_uncond(const char *fmt,...)
Definition: message.cpp:218
void startInclDepGraph()
Definition: outputlist.h:386
void FileDef::writeInlineClasses ( OutputList ol)
private

Definition at line 539 of file filedef.cpp.

540 {
541  // temporarily undo the disbling could be done by startMemberDocumentation()
542  // as a result of setting SEPARATE_MEMBER_PAGES to YES; see bug730512
543  bool isEnabled = ol.isEnabled(OutputGenerator::Html);
545 
547 
548  // restore the initial state if needed
549  if (!isEnabled) ol.disable(OutputGenerator::Html);
550 }
bool isEnabled(OutputGenerator::OutputType o)
Definition: outputlist.cpp:99
ClassSDict * m_classSDict
Definition: filedef.h:234
void disable(OutputGenerator::OutputType o)
Definition: outputlist.cpp:79
void enable(OutputGenerator::OutputType o)
Definition: outputlist.cpp:89
void writeDocumentation(OutputList &ol, Definition *container=0)
Definition: classlist.cpp:119
void FileDef::writeMemberDeclarations ( OutputList ol,
MemberListType  lt,
const QCString title 
)
private

Definition at line 1853 of file filedef.cpp.

1854 {
1855  static bool optVhdl = Config_getBool("OPTIMIZE_OUTPUT_VHDL");
1856  MemberList * ml = getMemberList(lt);
1857  if (ml)
1858  {
1859  if (optVhdl) // use specific declarations function
1860  {
1861 
1862  VhdlDocGen::writeVhdlDeclarations(ml,ol,0,0,this,0);
1863  }
1864  else
1865  {
1866  ml->writeDeclarations(ol,0,0,this,0,title,0);
1867  }
1868  }
1869 }
static void writeVhdlDeclarations(MemberList *, OutputList &, GroupDef *, ClassDef *, FileDef *, NamespaceDef *)
#define Config_getBool(val)
Definition: config.cpp:664
MemberList * getMemberList(MemberListType lt) const
Definition: filedef.cpp:1839
void writeDeclarations(OutputList &ol, ClassDef *cd, NamespaceDef *nd, FileDef *fd, GroupDef *gd, const char *title, const char *subtitle, bool showEnumValues=FALSE, bool showInline=FALSE, ClassDef *inheritedFrom=0, MemberListType lt=MemberListType_pubMethods)
Definition: memberlist.cpp:519
void FileDef::writeMemberDocumentation ( OutputList ol,
MemberListType  lt,
const QCString title 
)
private

Definition at line 1871 of file filedef.cpp.

1872 {
1873  MemberList * ml = getMemberList(lt);
1874  if (ml) ml->writeDocumentation(ol,name(),this,title);
1875 }
void writeDocumentation(OutputList &ol, const char *scopeName, Definition *container, const char *title, bool showEnumValues=FALSE, bool showInline=FALSE)
Definition: memberlist.cpp:655
QCString name() const
Definition: filedef.cpp:1193
MemberList * getMemberList(MemberListType lt) const
Definition: filedef.cpp:1839
void FileDef::writeMemberGroups ( OutputList ol)
private

Definition at line 580 of file filedef.cpp.

581 {
582  /* write user defined member groups */
583  if (m_memberGroupSDict)
584  {
587  MemberGroup *mg;
588  for (;(mg=mgli.current());++mgli)
589  {
590  if ((!mg->allMembersInSameSection() || !m_subGrouping)
591  && mg->header()!="[NOHEADER]")
592  {
593  mg->writeDeclarations(ol,0,0,this,0);
594  }
595  }
596  }
597 }
QCString header() const
Definition: membergroup.h:47
friend class Iterator
Definition: sortdict.h:598
void writeDeclarations(OutputList &ol, ClassDef *cd, NamespaceDef *nd, FileDef *fd, GroupDef *gd, bool showInline=FALSE)
static constexpr double mg
Definition: Units.h:145
MemberGroupSDict * m_memberGroupSDict
Definition: filedef.h:232
bool allMembersInSameSection() const
Definition: membergroup.h:67
void sort()
Definition: sortdict.h:522
bool m_subGrouping
Definition: filedef.h:235
void FileDef::writeMemberPages ( OutputList ol)

Definition at line 850 of file filedef.cpp.

851 {
852  ol.pushGeneratorState();
854 
856  MemberList *ml;
857  for (mli.toFirst();(ml=mli.current());++mli)
858  {
860  {
861  ml->writeDocumentationPage(ol,name(),this);
862  }
863  }
864 
865  ol.popGeneratorState();
866 }
MemberListType listType() const
Definition: memberlist.h:38
void disableAllBut(OutputGenerator::OutputType o)
Definition: outputlist.cpp:49
QList< MemberList > m_memberLists
Definition: filedef.h:231
void popGeneratorState()
Definition: outputlist.cpp:121
void pushGeneratorState()
Definition: outputlist.cpp:111
QCString name() const
Definition: filedef.cpp:1193
void writeDocumentationPage(OutputList &ol, const char *scopeName, Definition *container)
Definition: memberlist.cpp:715
void FileDef::writeNamespaceDeclarations ( OutputList ol,
const QCString title,
bool  isConstantGroup 
)
private

Definition at line 526 of file filedef.cpp.

528 {
529  // write list of namespaces
530  if (m_namespaceSDict) m_namespaceSDict->writeDeclaration(ol,title,isConstantGroup);
531 }
NamespaceSDict * m_namespaceSDict
Definition: filedef.h:233
void writeDeclaration(OutputList &ol, const char *title, bool isConstantGroup=false, bool localName=FALSE)
void FileDef::writeQuickMemberLinks ( OutputList ol,
MemberDef currentMd 
) const
virtual

Reimplemented from Definition.

Definition at line 868 of file filedef.cpp.

869 {
870  static bool createSubDirs=Config_getBool("CREATE_SUBDIRS");
871 
872  ol.writeString(" <div class=\"navtab\">\n");
873  ol.writeString(" <table>\n");
874 
876  if (allMemberList)
877  {
878  MemberListIterator mli(*allMemberList);
879  MemberDef *md;
880  for (mli.toFirst();(md=mli.current());++mli)
881  {
882  if (md->getFileDef()==this && md->getNamespaceDef()==0 && md->isLinkable() && !md->isEnumValue())
883  {
884  ol.writeString(" <tr><td class=\"navtab\">");
885  if (md->isLinkableInProject())
886  {
887  if (md==currentMd) // selected item => highlight
888  {
889  ol.writeString("<a class=\"qindexHL\" ");
890  }
891  else
892  {
893  ol.writeString("<a class=\"qindex\" ");
894  }
895  ol.writeString("href=\"");
896  if (createSubDirs) ol.writeString("../../");
898  ol.writeString("\">");
900  ol.writeString("</a>");
901  }
902  ol.writeString("</td></tr>\n");
903  }
904  }
905  }
906 
907  ol.writeString(" </table>\n");
908  ol.writeString(" </div>\n");
909 }
static QCString htmlFileExtension
Definition: doxygen.h:130
void writeString(const char *text)
Definition: outputlist.h:119
bool isLinkableInProject() const
Definition: memberdef.cpp:1150
FileDef * getFileDef() const
Definition: memberdef.cpp:4075
bool isEnumValue() const
Definition: memberdef.cpp:4150
QCString convertToHtml(const char *s, bool keepEntities)
Definition: util.cpp:5746
QCString anchor() const
Definition: memberdef.cpp:1031
#define Config_getBool(val)
Definition: config.cpp:664
MemberList * getMemberList(MemberListType lt) const
Definition: filedef.cpp:1839
QCString getOutputFileBase() const
Definition: memberdef.cpp:941
NamespaceDef * getNamespaceDef() const
Definition: memberdef.cpp:4080
void createSubDirs(QDir &d)
Definition: util.cpp:5458
bool isLinkable() const
Definition: memberdef.cpp:1161
QCString localName() const
void FileDef::writeSource ( OutputList ol,
bool  sameTu,
QStrList filesInSameTu 
)

Write a source listing of this file to the output

Definition at line 912 of file filedef.cpp.

913 {
914  static bool generateTreeView = Config_getBool("GENERATE_TREEVIEW");
915  static bool filterSourceFiles = Config_getBool("FILTER_SOURCE_FILES");
916  static bool latexSourceCode = Config_getBool("LATEX_SOURCE_CODE");
917  static bool rtfSourceCode = Config_getBool("RTF_SOURCE_CODE");
918  DevNullCodeDocInterface devNullIntf;
920  if (!m_fileVersion.isEmpty())
921  {
922  title+=(" ("+m_fileVersion+")");
923  }
924  QCString pageTitle = theTranslator->trSourceFile(title);
926  if (!latexSourceCode) ol.disable(OutputGenerator::Latex);
927  if (!rtfSourceCode) ol.disable(OutputGenerator::RTF);
928 
929  bool isDocFile = isDocumentationFile();
930  bool genSourceFile = !isDocFile && generateSourceFile();
931  if (getDirDef())
932  {
934  !generateTreeView,
935  !isDocFile && genSourceFile ? QCString() : getOutputFileBase());
936  if (!generateTreeView)
937  {
939  ol.endQuickIndices();
940  }
942  ol.parseText(name());
943  endTitle(ol,getSourceFileBase(),title);
944  }
945  else
946  {
948  !isDocFile && genSourceFile ? QCString() : getOutputFileBase());
950  ol.parseText(title);
951  endTitle(ol,getSourceFileBase(),0);
952  }
953 
954  ol.startContents();
955 
956  if (isLinkable())
957  {
958  if (latexSourceCode) ol.disable(OutputGenerator::Latex);
959  if (rtfSourceCode) ol.disable(OutputGenerator::RTF);
962  ol.endTextLink();
963  if (latexSourceCode) ol.enable(OutputGenerator::Latex);
964  if (rtfSourceCode) ol.enable(OutputGenerator::RTF);
965  }
966 
967  (void)sameTu;
968  (void)filesInSameTu;
969 #if USE_LIBCLANG
970  static bool clangAssistedParsing = Config_getBool("CLANG_ASSISTED_PARSING");
971  if (clangAssistedParsing &&
973  {
974  ol.startCodeFragment();
975  if (!sameTu)
976  {
977  ClangParser::instance()->start(absFilePath(),filesInSameTu);
978  }
979  else
980  {
982  }
984  ol.endCodeFragment();
985  }
986  else
987 #endif
988  {
990  pIntf->resetCodeParserState();
991  ol.startCodeFragment();
992  bool needs2PassParsing =
993  Doxygen::parseSourcesNeeded && // we need to parse (filtered) sources for cross-references
994  !filterSourceFiles && // but user wants to show sources as-is
995  !getFileFilter(absFilePath(),TRUE).isEmpty(); // and there is a filter used while parsing
996 
997  if (needs2PassParsing)
998  {
999  // parse code for cross-references only (see bug707641)
1000  pIntf->parseCode(devNullIntf,0,
1002  getLanguage(),
1003  FALSE,0,this
1004  );
1005  }
1006  pIntf->parseCode(ol,0,
1007  fileToString(absFilePath(),filterSourceFiles,TRUE),
1008  getLanguage(), // lang
1009  FALSE, // isExampleBlock
1010  0, // exampleName
1011  this, // fileDef
1012  -1, // startLine
1013  -1, // endLine
1014  FALSE, // inlineFragment
1015  0, // memberDef
1016  TRUE, // showLineNumbers
1017  0, // searchCtx
1018  !needs2PassParsing // collectXRefs
1019  );
1020  ol.endCodeFragment();
1021  }
1022  ol.endContents();
1023  endFileWithNavPath(this,ol);
1024  ol.enableAll();
1025 }
ParserInterface * getParser(const char *extension)
Definition: parserintf.h:191
QCString fileToString(const char *name, bool filter, bool isSourceCode)
Definition: util.cpp:2418
void endFileWithNavPath(Definition *d, OutputList &ol)
Definition: index.cpp:282
void switchToFile(const char *fileName)
bool isLinkable() const
Definition: filedef.h:117
bool isEmpty() const
Definition: qcstring.h:189
void startFile(OutputList &ol, const char *name, const char *manName, const char *title, HighlightedItem hli, bool additionalIndices, const char *altSidebarName)
Definition: index.cpp:244
bool generateSourceFile() const
Definition: filedef.cpp:1396
Abstract interface for programming language parsers.
Definition: parserintf.h:38
void startCodeFragment()
Definition: outputlist.h:244
void start(const char *fileName, QStrList &filesInTranslationUnit)
void writeNavigationPath(OutputList &ol) const
QCString m_docname
Definition: filedef.h:224
const bool FALSE
Definition: qglobal.h:370
DirDef * getDirDef() const
Definition: filedef.h:121
virtual QCString trGotoDocumentation()=0
QCString getFileFilter(const char *name, bool isSourceCode)
Definition: util.cpp:2345
void startTextLink(const char *file, const char *anchor)
Definition: outputlist.h:159
bool parseText(const QCString &textStr)
Definition: outputlist.cpp:175
QCString getDefFileExtension() const
void endCodeFragment()
Definition: outputlist.h:246
static bool parseSourcesNeeded
Definition: doxygen.h:131
static ParserManager * parserManager
Definition: doxygen.h:141
QCString name() const
Definition: filedef.cpp:1193
QCString getSourceFileBase() const
Definition: filedef.cpp:1771
SrcLangExt getLanguage() const
void disable(OutputGenerator::OutputType o)
Definition: outputlist.cpp:79
void enable(OutputGenerator::OutputType o)
Definition: outputlist.cpp:89
#define Config_getBool(val)
Definition: config.cpp:664
QCString absFilePath() const
Definition: filedef.h:96
void endQuickIndices()
Definition: outputlist.h:352
QCString getOutputFileBase() const
Definition: filedef.h:83
void endContents()
Definition: outputlist.h:366
void startTitle(OutputList &ol, const char *fileName, Definition *def)
Definition: index.cpp:228
QCString title() const
Definition: filedef.cpp:1910
void enableAll()
Definition: outputlist.cpp:59
void writeSources(CodeOutputInterface &ol, FileDef *fd)
Translator * theTranslator
Definition: language.cpp:157
bool isDocumentationFile() const
Definition: filedef.cpp:1728
QCString m_fileVersion
Definition: filedef.h:228
void endTitle(OutputList &ol, const char *fileName, const char *name)
Definition: index.cpp:237
static ClangParser * instance()
Definition: clangparser.cpp:30
virtual void parseCode(CodeOutputInterface &codeOutIntf, const char *scopeName, const QCString &input, SrcLangExt lang, bool isExampleBlock, const char *exampleName=0, FileDef *fileDef=0, int startLine=-1, int endLine=-1, bool inlineFragment=FALSE, MemberDef *memberDef=0, bool showLineNumbers=TRUE, Definition *searchCtx=0, bool collectXRefs=TRUE)=0
void endTextLink()
Definition: outputlist.h:161
virtual QCString trSourceFile(QCString &filename)=0
const bool TRUE
Definition: qglobal.h:371
void startContents()
Definition: outputlist.h:364
virtual void resetCodeParserState()=0
void FileDef::writeSourceLink ( OutputList ol)
private

Definition at line 511 of file filedef.cpp.

512 {
513  //printf("%s: generateSourceFile()=%d\n",name().data(),generateSourceFile());
514  if (generateSourceFile())
515  {
517  ol.startParagraph();
518  ol.startTextLink(includeName(),0);
520  ol.endTextLink();
521  ol.endParagraph();
522  ol.enableAll();
523  }
524 }
bool generateSourceFile() const
Definition: filedef.cpp:1396
void disableAllBut(OutputGenerator::OutputType o)
Definition: outputlist.cpp:49
void startParagraph()
Definition: outputlist.h:115
void startTextLink(const char *file, const char *anchor)
Definition: outputlist.h:159
virtual QCString trGotoSourceCode()=0
bool parseText(const QCString &textStr)
Definition: outputlist.cpp:175
void endParagraph()
Definition: outputlist.h:117
void enableAll()
Definition: outputlist.cpp:59
Translator * theTranslator
Definition: language.cpp:157
QCString includeName() const
Definition: filedef.cpp:1784
void endTextLink()
Definition: outputlist.h:161
void FileDef::writeSummaryLinks ( OutputList ol)
virtual

Reimplemented from Definition.

Definition at line 611 of file filedef.cpp.

612 {
613  ol.pushGeneratorState();
617  LayoutDocEntry *lde;
618  bool first=TRUE;
619  SrcLangExt lang=getLanguage();
620  for (eli.toFirst();(lde=eli.current());++eli)
621  {
622  if ((lde->kind()==LayoutDocEntry::FileClasses &&
626  )
627  {
629  QCString label = lde->kind()==LayoutDocEntry::FileClasses ? "nested-classes" : "namespaces";
630  ol.writeSummaryLink(0,label,ls->title(lang),first);
631  first=FALSE;
632  }
633  else if (lde->kind()==LayoutDocEntry::MemberDecl)
634  {
636  MemberList * ml = getMemberList(lmd->type);
637  if (ml && ml->declVisible())
638  {
639  ol.writeSummaryLink(0,MemberList::listTypeAsString(ml->listType()),lmd->title(lang),first);
640  first=FALSE;
641  }
642  }
643  }
644  if (!first)
645  {
646  ol.writeString(" </div>\n");
647  }
648  ol.popGeneratorState();
649 }
MemberListType listType() const
Definition: memberlist.h:38
void writeString(const char *text)
Definition: outputlist.h:119
MemberListType type
Definition: layout.h:96
void disableAllBut(OutputGenerator::OutputType o)
Definition: outputlist.cpp:49
const bool FALSE
Definition: qglobal.h:370
static LayoutDocManager & instance()
Definition: layout.cpp:1359
bool declVisible(const ClassDef::CompoundType *filter=0) const
Definition: classlist.cpp:65
SrcLangExt
Definition: types.h:41
QCString title(SrcLangExt lang) const
Definition: layout.cpp:1440
bool declVisible() const
Definition: memberlist.cpp:256
Represents of a member declaration list with configurable title and subtitle.
Definition: layout.h:89
void popGeneratorState()
Definition: outputlist.cpp:121
void writeSummaryLink(const char *file, const char *anchor, const char *title, bool first)
Definition: outputlist.h:362
ClassSDict * m_classSDict
Definition: filedef.h:234
void pushGeneratorState()
Definition: outputlist.cpp:111
SrcLangExt getLanguage() const
NamespaceSDict * m_namespaceSDict
Definition: filedef.h:233
MemberList * getMemberList(MemberListType lt) const
Definition: filedef.cpp:1839
virtual Kind kind() const =0
Base class representing a piece of a documentation page.
Definition: layout.h:30
static QCString listTypeAsString(MemberListType type)
Definition: memberlist.cpp:907
bool declVisible() const
const bool TRUE
Definition: qglobal.h:371
QCString title(SrcLangExt lang) const
Definition: layout.cpp:1447
void FileDef::writeTagFile ( FTextStream t)

Definition at line 183 of file filedef.cpp.

184 {
185  tagFile << " <compound kind=\"file\">" << endl;
186  tagFile << " <name>" << convertToXML(name()) << "</name>" << endl;
187  tagFile << " <path>" << convertToXML(getPath()) << "</path>" << endl;
188  tagFile << " <filename>" << convertToXML(getOutputFileBase()) << "</filename>" << endl;
189  if (m_includeList && m_includeList->count()>0)
190  {
192  IncludeInfo *ii;
193  for (;(ii=ili.current());++ili)
194  {
195  if (!ii->indirect)
196  {
197  FileDef *fd=ii->fileDef;
198  if (fd && fd->isLinkable() && !fd->isReference())
199  {
200  bool isIDLorJava = FALSE;
201  SrcLangExt lang = fd->getLanguage();
202  isIDLorJava = lang==SrcLangExt_IDL || lang==SrcLangExt_Java;
203  const char *locStr = (ii->local || isIDLorJava) ? "yes" : "no";
204  const char *impStr = (ii->imported || isIDLorJava) ? "yes" : "no";
205  tagFile << " <includes id=\""
206  << convertToXML(fd->getOutputFileBase()) << "\" "
207  << "name=\"" << convertToXML(fd->name()) << "\" "
208  << "local=\"" << locStr << "\" "
209  << "imported=\"" << impStr << "\">"
210  << convertToXML(ii->includeName)
211  << "</includes>"
212  << endl;
213  }
214  }
215  }
216  }
219  LayoutDocEntry *lde;
220  for (eli.toFirst();(lde=eli.current());++eli)
221  {
222  switch (lde->kind())
223  {
225  {
226  if (m_classSDict)
227  {
229  ClassDef *cd;
230  for (ci.toFirst();(cd=ci.current());++ci)
231  {
232  if (cd->isLinkableInProject())
233  {
234  tagFile << " <class kind=\"" << cd->compoundTypeString() <<
235  "\">" << convertToXML(cd->name()) << "</class>" << endl;
236  }
237  }
238  }
239  }
240  break;
242  {
243  if (m_namespaceSDict)
244  {
246  NamespaceDef *nd;
247  for (ni.toFirst();(nd=ni.current());++ni)
248  {
249  if (nd->isLinkableInProject())
250  {
251  tagFile << " <namespace>" << convertToXML(nd->name()) << "</namespace>" << endl;
252  }
253  }
254  }
255  }
256  break;
258  {
260  MemberList * ml = getMemberList(lmd->type);
261  if (ml)
262  {
263  ml->writeTagFile(tagFile);
264  }
265  }
266  break;
268  {
269  if (m_memberGroupSDict)
270  {
272  MemberGroup *mg;
273  for (;(mg=mgli.current());++mgli)
274  {
275  mg->writeTagFile(tagFile);
276  }
277  }
278  }
279  break;
280  default:
281  break;
282  }
283  }
284 
285  writeDocAnchorsToTagFile(tagFile);
286  tagFile << " </compound>" << endl;
287 }
QCString convertToXML(const char *s)
Definition: util.cpp:5717
bool isLinkableInProject() const
Definition: classdef.cpp:2707
bool isLinkable() const
Definition: filedef.h:117
void writeTagFile(FTextStream &)
MemberListType type
Definition: layout.h:96
QCString compoundTypeString() const
Definition: classdef.cpp:3499
const bool FALSE
Definition: qglobal.h:370
friend class Iterator
Definition: sortdict.h:598
static LayoutDocManager & instance()
Definition: layout.cpp:1359
void writeTagFile(FTextStream &)
Definition: memberlist.cpp:963
virtual bool isReference() const
static constexpr double mg
Definition: Units.h:145
SrcLangExt
Definition: types.h:41
Represents of a member declaration list with configurable title and subtitle.
Definition: layout.h:89
void writeDocAnchorsToTagFile(FTextStream &)
Definition: definition.cpp:520
MemberGroupSDict * m_memberGroupSDict
Definition: filedef.h:232
Definition: sortdict.h:73
uint count() const
Definition: qlist.h:66
bool indirect
Definition: filedef.h:53
const QCString & name() const
Definition: definition.h:114
ClassSDict * m_classSDict
Definition: filedef.h:234
QCString name() const
Definition: filedef.cpp:1193
SrcLangExt getLanguage() const
NamespaceSDict * m_namespaceSDict
Definition: filedef.h:233
bool imported
Definition: filedef.h:52
QCString includeName
Definition: filedef.h:50
MemberList * getMemberList(MemberListType lt) const
Definition: filedef.cpp:1839
QCString getOutputFileBase() const
Definition: filedef.h:83
bool local
Definition: filedef.h:51
FileDef * fileDef
Definition: filedef.h:49
QCString getPath() const
Definition: filedef.h:110
virtual Kind kind() const =0
Base class representing a piece of a documentation page.
Definition: layout.h:30
QList< IncludeInfo > * m_includeList
Definition: filedef.h:215
bool isLinkableInProject() const
QTextStream & endl(QTextStream &s)

Friends And Related Function Documentation

friend class FileName
friend

Definition at line 66 of file filedef.h.

void generatedFileNames ( )
friend

Member Data Documentation

ClassSDict* FileDef::m_classSDict
private

Definition at line 234 of file filedef.h.

DirDef* FileDef::m_dir
private

Definition at line 230 of file filedef.h.

QCString FileDef::m_diskName
private

Definition at line 222 of file filedef.h.

QCString FileDef::m_docname
private

Definition at line 224 of file filedef.h.

QCString FileDef::m_fileName
private

Definition at line 223 of file filedef.h.

QCString FileDef::m_filePath
private

Definition at line 221 of file filedef.h.

QCString FileDef::m_fileVersion
private

Definition at line 228 of file filedef.h.

QDict<IncludeInfo>* FileDef::m_includedByDict
private

Definition at line 216 of file filedef.h.

QList<IncludeInfo>* FileDef::m_includedByList
private

Definition at line 217 of file filedef.h.

QDict<IncludeInfo>* FileDef::m_includeDict
private

Definition at line 214 of file filedef.h.

QList<IncludeInfo>* FileDef::m_includeList
private

Definition at line 215 of file filedef.h.

bool FileDef::m_isSource
private

Definition at line 227 of file filedef.h.

MemberGroupSDict* FileDef::m_memberGroupSDict
private

Definition at line 232 of file filedef.h.

QList<MemberList> FileDef::m_memberLists
private

Definition at line 231 of file filedef.h.

NamespaceSDict* FileDef::m_namespaceSDict
private

Definition at line 233 of file filedef.h.

PackageDef* FileDef::m_package
private

Definition at line 229 of file filedef.h.

QCString FileDef::m_path
private

Definition at line 220 of file filedef.h.

QIntDict<Definition>* FileDef::m_srcDefDict
private

Definition at line 225 of file filedef.h.

QIntDict<MemberDef>* FileDef::m_srcMemberDict
private

Definition at line 226 of file filedef.h.

bool FileDef::m_subGrouping
private

Definition at line 235 of file filedef.h.

SDict<Definition>* FileDef::m_usingDeclList
private

Definition at line 219 of file filedef.h.

NamespaceSDict* FileDef::m_usingDirList
private

Definition at line 218 of file filedef.h.

bool FileDef::visited

Definition at line 184 of file filedef.h.


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