Doxygen
Loading...
Searching...
No Matches
ModuleDefImpl Class Reference
+ Inheritance diagram for ModuleDefImpl:
+ Collaboration diagram for ModuleDefImpl:

Public Member Functions

 ModuleDefImpl (const QCString &fileName, int startLine, int startColom, const QCString &name, Type type, const QCString &partitionName)
 
DefType definitionType () const override
 
CodeSymbolType codeSymbolType () const override
 
QCString displayName (bool=TRUE) const override
 
QCString getOutputFileBase () const override
 
QCString anchor () const override
 
bool isLinkableInProject () const override
 
bool isLinkable () const override
 
QCString qualifiedName () const override
 
void writeSummaryLinks (OutputList &ol) const override
 
Type moduleType () const override
 
QCString partitionName () const override
 
void writeDocumentation (OutputList &ol) override
 
bool isPrimaryInterface () const override
 
MemberListgetMemberList (MemberListType lt) const override
 
const MemberListsgetMemberLists () const override
 
const MemberGroupListgetMemberGroups () const override
 
const ClassLinkedRefMapgetClasses () const override
 
const ConceptLinkedRefMapgetConcepts () const override
 
int countVisibleMembers () const override
 
FileDefgetFileDef () const override
 
const ImportInfoMapgetImports () const override
 
const ImportInfoMapgetExports () const override
 
const ModuleMappartitions () const override
 
void writeTagFile (TextStream &t) const override
 
FileList getUsedFiles () const override
 
void writeExports (OutputList &ol, const QCString &title)
 
void writeClassDeclarations (OutputList &ol, const QCString &title)
 
void writeConcepts (OutputList &ol, const QCString &title)
 
void writeFiles (OutputList &ol, const QCString &title)
 
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)
 
void writeMemberGroups (OutputList &ol)
 
void writeMemberDeclarations (OutputList &ol, MemberListType lt, const QCString &title)
 
void writeMemberDocumentation (OutputList &ol, MemberListType lt, const QCString &title)
 
void writeAuthorSection (OutputList &ol)
 
void writeDeclarationLink (OutputList &ol, bool &found, const QCString &header, bool localNames) const
 
void addHeader (int line, const QCString &headerName, bool isSystem)
 
void addImport (int line, const QCString &moduleName, const QCString &partitionName, bool isExported)
 
void addClassToModule (const Entry *root, ClassDef *cd)
 
void addConceptToModule (const Entry *root, ConceptDef *cd)
 
void addMemberToModule (const Entry *root, MemberDef *md)
 
void addPartition (ModuleDefImpl *mod)
 
void addContributingModule (ModuleDefImpl *mod)
 
void setPrimaryInterface (const ModuleDef *mod)
 
void setFileDef (FileDef *fd)
 
void addMemberToList (MemberListType lt, MemberDef *md)
 
void addExportedModule (const QCString &moduleName, const ImportInfo &info)
 
void addListReferences ()
 
void addMembersToMemberGroup ()
 
void distributeMemberGroupDocumentation ()
 
void findSectionsInDocumentation ()
 
void sortMemberLists ()
 
void mergeSymbolsFrom (ModuleDefImpl *other)
 
bool hasDetailedDescription () const
 
void countMembers ()
 
- Public Member Functions inherited from DefinitionMixin< ModuleDef >
 DefinitionMixin (const QCString &defFileName, int defLine, int defColumn, const QCString &name, const char *b=nullptr, const char *d=nullptr, bool isSymbol=TRUE)
 
 DefinitionMixin (const DefinitionMixin &other)
 
 DefinitionMixin (DefinitionMixin &&)=delete
 
DefinitionMixinoperator= (const DefinitionMixin &other)
 
DefinitionMixinoperator= (DefinitionMixin &&)=delete
 
 ~DefinitionMixin () override=default
 
bool isAlias () const override
 
const QCStringname () const override
 
bool isAnonymous () const override
 
const QCStringlocalName () const override
 
QCString symbolName () const override
 
QCString getSourceFileBase () const override
 
QCString getSourceAnchor () const override
 
QCString documentation () const override
 
int docLine () const override
 
QCString docFile () const override
 
QCString briefDescription (bool abbreviate=FALSE) const override
 
QCString briefDescriptionAsTooltip () const override
 
int briefLine () const override
 
QCString inbodyDocumentation () const override
 
QCString inbodyFile () const override
 
int inbodyLine () const override
 
QCString briefFile () const override
 
QCString getDefFileName () const override
 
QCString getDefFileExtension () const override
 
int getDefLine () const override
 
int getDefColumn () const override
 
bool hasDocumentation () const override
 
bool hasUserDocumentation () const override
 
bool isVisibleInProject () const override
 
bool isVisible () const override
 
bool isHidden () const override
 
bool isArtificial () const override
 
bool isExported () const override
 
QCString getReference () const override
 
bool isReference () const override
 
QCString externalReference (const QCString &relPath) const override
 
int getStartDefLine () const override
 
int getStartBodyLine () const override
 
int getEndBodyLine () const override
 
const FileDefgetBodyDef () const override
 
SrcLangExt getLanguage () const override
 
const GroupListpartOfGroups () const override
 
bool isLinkableViaGroup () const override
 
const RefItemVectorxrefListItems () const override
 
const DefinitionfindInnerCompound (const QCString &name) const override
 
DefinitiongetOuterScope () const override
 
const MemberVectorgetReferencesMembers () const override
 
const MemberVectorgetReferencedByMembers () const override
 
bool hasSections () const override
 
bool hasSources () const override
 
bool hasBriefDescription () const override
 
QCString id () const override
 
const SectionRefsgetSectionRefs () const override
 
void setName (const QCString &name) override
 
void setId (const QCString &name) override
 
void setDefFile (const QCString &df, int defLine, int defColumn) override
 
void setDocumentation (const QCString &doc, const QCString &docFile, int docLine, bool stripWhiteSpace=TRUE) override
 
void setBriefDescription (const QCString &brief, const QCString &briefFile, int briefLine) override
 
void setInbodyDocumentation (const QCString &doc, const QCString &docFile, int docLine) override
 
void setReference (const QCString &r) override
 
void addSectionsToDefinition (const std::vector< const SectionInfo * > &anchorList) override
 
void setBodySegment (int defLine, int bls, int ble) override
 
void setBodyDef (const FileDef *fd) override
 
void addSourceReferencedBy (MemberDef *md, const QCString &sourceRefName) override
 
void addSourceReferences (MemberDef *md, const QCString &sourceRefName) override
 
void setRefItems (const RefItemVector &sli) override
 
void mergeRefItems (Definition *def) override
 
void mergeReferences (const Definition *other) override
 
void mergeReferencedBy (const Definition *other) override
 
void addInnerCompound (Definition *def) override
 
void setOuterScope (Definition *def) override
 
void setHidden (bool b) override
 
void setArtificial (bool b) override
 
void setExported (bool b) override
 
void setLanguage (SrcLangExt lang) override
 
void writeSourceDef (OutputList &ol) const override
 
void writeInlineCode (OutputList &ol, const QCString &scopeName) const override
 
bool hasSourceRefs () const override
 
bool hasSourceReffedBy () const override
 
void writeSourceRefs (OutputList &ol, const QCString &scopeName) const override
 
void writeSourceReffedBy (OutputList &ol, const QCString &scopeName) const override
 
void makePartOfGroup (GroupDef *gd) override
 
void writeNavigationPath (OutputList &ol) const override
 
QCString navigationPathAsString () const override
 
void writeQuickMemberLinks (OutputList &ol, const MemberDef *md) const override
 
QCString pathFragment () const override
 
void writeDocAnchorsToTagFile (TextStream &fs) const override
 
void setLocalName (const QCString &name) override
 
void writeToc (OutputList &ol, const LocalToc &lt) const override
 
void computeTooltip () override
 
void _setSymbolName (const QCString &name) override
 
QCString _symbolName () const override
 
- Public Member Functions inherited from ModuleDef
- Public Member Functions inherited from DefinitionMutable
- Public Member Functions inherited from Definition

Private Attributes

Type m_type
 
QCString m_partitionName
 
ImportInfoMap m_imports
 
ImportInfoMap m_exportedModules
 
ClassLinkedRefMap m_classes
 
ConceptLinkedRefMap m_concepts
 
MemberLists m_memberLists
 
ModuleMap m_partitions
 
ModuleList m_contributing
 
MemberGroupList m_memberGroups
 
const ModuleDefm_primaryInterface = nullptr
 
FileDefm_fileDef = nullptr
 

Additional Inherited Members

- Public Types inherited from ModuleDef
enum class  Type { Interface , Implementation }
 
- Public Types inherited from Definition
enum  DefType {
  TypeClass = 0 , TypeFile = 1 , TypeNamespace = 2 , TypeModule = 3 ,
  TypeMember = 4 , TypeGroup = 5 , TypePackage = 6 , TypePage = 7 ,
  TypeDir = 8 , TypeConcept = 9
}
 

Detailed Description

Definition at line 48 of file moduledef.cpp.

Constructor & Destructor Documentation

◆ ModuleDefImpl()

ModuleDefImpl::ModuleDefImpl ( const QCString & fileName,
int startLine,
int startColom,
const QCString & name,
Type type,
const QCString & partitionName )
inline

Definition at line 51 of file moduledef.cpp.

53 : DefinitionMixin<ModuleDef>(fileName,startLine,startColom,name,nullptr,nullptr,true),
virtual const QCString & name() const =0
DefinitionMixin(const QCString &defFileName, int defLine, int defColumn, const QCString &name, const char *b=nullptr, const char *d=nullptr, bool isSymbol=TRUE)
QCString partitionName() const override
Definition moduledef.cpp:69
QCString m_partitionName

References DefinitionMixin< ModuleDef >::DefinitionMixin(), m_partitionName, m_type, Definition::name(), and partitionName().

Referenced by addContributingModule(), addPartition(), and mergeSymbolsFrom().

Member Function Documentation

◆ addClassToModule()

void ModuleDefImpl::addClassToModule ( const Entry * root,
ClassDef * cd )

Definition at line 197 of file moduledef.cpp.

198{
199 QCString className = cd->qualifiedName();
200 AUTO_TRACE("{}:{} class {} of module {} exported={}",
201 root->fileName,root->startLine, className, name(), root->exported);
202 bool isExported = m_classes.find(className)!=nullptr;
203 if (root->exported && !isExported)
204 {
205 m_classes.add(className,cd);
206 }
207 auto cdm = toClassDefMutable(cd);
208 if (cdm && root->exported && !cd->isExported())
209 {
210 cdm->setExported(true);
211 }
212}
virtual bool isExported() const =0
virtual QCString qualifiedName() const =0
bool exported
is the symbol exported from a C++20 module
Definition entry.h:189
QCString fileName
file this entry was extracted from
Definition entry.h:223
int startLine
start line of entry in the source
Definition entry.h:224
ClassLinkedRefMap m_classes
ClassDefMutable * toClassDefMutable(Definition *d)
#define AUTO_TRACE(...)
Definition docnode.cpp:46

References AUTO_TRACE, Entry::exported, Entry::fileName, Definition::isExported(), m_classes, Definition::name(), Definition::qualifiedName(), Entry::startLine, and toClassDefMutable().

Referenced by ModuleManager::addClassToModule().

◆ addConceptToModule()

void ModuleDefImpl::addConceptToModule ( const Entry * root,
ConceptDef * cd )

Definition at line 214 of file moduledef.cpp.

215{
216 QCString conceptName = cd->qualifiedName();
217 AUTO_TRACE("{}:{} concept {} of module {} exported={}",
218 root->fileName,root->startLine,
219 cd->qualifiedName(),name(),
220 root->exported);
221 bool isExported = m_classes.find(conceptName)!=nullptr;
222 if (root->exported && !isExported)
223 {
224 m_concepts.add(conceptName,cd);
225 }
226 auto cdm = toConceptDefMutable(cd);
227 if (cdm && root->exported && !cd->isExported())
228 {
229 cdm->setExported(true);
230 }
231}
ConceptLinkedRefMap m_concepts
ConceptDefMutable * toConceptDefMutable(Definition *d)

References AUTO_TRACE, Entry::exported, Entry::fileName, Definition::isExported(), m_classes, m_concepts, Definition::name(), Definition::qualifiedName(), Entry::startLine, and toConceptDefMutable().

Referenced by ModuleManager::addConceptToModule().

◆ addContributingModule()

void ModuleDefImpl::addContributingModule ( ModuleDefImpl * mod)

Definition at line 162 of file moduledef.cpp.

163{
164 if (std::find(m_contributing.begin(),m_contributing.end(),mod)==m_contributing.end())
165 {
166 m_contributing.push_back(mod);
167 }
168}
ModuleList m_contributing

References m_contributing, and ModuleDefImpl().

Referenced by ModuleManager::collectExportedSymbols().

◆ addExportedModule()

void ModuleDefImpl::addExportedModule ( const QCString & moduleName,
const ImportInfo & info )

Definition at line 191 of file moduledef.cpp.

192{
193 AUTO_TRACE("name={}:moduleName={},import={}",name(),moduleName,info.importName);
194 m_exportedModules.emplace(moduleName.str(),info);
195}
const QCString & name() const override
ImportInfoMap m_exportedModules
const std::string & str() const
Definition qcstring.h:526
QCString importName
Definition moduledef.h:44

References AUTO_TRACE, ImportInfo::importName, m_exportedModules, DefinitionMixin< ModuleDef >::name(), and QCString::str().

Referenced by ModuleManager::resolvePartitions(), and ModuleManager::resolvePartitionsRecursively().

◆ addHeader()

void ModuleDefImpl::addHeader ( int line,
const QCString & headerName,
bool isSystem )

Definition at line 180 of file moduledef.cpp.

181{
182 AUTO_TRACE("name={}:line={},header={},isSystem={}",name(),line,headerName,isSystem);
183}

References AUTO_TRACE, and DefinitionMixin< ModuleDef >::name().

Referenced by ModuleManager::addHeader().

◆ addImport()

void ModuleDefImpl::addImport ( int line,
const QCString & moduleName,
const QCString & partitionName,
bool isExported )

Definition at line 185 of file moduledef.cpp.

186{
187 AUTO_TRACE("name={}:line={},module={},partition={}",name(),line,moduleName,partitionName);
188 m_imports.emplace(getDefFileName().str()+":"+std::to_string(line),ImportInfo(this,moduleName,line,partitionName,isExported));
189}
QCString getDefFileName() const override
ImportInfoMap m_imports

References AUTO_TRACE, DefinitionMixin< ModuleDef >::getDefFileName(), Definition::isExported(), DefinitionMixin< ModuleDef >::isExported(), m_imports, DefinitionMixin< ModuleDef >::name(), and partitionName().

Referenced by ModuleManager::addImport().

◆ addListReferences()

void ModuleDefImpl::addListReferences ( )

Definition at line 647 of file moduledef.cpp.

648{
649 const RefItemVector &xrefItems = xrefListItems();
650 addRefItem(xrefItems,
656 QCString(),
657 this
658 );
659 for (const auto &mg : m_memberGroups)
660 {
661 mg->addListReferences(this);
662 }
663 for (auto &ml : m_memberLists)
664 {
665 if (ml->listType().isDocumentation())
666 {
667 ml->addListReferences(this);
668 }
669 }
670}
const RefItemVector & xrefListItems() const override
SrcLangExt getLanguage() const override
QCString getOutputFileBase() const override
QCString qualifiedName() const override
MemberLists m_memberLists
QCString displayName(bool=TRUE) const override
Definition moduledef.cpp:59
MemberGroupList m_memberGroups
virtual QCString trNamespace(bool first_capital, bool singular)=0
virtual QCString trModule(bool first_capital, bool singular)=0
Translator * theTranslator
Definition language.cpp:71
#define TRUE
Definition qcstring.h:37
std::vector< RefItem * > RefItemVector
Definition reflist.h:133
@ Fortran
Definition types.h:53
void addRefItem(const RefItemVector &sli, const QCString &key, const QCString &prefix, const QCString &name, const QCString &title, const QCString &args, const Definition *scope)
Definition util.cpp:5146

References addRefItem(), displayName(), Fortran, DefinitionMixin< ModuleDef >::getLanguage(), getOutputFileBase(), m_memberGroups, m_memberLists, qualifiedName(), theTranslator, Translator::trModule(), Translator::trNamespace(), TRUE, and DefinitionMixin< ModuleDef >::xrefListItems().

Referenced by ModuleManager::addListReferences().

◆ addMembersToMemberGroup()

void ModuleDefImpl::addMembersToMemberGroup ( )

Definition at line 672 of file moduledef.cpp.

673{
674 for (auto &ml : m_memberLists)
675 {
676 if (ml->listType().isDeclaration())
677 {
679 }
680 }
681
682 // add members inside sections to their groups
683 for (const auto &mg : m_memberGroups)
684 {
685 if (mg->allMembersInSameSection() && Config_getBool(SUBGROUPING))
686 {
687 //printf("----> addToDeclarationSection(%s)\n",qPrint(mg->header()));
688 mg->addToDeclarationSection();
689 }
690 }
691}
void addMembersToMemberGroup()
#define Config_getBool(name)
Definition config.h:33

References addMembersToMemberGroup(), Config_getBool, m_memberGroups, and m_memberLists.

Referenced by addMembersToMemberGroup(), and ModuleManager::addMembersToMemberGroup().

◆ addMemberToList()

void ModuleDefImpl::addMemberToList ( MemberListType lt,
MemberDef * md )

Definition at line 245 of file moduledef.cpp.

246{
247 bool sortBriefDocs = Config_getBool(SORT_BRIEF_DOCS);
248 bool sortMemberDocs = Config_getBool(SORT_MEMBER_DOCS);
250 ml->setNeedsSorting(
251 (ml->listType().isDeclaration() && sortBriefDocs) ||
252 (ml->listType().isDocumentation() && sortMemberDocs));
253 ml->push_back(md);
254 if (ml->listType().isDeclaration())
255 {
256 MemberDefMutable *mdm = toMemberDefMutable(md);
257 if (mdm)
258 {
259 mdm->setSectionList(this,ml.get());
260 }
261 }
262}
virtual void setSectionList(const Definition *container, const MemberList *sl)=0
MemberDefMutable * toMemberDefMutable(Definition *d)

References Config_getBool, m_memberLists, Module, MemberDefMutable::setSectionList(), and toMemberDefMutable().

Referenced by addMemberToModule().

◆ addMemberToModule()

void ModuleDefImpl::addMemberToModule ( const Entry * root,
MemberDef * md )

Definition at line 264 of file moduledef.cpp.

265{
266 AUTO_TRACE("{}:{} member {} of module {} exported={}",
267 qPrint(root->fileName),root->startLine,
269 root->exported);
270 MemberList *allMemberList = getMemberList(MemberListType::AllMembersList());
271 if (allMemberList==nullptr)
272 {
273 m_memberLists.emplace_back(std::make_unique<MemberList>(MemberListType::AllMembersList(),MemberListContainer::Module));
274 allMemberList = m_memberLists.back().get();
275 }
276 if (allMemberList->contains(md))
277 {
278 return;
279 }
280 allMemberList->push_back(md);
281 switch (md->memberType())
282 {
284 addMemberToList(MemberListType::DecVarMembers(),md);
285 break;
287 addMemberToList(MemberListType::DecFuncMembers(),md);
288 break;
290 addMemberToList(MemberListType::DecTypedefMembers(),md);
291 break;
293 addMemberToList(MemberListType::DecEnumMembers(),md);
294 break;
295 default:
296 break;
297 }
298 auto mdm = toMemberDefMutable(md);
299 if (mdm && root->exported && !md->isExported())
300 {
301 mdm->setExported(true);
302 }
303}
virtual MemberType memberType() const =0
bool contains(const MemberDef *md) const
Definition memberlist.h:88
void push_back(const T &value)
Definition memberlist.h:47
MemberList * getMemberList(MemberListType lt) const override
void addMemberToList(MemberListType lt, MemberDef *md)
const char * qPrint(const char *s)
Definition qcstring.h:661
@ Enumeration
Definition types.h:395
@ Variable
Definition types.h:393
@ Typedef
Definition types.h:394
@ Function
Definition types.h:392

References addMemberToList(), AUTO_TRACE, MemberVector::contains(), Enumeration, Entry::exported, Entry::fileName, Function, getMemberList(), Definition::isExported(), m_memberLists, MemberDef::memberType(), Module, DefinitionMixin< ModuleDef >::name(), MemberVector::push_back(), qPrint(), Definition::qualifiedName(), Entry::startLine, toMemberDefMutable(), Typedef, and Variable.

Referenced by ModuleManager::addMemberToModule().

◆ addPartition()

void ModuleDefImpl::addPartition ( ModuleDefImpl * mod)

Definition at line 153 of file moduledef.cpp.

154{
155 std::string qName = mod->qualifiedName().str();
156 if (m_partitions.find(qName)==m_partitions.end())
157 {
158 m_partitions.emplace(qName,mod);
159 }
160}
ModuleMap m_partitions

References m_partitions, ModuleDefImpl(), qualifiedName(), and QCString::str().

Referenced by ModuleManager::resolvePartitionsRecursively().

◆ anchor()

QCString ModuleDefImpl::anchor ( ) const
inlineoverridevirtual

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

Implements Definition.

Definition at line 61 of file moduledef.cpp.

61{ return ""; }

Referenced by writeDeclarationLink().

◆ codeSymbolType()

CodeSymbolType ModuleDefImpl::codeSymbolType ( ) const
inlineoverridevirtual

Used for syntax highlighting symbol class

Implements Definition.

Definition at line 58 of file moduledef.cpp.

References Module.

◆ countMembers()

void ModuleDefImpl::countMembers ( )

Definition at line 633 of file moduledef.cpp.

634{
635 for (auto &ml : m_memberLists)
636 {
637 ml->countDecMembers();
638 ml->countDocMembers();
639 }
640 for (const auto &mg : m_memberGroups)
641 {
642 mg->countDecMembers();
643 mg->countDocMembers();
644 }
645}

References m_memberGroups, and m_memberLists.

Referenced by ModuleManager::countMembers().

◆ countVisibleMembers()

int ModuleDefImpl::countVisibleMembers ( ) const
overridevirtual

Implements ModuleDef.

Definition at line 979 of file moduledef.cpp.

980{
981 int count=0;
982 for (const auto &lde : LayoutDocManager::instance().docEntries(LayoutDocManager::Module))
983 {
984 if (lde->kind()==LayoutDocEntry::MemberDecl)
985 {
986 const LayoutDocEntryMemberDecl *lmd = dynamic_cast<const LayoutDocEntryMemberDecl*>(lde.get());
987 if (lmd)
988 {
989 MemberList *ml = getMemberList(lmd->type);
990 if (ml)
991 {
992 for (const auto &md : *ml)
993 {
994 if (md->visibleInIndex())
995 {
996 count++;
997 }
998 }
999 }
1000 }
1001 }
1002 else if (lde->kind()==LayoutDocEntry::ModuleClasses)
1003 {
1004 for (const auto &cd : getClasses())
1005 {
1006 if (cd->isLinkableInProject())
1007 {
1008 count++;
1009 }
1010 }
1011 }
1012 else if (lde->kind()==LayoutDocEntry::ModuleConcepts)
1013 {
1014 for (const auto &cd : getConcepts())
1015 {
1016 if (cd->isLinkableInProject())
1017 {
1018 count++;
1019 }
1020 }
1021 }
1022 }
1023 return count;
1024}
static LayoutDocManager & instance()
Returns a reference to this singleton.
Definition layout.cpp:1423
const ClassLinkedRefMap & getClasses() const override
Definition moduledef.cpp:75
const ConceptLinkedRefMap & getConcepts() const override
Definition moduledef.cpp:76
MemberListType type
Definition layout.h:115

References getClasses(), getConcepts(), getMemberList(), LayoutDocManager::instance(), and LayoutDocEntryMemberDecl::type.

◆ definitionType()

DefType ModuleDefImpl::definitionType ( ) const
inlineoverridevirtual

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

Implements Definition.

Definition at line 57 of file moduledef.cpp.

57{ return TypeModule; }

References Definition::TypeModule.

◆ displayName()

QCString ModuleDefImpl::displayName ( bool includeScope = TRUE) const
inlineoverridevirtual

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

Implements Definition.

Definition at line 59 of file moduledef.cpp.

59{ return name(); }

References DefinitionMixin< ModuleDef >::name().

Referenced by addListReferences(), writeDeclarationLink(), and writeDocumentation().

◆ distributeMemberGroupDocumentation()

void ModuleDefImpl::distributeMemberGroupDocumentation ( )

Definition at line 693 of file moduledef.cpp.

694{
695 for (const auto &mg : m_memberGroups)
696 {
697 mg->distributeMemberGroupDocumentation();
698 }
699}

References m_memberGroups.

Referenced by ModuleManager::distributeMemberGroupDocumentation().

◆ endMemberDeclarations()

void ModuleDefImpl::endMemberDeclarations ( OutputList & ol)

Definition at line 493 of file moduledef.cpp.

494{
496}
void endMemberSections()
Definition outputlist.h:464

References OutputList::endMemberSections().

Referenced by writeDocumentation().

◆ endMemberDocumentation()

void ModuleDefImpl::endMemberDocumentation ( OutputList & ol)

Definition at line 507 of file moduledef.cpp.

508{
509 if (Config_getBool(SEPARATE_MEMBER_PAGES))
510 {
513 }
514}
static bool suppressDocWarnings
Definition doxygen.h:132
void enable(OutputType o)
#define FALSE
Definition qcstring.h:34

References Config_getBool, OutputList::enable(), FALSE, Html, and Doxygen::suppressDocWarnings.

Referenced by writeDocumentation().

◆ findSectionsInDocumentation()

void ModuleDefImpl::findSectionsInDocumentation ( )

Definition at line 701 of file moduledef.cpp.

702{
706 for (const auto &mg : m_memberGroups)
707 {
708 mg->findSectionsInDocumentation(this);
709 }
710 for (auto &ml : m_memberLists)
711 {
712 if (ml->listType().isDeclaration())
713 {
714 ml->findSectionsInDocumentation(this);
715 }
716 }
717}
QCString docFile() const override
QCString briefDescription(bool abbreviate=FALSE) const override
QCString inbodyDocumentation() const override
QCString documentation() const override
void docFindSections(const QCString &input, const Definition *d, const QCString &fileName)

References DefinitionMixin< ModuleDef >::briefDescription(), DefinitionMixin< ModuleDef >::docFile(), docFindSections(), DefinitionMixin< ModuleDef >::documentation(), DefinitionMixin< ModuleDef >::inbodyDocumentation(), m_memberGroups, and m_memberLists.

Referenced by ModuleManager::findSectionsInDocumentation().

◆ getClasses()

const ClassLinkedRefMap & ModuleDefImpl::getClasses ( ) const
inlineoverridevirtual

Implements ModuleDef.

Definition at line 75 of file moduledef.cpp.

75{ return m_classes; }

References m_classes.

Referenced by countVisibleMembers(), and mergeSymbolsFrom().

◆ getConcepts()

const ConceptLinkedRefMap & ModuleDefImpl::getConcepts ( ) const
inlineoverridevirtual

Implements ModuleDef.

Definition at line 76 of file moduledef.cpp.

76{ return m_concepts; }

References m_concepts.

Referenced by countVisibleMembers(), and mergeSymbolsFrom().

◆ getExports()

const ImportInfoMap & ModuleDefImpl::getExports ( ) const
inlineoverridevirtual

Implements ModuleDef.

Definition at line 80 of file moduledef.cpp.

80{ return m_exportedModules; }

References m_exportedModules.

◆ getFileDef()

FileDef * ModuleDefImpl::getFileDef ( ) const
inlineoverridevirtual

Implements ModuleDef.

Definition at line 78 of file moduledef.cpp.

78{ return m_fileDef; }
FileDef * m_fileDef

References m_fileDef.

Referenced by writeTagFile().

◆ getImports()

const ImportInfoMap & ModuleDefImpl::getImports ( ) const
inlineoverridevirtual

Implements ModuleDef.

Definition at line 79 of file moduledef.cpp.

79{ return m_imports; }

References m_imports.

◆ getMemberGroups()

const MemberGroupList & ModuleDefImpl::getMemberGroups ( ) const
inlineoverridevirtual

Implements ModuleDef.

Definition at line 74 of file moduledef.cpp.

74{ return m_memberGroups; }

References m_memberGroups.

◆ getMemberList()

MemberList * ModuleDefImpl::getMemberList ( MemberListType lt) const
overridevirtual

Implements ModuleDef.

Definition at line 233 of file moduledef.cpp.

234{
235 for (auto &ml : m_memberLists)
236 {
237 if (ml->listType()==lt)
238 {
239 return ml.get();
240 }
241 }
242 return nullptr;
243}

References m_memberLists.

Referenced by addMemberToModule(), countVisibleMembers(), mergeSymbolsFrom(), writeMemberDeclarations(), writeMemberDocumentation(), writeSummaryLinks(), and writeTagFile().

◆ getMemberLists()

const MemberLists & ModuleDefImpl::getMemberLists ( ) const
inlineoverridevirtual

Implements ModuleDef.

Definition at line 73 of file moduledef.cpp.

73{ return m_memberLists; }

References m_memberLists.

◆ getOutputFileBase()

QCString ModuleDefImpl::getOutputFileBase ( ) const
overridevirtual

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

Implements Definition.

Definition at line 138 of file moduledef.cpp.

139{
140 return convertNameToFile("module_" + name());
141}
QCString convertNameToFile(const QCString &name, bool allowDots, bool allowUnderscore)
Definition util.cpp:3858

References convertNameToFile(), and DefinitionMixin< ModuleDef >::name().

Referenced by addListReferences(), writeDeclarationLink(), writeDocumentation(), and writeTagFile().

◆ getUsedFiles()

FileList ModuleDefImpl::getUsedFiles ( ) const
overridevirtual

Implements ModuleDef.

Definition at line 968 of file moduledef.cpp.

969{
970 FileList result;
971 for (const auto &mod : m_contributing)
972 {
973 FileDef *fd = mod->getFileDef();
974 if (fd) result.push_back(fd);
975 }
976 return result;
977}

References m_contributing.

Referenced by writeTagFile().

◆ hasDetailedDescription()

bool ModuleDefImpl::hasDetailedDescription ( ) const

Definition at line 627 of file moduledef.cpp.

628{
629 bool repeatBrief = Config_getBool(REPEAT_BRIEF);
630 return (!briefDescription().isEmpty() && repeatBrief) || !documentation().isEmpty();
631}
bool isEmpty() const
Returns TRUE iff the string is empty.
Definition qcstring.h:150

References DefinitionMixin< ModuleDef >::briefDescription(), Config_getBool, DefinitionMixin< ModuleDef >::documentation(), and QCString::isEmpty().

Referenced by writeBriefDescription(), and writeDetailedDescription().

◆ isLinkable()

bool ModuleDefImpl::isLinkable ( ) const
inlineoverridevirtual

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 63 of file moduledef.cpp.

63{ return hasDocumentation(); }
bool hasDocumentation() const override

References DefinitionMixin< ModuleDef >::hasDocumentation().

Referenced by isLinkableInProject(), and writeDeclarationLink().

◆ isLinkableInProject()

bool ModuleDefImpl::isLinkableInProject ( ) const
inlineoverridevirtual

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

Implements Definition.

Definition at line 62 of file moduledef.cpp.

62{ return isLinkable() && !isHidden() && !isReference(); }
bool isReference() const override
bool isHidden() const override
bool isLinkable() const override
Definition moduledef.cpp:63

References DefinitionMixin< ModuleDef >::isHidden(), isLinkable(), and DefinitionMixin< ModuleDef >::isReference().

Referenced by writeTagFile().

◆ isPrimaryInterface()

bool ModuleDefImpl::isPrimaryInterface ( ) const
inlineoverridevirtual

Implements ModuleDef.

Definition at line 71 of file moduledef.cpp.

71{ return m_type==Type::Interface && m_partitionName.isEmpty(); }

References ModuleDef::Interface, m_partitionName, and m_type.

Referenced by writeTagFile().

◆ mergeSymbolsFrom()

void ModuleDefImpl::mergeSymbolsFrom ( ModuleDefImpl * other)

Definition at line 305 of file moduledef.cpp.

306{
307 AUTO_TRACE("{} merging symbols of {} ({}:{})",
308 name(),other->qualifiedName(),other->getDefFileName(),other->getDefLine());
309 for (const auto &cd : other->getClasses())
310 {
311 m_classes.add(cd->qualifiedName(),cd);
312 }
313 for (const auto &cd : other->getConcepts())
314 {
315 m_concepts.add(cd->qualifiedName(),cd);
316 }
317 auto mergeMemberList = [this,other](MemberListType lt)
318 {
319 const auto srcMl = other->getMemberList(lt);
320 if (srcMl)
321 {
322 auto &dstMl = m_memberLists.get(lt,srcMl->container());
323 for (const auto &md : *srcMl)
324 {
325 dstMl->push_back(md);
326 }
327 }
328 };
329 mergeMemberList(MemberListType::DecVarMembers());
330 mergeMemberList(MemberListType::DecFuncMembers());
331 mergeMemberList(MemberListType::DecTypedefMembers());
332 mergeMemberList(MemberListType::DecEnumMembers());
333}
int getDefLine() const override

References AUTO_TRACE, getClasses(), getConcepts(), DefinitionMixin< Base >::getDefFileName(), DefinitionMixin< Base >::getDefLine(), getMemberList(), m_classes, m_concepts, m_memberLists, ModuleDefImpl(), DefinitionMixin< ModuleDef >::name(), and qualifiedName().

◆ moduleType()

Type ModuleDefImpl::moduleType ( ) const
inlineoverridevirtual

Implements ModuleDef.

Definition at line 68 of file moduledef.cpp.

68{ return m_type; }

References m_type.

◆ partitionName()

QCString ModuleDefImpl::partitionName ( ) const
inlineoverridevirtual

Implements ModuleDef.

Definition at line 69 of file moduledef.cpp.

69{ return m_partitionName; }

References m_partitionName.

Referenced by addImport(), and ModuleDefImpl().

◆ partitions()

const ModuleMap & ModuleDefImpl::partitions ( ) const
inlineoverridevirtual

Implements ModuleDef.

Definition at line 81 of file moduledef.cpp.

81{ return m_partitions; }

References m_partitions.

◆ qualifiedName()

QCString ModuleDefImpl::qualifiedName ( ) const
overridevirtual

Returns the fully qualified name of this definition

Reimplemented from DefinitionMixin< ModuleDef >.

Definition at line 143 of file moduledef.cpp.

144{
145 QCString result=name();
146 if (!m_partitionName.isEmpty())
147 {
148 result+=":"+m_partitionName;
149 }
150 return result;
151}

References m_partitionName, and DefinitionMixin< ModuleDef >::name().

Referenced by addListReferences(), addPartition(), and mergeSymbolsFrom().

◆ setFileDef()

void ModuleDefImpl::setFileDef ( FileDef * fd)

Definition at line 175 of file moduledef.cpp.

176{
177 m_fileDef = fd;
178}

References m_fileDef.

Referenced by ModuleManager::resolvePartitions().

◆ setPrimaryInterface()

void ModuleDefImpl::setPrimaryInterface ( const ModuleDef * mod)

Definition at line 170 of file moduledef.cpp.

171{
172 m_primaryInterface = mod;
173}
const ModuleDef * m_primaryInterface

References m_primaryInterface.

Referenced by ModuleManager::resolvePartitionsRecursively().

◆ sortMemberLists()

void ModuleDefImpl::sortMemberLists ( )

Definition at line 719 of file moduledef.cpp.

720{
721 for (auto &ml : m_memberLists)
722 {
723 if (ml->needsSorting()) { ml->sort(); ml->setNeedsSorting(FALSE); }
724 }
725
726 if (Config_getBool(SORT_BRIEF_DOCS))
727 {
728 auto classComp = [](const ClassLinkedRefMap::Ptr &c1,const ClassLinkedRefMap::Ptr &c2)
729 {
730 return Config_getBool(SORT_BY_SCOPE_NAME) ?
731 qstricmp_sort(c1->name(), c2->name())<0 :
732 qstricmp_sort(c1->className(), c2->className())<0;
733 };
734 std::stable_sort(m_classes.begin(), m_classes.end(), classComp);
735
736 auto conceptComp = [](const ConceptLinkedRefMap::Ptr &c1,const ConceptLinkedRefMap::Ptr &c2)
737 {
738 return Config_getBool(SORT_BY_SCOPE_NAME) ?
739 qstricmp_sort(c1->qualifiedName(), c2->qualifiedName())<0 :
740 qstricmp_sort(c1->name(), c2->name())<0;
741 };
742 std::stable_sort(m_concepts.begin(), m_concepts.end(), conceptComp);
743 }
744
745 static auto contrComp = [](const ModuleDef *m1, const ModuleDef *m2)
746 {
747 FileDef *f1 = m1->getFileDef();
748 FileDef *f2 = m2->getFileDef();
749 QCString fn1 = f1 ? f1->name() : m1->name();
750 QCString fn2 = f2 ? f2->name() : m2->name();
751 static auto typeRank = [](const ModuleDef *m) -> int
752 {
753 if (m->moduleType()==ModuleDef::Type::Interface)
754 {
755 if (m->partitionName().isEmpty()) return 0; // primary interface unit
756 return 1; // partition interface unit
757 }
758 else
759 {
760 if (!m->partitionName().isEmpty()) return 2; // partition implementation unit
761 return 3; // implementation unit
762 }
763 };
764 auto tr1 = typeRank(m1);
765 auto tr2 = typeRank(m2);
766 int diff = qstricmp_sort(fn1,fn2);
767 return tr1<tr2 || (tr1==tr2 && diff<0);
768 };
769
770 std::stable_sort(m_contributing.begin(), m_contributing.end(), contrComp);
771}
virtual QCString className() const =0
Returns the name of the class including outer classes, but not including namespaces.
virtual FileDef * getFileDef() const =0
int qstricmp_sort(const char *str1, const char *str2)
Definition qcstring.h:86

References ClassDef::className(), Config_getBool, FALSE, ModuleDef::getFileDef(), ModuleDef::Interface, m_classes, m_concepts, m_contributing, m_memberLists, Definition::name(), qstricmp_sort(), and Definition::qualifiedName().

Referenced by ModuleManager::sortMemberLists().

◆ startMemberDeclarations()

void ModuleDefImpl::startMemberDeclarations ( OutputList & ol)

Definition at line 488 of file moduledef.cpp.

489{
491}
void startMemberSections()
Definition outputlist.h:462

References OutputList::startMemberSections().

Referenced by writeDocumentation().

◆ startMemberDocumentation()

void ModuleDefImpl::startMemberDocumentation ( OutputList & ol)

Definition at line 498 of file moduledef.cpp.

499{
500 if (Config_getBool(SEPARATE_MEMBER_PAGES))
501 {
504 }
505}
void disable(OutputType o)

References Config_getBool, OutputList::disable(), Html, Doxygen::suppressDocWarnings, and TRUE.

Referenced by writeDocumentation().

◆ writeAuthorSection()

void ModuleDefImpl::writeAuthorSection ( OutputList & ol)

Definition at line 615 of file moduledef.cpp.

616{
617 // write Author section (Man only)
620 ol.startGroupHeader();
622 ol.endGroupHeader();
625}
void startGroupHeader(int extraLevels=0)
Definition outputlist.h:454
void pushGeneratorState()
void disableAllBut(OutputType o)
void popGeneratorState()
void endGroupHeader(int extraLevels=0)
Definition outputlist.h:456
void parseText(const QCString &textStr)
virtual QCString trGeneratedAutomatically(const QCString &s)=0
virtual QCString trAuthor(bool first_capital, bool singular)=0
#define Config_getString(name)
Definition config.h:32

References Config_getString, OutputList::disableAllBut(), OutputList::endGroupHeader(), Man, OutputList::parseText(), OutputList::popGeneratorState(), OutputList::pushGeneratorState(), OutputList::startGroupHeader(), theTranslator, Translator::trAuthor(), Translator::trGeneratedAutomatically(), and TRUE.

Referenced by writeDocumentation().

◆ writeBriefDescription()

void ModuleDefImpl::writeBriefDescription ( OutputList & ol)

Definition at line 559 of file moduledef.cpp.

560{
562 {
563 auto parser { createDocParser() };
564 auto ast { validatingParseDoc(*parser.get(),
565 briefFile(),briefLine(),this,nullptr,
567 QCString(),TRUE,FALSE,Config_getBool(MARKDOWN_SUPPORT)) };
568 if (!ast->isEmpty())
569 {
570 ol.startParagraph();
573 ol.writeString(" - ");
575 ol.writeDoc(ast.get(),this,nullptr);
578 ol.writeString(" \n");
580
582 {
584 ol.startTextLink(QCString(),"details");
586 ol.endTextLink();
587 }
589 ol.endParagraph();
590 }
591 }
592 ol.writeSynopsis();
593}
virtual QCString briefFile() const =0
bool hasBriefDescription() const override
int briefLine() const override
bool hasDetailedDescription() const
void writeString(const QCString &text)
Definition outputlist.h:412
void writeDoc(const IDocNodeAST *ast, const Definition *ctx, const MemberDef *md)
Definition outputlist.h:384
void startParagraph(const QCString &classDef=QCString())
Definition outputlist.h:408
void endParagraph()
Definition outputlist.h:410
void endTextLink()
Definition outputlist.h:445
void writeSynopsis()
Definition outputlist.h:593
void startTextLink(const QCString &file, const QCString &anchor)
Definition outputlist.h:443
virtual QCString trMore()=0
IDocParserPtr createDocParser()
factory function to create a parser
Definition docparser.cpp:54
IDocNodeASTPtr validatingParseDoc(IDocParser &parserIntf, const QCString &fileName, int startLine, const Definition *ctx, const MemberDef *md, const QCString &input, bool indexWords, bool isExample, const QCString &exampleName, bool singleLine, bool linkFromIndex, bool markdownSupport)

References DefinitionMixin< ModuleDef >::briefDescription(), Definition::briefFile(), DefinitionMixin< ModuleDef >::briefLine(), Config_getBool, createDocParser(), OutputList::disable(), OutputList::disableAllBut(), OutputList::enable(), OutputList::endParagraph(), OutputList::endTextLink(), FALSE, DefinitionMixin< ModuleDef >::hasBriefDescription(), hasDetailedDescription(), Html, Man, OutputList::parseText(), OutputList::popGeneratorState(), OutputList::pushGeneratorState(), RTF, OutputList::startParagraph(), OutputList::startTextLink(), theTranslator, Translator::trMore(), TRUE, validatingParseDoc(), OutputList::writeDoc(), OutputList::writeString(), and OutputList::writeSynopsis().

Referenced by writeDocumentation().

◆ writeClassDeclarations()

void ModuleDefImpl::writeClassDeclarations ( OutputList & ol,
const QCString & title )

Definition at line 478 of file moduledef.cpp.

479{
480 m_classes.writeDeclaration(ol,nullptr,title,FALSE);
481}

References FALSE, and m_classes.

Referenced by writeDocumentation().

◆ writeConcepts()

void ModuleDefImpl::writeConcepts ( OutputList & ol,
const QCString & title )

Definition at line 483 of file moduledef.cpp.

484{
485 m_concepts.writeDeclaration(ol,title,FALSE);
486}

References FALSE, and m_concepts.

Referenced by writeDocumentation().

◆ writeDeclarationLink()

void ModuleDefImpl::writeDeclarationLink ( OutputList & ol,
bool & found,
const QCString & header,
bool localNames ) const

Definition at line 821 of file moduledef.cpp.

822{
823 if (isLinkable())
824 {
825 if (!found) // first module
826 {
827 ol.startMemberHeader("modules");
828 if (!header.isEmpty())
829 {
830 ol.parseText(header);
831 }
832 else
833 {
834 theTranslator->trModule(true,false);
835 }
836 ol.endMemberHeader();
837 ol.startMemberList();
838 found=TRUE;
839 }
842 ol.writeString("module ");
843 QCString cname = displayName(!localNames);
845 if (isLinkable())
846 {
849 anchor(),
850 cname
851 );
852 }
853 else
854 {
855 ol.startBold();
856 ol.docify(cname);
857 ol.endBold();
858 }
860 // add the brief description if available
861 if (!briefDescription().isEmpty() && Config_getBool(BRIEF_MEMBER_DESC))
862 {
863 auto parser { createDocParser() };
864 auto ast { validatingParseDoc(
865 *parser.get(),briefFile(),briefLine(),this,nullptr,
867 QCString(),TRUE,FALSE,Config_getBool(MARKDOWN_SUPPORT)) };
868 if (!ast->isEmpty())
869 {
871 ol.writeDoc(ast.get(),this,nullptr);
873 }
874 }
875 ol.endMemberDeclaration(anchor(),QCString());
876 }
877}
QCString getReference() const override
QCString anchor() const override
Definition moduledef.cpp:61
void startMemberDeclaration()
Definition outputlist.h:570
void endMemberDescription()
Definition outputlist.h:568
void writeObjectLink(const QCString &ref, const QCString &file, const QCString &anchor, const QCString &name)
Definition outputlist.h:440
void startMemberDescription(const QCString &anchor, const QCString &inheritId=QCString(), bool typ=false)
Definition outputlist.h:566
void docify(const QCString &s)
Definition outputlist.h:438
void startMemberList()
Definition outputlist.h:482
void startBold()
Definition outputlist.h:562
void endMemberItem(OutputGenerator::MemberItemType type)
Definition outputlist.h:496
void insertMemberAlign(bool templ=FALSE)
Definition outputlist.h:518
void endBold()
Definition outputlist.h:564
void endMemberDeclaration(const QCString &anchor, const QCString &inheritId)
Definition outputlist.h:572
void endMemberHeader()
Definition outputlist.h:472
void startMemberItem(const QCString &anchor, OutputGenerator::MemberItemType type, const QCString &id=QCString())
Definition outputlist.h:494
void startMemberHeader(const QCString &anchor, int typ=2)
Definition outputlist.h:470
bool found
Definition util.cpp:984

References anchor(), DefinitionMixin< ModuleDef >::briefDescription(), Definition::briefFile(), DefinitionMixin< ModuleDef >::briefLine(), Config_getBool, createDocParser(), displayName(), OutputList::docify(), OutputList::endBold(), OutputList::endMemberDeclaration(), OutputList::endMemberDescription(), OutputList::endMemberHeader(), OutputList::endMemberItem(), FALSE, found, getOutputFileBase(), DefinitionMixin< ModuleDef >::getReference(), OutputList::insertMemberAlign(), QCString::isEmpty(), isLinkable(), OutputGenerator::Normal, OutputList::parseText(), OutputList::startBold(), OutputList::startMemberDeclaration(), OutputList::startMemberDescription(), OutputList::startMemberHeader(), OutputList::startMemberItem(), OutputList::startMemberList(), theTranslator, Translator::trModule(), TRUE, validatingParseDoc(), OutputList::writeDoc(), OutputList::writeObjectLink(), and OutputList::writeString().

Referenced by ModuleLinkedRefMap::writeDeclaration().

◆ writeDetailedDescription()

void ModuleDefImpl::writeDetailedDescription ( OutputList & ol,
const QCString & title )

Definition at line 516 of file moduledef.cpp.

517{
519 {
522 ol.writeRuler();
526 ol.writeAnchor(QCString(),"details");
528 ol.startGroupHeader();
529 ol.parseText(title);
530 ol.endGroupHeader();
531
532 ol.startTextBlock();
533 if (!briefDescription().isEmpty() && Config_getBool(REPEAT_BRIEF))
534 {
536 QCString(),FALSE,FALSE,Config_getBool(MARKDOWN_SUPPORT));
537 }
538 if (!briefDescription().isEmpty() && Config_getBool(REPEAT_BRIEF) &&
539 !documentation().isEmpty())
540 {
544 ol.enableAll();
547 ol.writeString("\n\n");
549 }
550 if (!documentation().isEmpty())
551 {
552 ol.generateDoc(docFile(),docLine(),this,nullptr,documentation()+"\n",TRUE,FALSE,
553 QCString(),FALSE,FALSE,Config_getBool(MARKDOWN_SUPPORT));
554 }
555 ol.endTextBlock();
556 }
557}
QCString briefFile() const override
int docLine() const override
void endTextBlock(bool paraBreak=FALSE)
Definition outputlist.h:671
void writeRuler()
Definition outputlist.h:522
void startTextBlock(bool dense=FALSE)
Definition outputlist.h:669
void generateDoc(const QCString &fileName, int startLine, const Definition *ctx, const MemberDef *md, const QCString &docStr, bool indexWords, bool isExample, const QCString &exampleName, bool singleLine, bool linkFromIndex, bool markdownSupport)
void writeAnchor(const QCString &fileName, const QCString &name)
Definition outputlist.h:524
void enableAll()

References DefinitionMixin< ModuleDef >::briefDescription(), DefinitionMixin< ModuleDef >::briefFile(), DefinitionMixin< ModuleDef >::briefLine(), Config_getBool, OutputList::disable(), OutputList::disableAllBut(), DefinitionMixin< ModuleDef >::docFile(), DefinitionMixin< ModuleDef >::docLine(), DefinitionMixin< ModuleDef >::documentation(), OutputList::enable(), OutputList::enableAll(), OutputList::endGroupHeader(), OutputList::endTextBlock(), FALSE, OutputList::generateDoc(), hasDetailedDescription(), Html, Latex, Man, OutputList::parseText(), OutputList::popGeneratorState(), OutputList::pushGeneratorState(), RTF, OutputList::startGroupHeader(), OutputList::startTextBlock(), TRUE, OutputList::writeAnchor(), OutputList::writeRuler(), and OutputList::writeString().

Referenced by writeDocumentation().

◆ writeDocumentation()

void ModuleDefImpl::writeDocumentation ( OutputList & ol)
overridevirtual

Implements ModuleDef.

Definition at line 335 of file moduledef.cpp.

336{
337 if (isReference()) return;
339 AUTO_TRACE("%s file=%s",name(),getDefFileName());
340 SrcLangExt lang = getLanguage();
341 QCString pageTitle = theTranslator->trModuleReference(displayName());
342 startFile(ol,getOutputFileBase(),name(),pageTitle,HighlightedItem::ModuleVisible,false,QCString(),0);
343
344 // ---- title part
348
351 ol.parseText(pageTitle);
353
354 addGroupListToTitle(ol,this);
355
358 ol.endTitleHead(getOutputFileBase(),pageTitle);
360
364 ol.writeString(" - ");
365 ol.parseText(pageTitle);
367
368 ol.endHeaderSection();
369 ol.startContents();
370
371 //---------------------------------------- start flexible part -------------------------------
372 for (const auto &lde : LayoutDocManager::instance().docEntries(LayoutDocManager::Module))
373 {
374 const LayoutDocEntrySection *ls = dynamic_cast<const LayoutDocEntrySection*>(lde.get());
375 switch (lde->kind())
376 {
377 case LayoutDocEntry::BriefDesc:
379 break;
380 case LayoutDocEntry::MemberDeclStart:
382 break;
383 case LayoutDocEntry::ModuleClasses:
384 if (ls) writeClassDeclarations(ol,ls->title(lang));
385 break;
386 case LayoutDocEntry::ModuleConcepts:
387 if (ls) writeConcepts(ol,ls->title(lang));
388 break;
389 case LayoutDocEntry::ModuleExports:
390 if (ls) writeExports(ol,ls->title(lang));
391 break;
392 case LayoutDocEntry::ModuleUsedFiles:
393 if (ls) writeFiles(ol,ls->title(lang));
394 break;
395 case LayoutDocEntry::MemberGroups:
397 break;
398 case LayoutDocEntry::MemberDecl:
399 {
400 const LayoutDocEntryMemberDecl *lmd = dynamic_cast<const LayoutDocEntryMemberDecl*>(lde.get());
401 if (lmd) writeMemberDeclarations(ol,lmd->type,lmd->title(lang));
402 }
403 break;
404 case LayoutDocEntry::MemberDeclEnd:
406 break;
407 case LayoutDocEntry::DetailedDesc:
408 if (ls) writeDetailedDescription(ol,ls->title(lang));
409 break;
410 case LayoutDocEntry::MemberDefStart:
412 break;
413 case LayoutDocEntry::MemberDef:
414 {
415 const LayoutDocEntryMemberDef *lmd = dynamic_cast<const LayoutDocEntryMemberDef*>(lde.get());
416 if (lmd) writeMemberDocumentation(ol,lmd->type,lmd->title(lang));
417 }
418 break;
419 case LayoutDocEntry::MemberDefEnd:
421 break;
422 case LayoutDocEntry::AuthorSection:
424 break;
425 case LayoutDocEntry::ClassIncludes:
426 case LayoutDocEntry::ClassInheritanceGraph:
427 case LayoutDocEntry::ClassNestedClasses:
428 case LayoutDocEntry::ClassCollaborationGraph:
429 case LayoutDocEntry::ClassAllMembersLink:
430 case LayoutDocEntry::ClassUsedFiles:
431 case LayoutDocEntry::ClassInlineClasses:
432 case LayoutDocEntry::FileClasses:
433 case LayoutDocEntry::FileConcepts:
434 case LayoutDocEntry::FileInterfaces:
435 case LayoutDocEntry::FileStructs:
436 case LayoutDocEntry::FileExceptions:
437 case LayoutDocEntry::FileNamespaces:
438 case LayoutDocEntry::FileConstantGroups:
439 case LayoutDocEntry::FileIncludes:
440 case LayoutDocEntry::FileIncludeGraph:
441 case LayoutDocEntry::FileIncludedByGraph:
442 case LayoutDocEntry::FileInlineClasses:
443 case LayoutDocEntry::FileSourceLink:
444 case LayoutDocEntry::NamespaceNestedNamespaces:
445 case LayoutDocEntry::NamespaceNestedConstantGroups:
446 case LayoutDocEntry::NamespaceClasses:
447 case LayoutDocEntry::NamespaceConcepts:
448 case LayoutDocEntry::NamespaceInterfaces:
449 case LayoutDocEntry::NamespaceStructs:
450 case LayoutDocEntry::NamespaceExceptions:
451 case LayoutDocEntry::NamespaceInlineClasses:
452 case LayoutDocEntry::ConceptDefinition:
453 case LayoutDocEntry::GroupClasses:
454 case LayoutDocEntry::GroupConcepts:
455 case LayoutDocEntry::GroupModules:
456 case LayoutDocEntry::GroupInlineClasses:
457 case LayoutDocEntry::GroupNamespaces:
458 case LayoutDocEntry::GroupDirs:
459 case LayoutDocEntry::GroupNestedGroups:
460 case LayoutDocEntry::GroupFiles:
461 case LayoutDocEntry::GroupGraph:
462 case LayoutDocEntry::GroupPageDocs:
463 case LayoutDocEntry::DirSubDirs:
464 case LayoutDocEntry::DirFiles:
465 case LayoutDocEntry::DirGraph:
466 err("Internal inconsistency: member %d should not be part of "
467 "LayoutDocManager::Module entry list\n",lde->kind());
468 break;
469 }
470 }
471
472 //---------------------------------------- end flexible part -------------------------------
473 endFile(ol);
474
476}
void startMemberDeclarations(OutputList &ol)
void endMemberDeclarations(OutputList &ol)
void writeMemberDocumentation(OutputList &ol, MemberListType lt, const QCString &title)
void writeMemberGroups(OutputList &ol)
void startMemberDocumentation(OutputList &ol)
void writeAuthorSection(OutputList &ol)
void writeClassDeclarations(OutputList &ol, const QCString &title)
void writeExports(OutputList &ol, const QCString &title)
void writeFiles(OutputList &ol, const QCString &title)
void endMemberDocumentation(OutputList &ol)
void writeDetailedDescription(OutputList &ol, const QCString &title)
void writeBriefDescription(OutputList &ol)
void writeMemberDeclarations(OutputList &ol, MemberListType lt, const QCString &title)
void writeSummaryLinks(OutputList &ol) const override
void writeConcepts(OutputList &ol, const QCString &title)
void endTitleHead(const QCString &fileName, const QCString &name)
Definition outputlist.h:406
void startTitleHead(const QCString &fileName)
Definition outputlist.h:404
void endHeaderSection()
Definition outputlist.h:468
void startHeaderSection()
Definition outputlist.h:466
void startContents()
Definition outputlist.h:617
virtual QCString trModuleReference(const QCString &namespaceName)=0
void endFile(OutputList &ol, bool skipNavIndex, bool skipEndContents, const QCString &navPath)
Definition index.cpp:421
void startFile(OutputList &ol, const QCString &name, const QCString &manName, const QCString &title, HighlightedItem hli, bool additionalIndices, const QCString &altSidebarName, int hierarchyLevel)
Definition index.cpp:402
#define err(fmt,...)
Definition message.h:84
QCString title(SrcLangExt lang) const
Definition layout.cpp:1533
MemberListType type
Definition layout.h:130
QCString title(SrcLangExt lang) const
Definition layout.cpp:1545
QCString title(SrcLangExt lang) const
Definition layout.cpp:1526
SrcLangExt
Language as given by extension.
Definition types.h:42
void addGroupListToTitle(OutputList &ol, const Definition *d)
Definition util.cpp:5233

References addGroupListToTitle(), AUTO_TRACE, OutputList::disable(), OutputList::disableAllBut(), displayName(), endFile(), OutputList::endHeaderSection(), endMemberDeclarations(), endMemberDocumentation(), OutputList::endTitleHead(), err, DefinitionMixin< ModuleDef >::getDefFileName(), DefinitionMixin< ModuleDef >::getLanguage(), getOutputFileBase(), LayoutDocManager::instance(), DefinitionMixin< ModuleDef >::isReference(), Man, ModuleVisible, DefinitionMixin< ModuleDef >::name(), OutputList::parseText(), OutputList::popGeneratorState(), OutputList::pushGeneratorState(), OutputList::startContents(), startFile(), OutputList::startHeaderSection(), startMemberDeclarations(), startMemberDocumentation(), OutputList::startTitleHead(), theTranslator, LayoutDocEntryMemberDecl::title(), LayoutDocEntryMemberDef::title(), LayoutDocEntrySection::title(), Translator::trModuleReference(), LayoutDocEntryMemberDecl::type, LayoutDocEntryMemberDef::type, writeAuthorSection(), writeBriefDescription(), writeClassDeclarations(), writeConcepts(), writeDetailedDescription(), writeExports(), writeFiles(), writeMemberDeclarations(), writeMemberDocumentation(), writeMemberGroups(), OutputList::writeString(), and writeSummaryLinks().

◆ writeExports()

void ModuleDefImpl::writeExports ( OutputList & ol,
const QCString & title )

Definition at line 880 of file moduledef.cpp.

881{
882 AUTO_TRACE("name={} count={}",name(),m_exportedModules.size());
883 if (!m_exportedModules.empty())
884 {
885 ol.startMemberHeader("exports");
886 ol.parseText(title);
887 ol.endMemberHeader();
888 ol.startMemberList();
889 for (auto &[moduleName,importInfo] : m_exportedModules)
890 {
891 ModuleDef *mod = ModuleManager::instance().getPrimaryInterface(importInfo.importName);
896 if (mod && mod->isLinkable())
897 {
898 ol.writeObjectLink(mod->getReference(),mod->getOutputFileBase(),QCString(),mod->displayName());
899 }
900 else
901 {
902 ol.startBold();
903 ol.docify(importInfo.importName);
904 ol.endBold();
905 }
907 if (mod && !mod->briefDescription().isEmpty() && Config_getBool(BRIEF_MEMBER_DESC))
908 {
910 ol.generateDoc(briefFile(),briefLine(),mod,nullptr,mod->briefDescription(),FALSE,FALSE,
911 QCString(),TRUE,FALSE,Config_getBool(MARKDOWN_SUPPORT));
913 }
914 ol.endMemberDeclaration(QCString(),QCString());
915 }
916 ol.endMemberList();
917 }
918}
virtual bool isLinkable() const =0
virtual QCString briefDescription(bool abbreviate=FALSE) const =0
virtual QCString getReference() const =0
virtual QCString displayName(bool includeScope=TRUE) const =0
virtual QCString getOutputFileBase() const =0
static ModuleManager & instance()
ModuleDef * getPrimaryInterface(const QCString &moduleName) const
void endMemberList()
Definition outputlist.h:484

References AUTO_TRACE, Definition::briefDescription(), DefinitionMixin< ModuleDef >::briefFile(), DefinitionMixin< ModuleDef >::briefLine(), Config_getBool, Definition::displayName(), OutputList::docify(), OutputList::endBold(), OutputList::endMemberDeclaration(), OutputList::endMemberDescription(), OutputList::endMemberHeader(), OutputList::endMemberItem(), OutputList::endMemberList(), FALSE, OutputList::generateDoc(), Definition::getOutputFileBase(), ModuleManager::getPrimaryInterface(), Definition::getReference(), OutputList::insertMemberAlign(), ModuleManager::instance(), QCString::isEmpty(), Definition::isLinkable(), m_exportedModules, DefinitionMixin< ModuleDef >::name(), OutputGenerator::Normal, OutputList::parseText(), OutputList::startBold(), OutputList::startMemberDeclaration(), OutputList::startMemberDescription(), OutputList::startMemberHeader(), OutputList::startMemberItem(), OutputList::startMemberList(), theTranslator, Translator::trModule(), TRUE, and OutputList::writeObjectLink().

Referenced by writeDocumentation().

◆ writeFiles()

void ModuleDefImpl::writeFiles ( OutputList & ol,
const QCString & title )

Definition at line 920 of file moduledef.cpp.

921{
922 AUTO_TRACE("{} count={}",name(),m_contributing.size());
923 if (!m_contributing.empty())
924 {
925 ol.startMemberHeader("files");
926 ol.parseText(title);
927 ol.endMemberHeader();
928 ol.startMemberList();
929 for (const auto &mod : m_contributing)
930 {
931 FileDef *fd = mod->getFileDef();
932 if (fd)
933 {
938 QCString path=fd->getPath();
939 if (Config_getBool(FULL_PATH_NAMES))
940 {
941 ol.docify(stripFromPath(path));
942 }
943 if (fd->isLinkable())
944 {
945 ol.writeObjectLink(fd->getReference(),fd->getOutputFileBase(),QCString(),fd->displayName());
946 }
947 else
948 {
949 ol.startBold();
950 ol.docify(fd->displayName());
951 ol.endBold();
952 }
954 if (!fd->briefDescription().isEmpty() && Config_getBool(BRIEF_MEMBER_DESC))
955 {
958 QCString(),TRUE,FALSE,Config_getBool(MARKDOWN_SUPPORT));
960 }
961 ol.endMemberDeclaration(QCString(),QCString());
962 }
963 }
964 ol.endMemberList();
965 }
966}
virtual QCString anchor() const =0
virtual QCString getPath() const =0
virtual QCString trFile(bool first_capital, bool singular)=0
static QCString stripFromPath(const QCString &p, const StringVector &l)
Definition util.cpp:309

References Definition::anchor(), AUTO_TRACE, Definition::briefDescription(), DefinitionMixin< ModuleDef >::briefFile(), DefinitionMixin< ModuleDef >::briefLine(), Config_getBool, Definition::displayName(), OutputList::docify(), OutputList::endBold(), OutputList::endMemberDeclaration(), OutputList::endMemberDescription(), OutputList::endMemberHeader(), OutputList::endMemberItem(), OutputList::endMemberList(), FALSE, OutputList::generateDoc(), Definition::getOutputFileBase(), FileDef::getPath(), Definition::getReference(), OutputList::insertMemberAlign(), QCString::isEmpty(), Definition::isLinkable(), m_contributing, DefinitionMixin< ModuleDef >::name(), OutputGenerator::Normal, OutputList::parseText(), OutputList::startBold(), OutputList::startMemberDeclaration(), OutputList::startMemberDescription(), OutputList::startMemberHeader(), OutputList::startMemberItem(), OutputList::startMemberList(), stripFromPath(), theTranslator, Translator::trFile(), TRUE, and OutputList::writeObjectLink().

Referenced by writeDocumentation().

◆ writeMemberDeclarations()

void ModuleDefImpl::writeMemberDeclarations ( OutputList & ol,
MemberListType lt,
const QCString & title )

Definition at line 603 of file moduledef.cpp.

604{
605 MemberList * ml = getMemberList(lt);
606 if (ml) ml->writeDeclarations(ol,nullptr,nullptr,nullptr,nullptr,this,title,QCString());
607}
void writeDeclarations(OutputList &ol, const ClassDef *cd, const NamespaceDef *nd, const FileDef *fd, const GroupDef *gd, const ModuleDef *mod, const QCString &title, const QCString &subtitle, bool showEnumValues=FALSE, bool showInline=FALSE, const ClassDef *inheritedFrom=nullptr, MemberListType lt=MemberListType::PubMethods(), bool showSectionTitle=true) const
Writes the list of members to the output.

References getMemberList(), and MemberList::writeDeclarations().

Referenced by writeDocumentation().

◆ writeMemberDocumentation()

void ModuleDefImpl::writeMemberDocumentation ( OutputList & ol,
MemberListType lt,
const QCString & title )

Definition at line 609 of file moduledef.cpp.

610{
611 MemberList * ml = getMemberList(lt);
612 if (ml) ml->writeDocumentation(ol,name(),this,title);
613}
void writeDocumentation(OutputList &ol, const QCString &scopeName, const Definition *container, const QCString &title, bool showEnumValues=FALSE, bool showInline=FALSE) const

References getMemberList(), DefinitionMixin< ModuleDef >::name(), and MemberList::writeDocumentation().

Referenced by writeDocumentation().

◆ writeMemberGroups()

void ModuleDefImpl::writeMemberGroups ( OutputList & ol)

Definition at line 595 of file moduledef.cpp.

596{
597 for (const auto &mg : m_memberGroups)
598 {
599 mg->writeDeclarations(ol,nullptr,nullptr,nullptr,nullptr,this);
600 }
601}

References m_memberGroups.

Referenced by writeDocumentation().

◆ writeSummaryLinks()

void ModuleDefImpl::writeSummaryLinks ( OutputList & ol) const
overridevirtual

Reimplemented from DefinitionMixin< ModuleDef >.

Definition at line 773 of file moduledef.cpp.

774{
777 bool first=TRUE;
778 SrcLangExt lang=getLanguage();
779 for (const auto &lde : LayoutDocManager::instance().docEntries(LayoutDocManager::Module))
780 {
781 const LayoutDocEntrySection *ls = dynamic_cast<const LayoutDocEntrySection*>(lde.get());
782 if (lde->kind()==LayoutDocEntry::ModuleClasses && m_classes.declVisible() && ls)
783 {
784 QCString label = "classes";
785 ol.writeSummaryLink(QCString(),label,ls->title(lang),first);
786 first=FALSE;
787 }
788 else if (lde->kind()==LayoutDocEntry::ModuleConcepts && m_concepts.declVisible() && ls)
789 {
790 QCString label = "concepts";
791 ol.writeSummaryLink(QCString(),label,ls->title(lang),first);
792 first=FALSE;
793 }
794 else if (lde->kind()==LayoutDocEntry::ModuleUsedFiles && ls)
795 {
796 QCString label = "files";
797 ol.writeSummaryLink(QCString(),label,ls->title(lang),first);
798 first=FALSE;
799 }
800 else if (lde->kind()==LayoutDocEntry::MemberDecl)
801 {
802 const LayoutDocEntryMemberDecl *lmd = dynamic_cast<const LayoutDocEntryMemberDecl*>(lde.get());
803 if (lmd)
804 {
805 MemberList * ml = getMemberList(lmd->type);
806 if (ml && ml->declVisible())
807 {
808 ol.writeSummaryLink(QCString(),ml->listType().toLabel(),lmd->title(lang),first);
809 first=FALSE;
810 }
811 }
812 }
813 }
814 if (!first)
815 {
816 ol.writeString(" </div>\n");
817 }
819}
MemberListType listType() const
Definition memberlist.h:113
bool declVisible() const
constexpr const char * toLabel() const
Definition types.h:240
void writeSummaryLink(const QCString &file, const QCString &anchor, const QCString &title, bool first)
Definition outputlist.h:615

References MemberList::declVisible(), OutputList::disableAllBut(), FALSE, DefinitionMixin< ModuleDef >::getLanguage(), getMemberList(), Html, LayoutDocManager::instance(), MemberList::listType(), m_classes, m_concepts, OutputList::popGeneratorState(), OutputList::pushGeneratorState(), LayoutDocEntryMemberDecl::title(), LayoutDocEntrySection::title(), MemberListType::toLabel(), TRUE, LayoutDocEntryMemberDecl::type, OutputList::writeString(), and OutputList::writeSummaryLink().

Referenced by writeDocumentation().

◆ writeTagFile()

void ModuleDefImpl::writeTagFile ( TextStream & t) const
overridevirtual

Implements ModuleDef.

Definition at line 1026 of file moduledef.cpp.

1027{
1028 if (!isPrimaryInterface() || !isLinkableInProject()) return;
1029 tagFile << " <compound kind=\"module\">\n";
1030 tagFile << " <name>" << convertToXML(name()) << "</name>\n";
1031 const FileDef *fd = getFileDef();
1032 QCString fn = fd ? fd->getOutputFileBase() : getOutputFileBase();
1034 tagFile << " <filename>" << convertToXML(fn) << "</filename>\n";
1035#if 0 // at the moment we do not export the members of a module to a tag file.
1036 // We let the project using a tag file directly link to the implementation of the
1037 // symbols (which have the same scope).
1038 //
1039 // When we support linking to a module's interface instead we need to
1040 // export the module's members as well. Then we probably need a way to
1041 // disambiguate/prioritize a link to a module over a link to the implementation,
1042 // for instance by hiding non-exported symbols from the tag file.
1043 for (const auto &lde : LayoutDocManager::instance().docEntries(LayoutDocManager::Group))
1044 {
1045 switch (lde->kind())
1046 {
1047 case LayoutDocEntry::ModuleExports:
1048 {
1049 for (const auto &[modName,importInfo] : m_exportedModules)
1050 {
1051 tagFile << " <export>" << convertToXML(importInfo.importName) << "</export>\n";
1052 }
1053 }
1054 break;
1055 case LayoutDocEntry::ModuleClasses:
1056 {
1057 for (const auto &cd : m_classes)
1058 {
1059 if (cd->isLinkableInProject())
1060 {
1061 tagFile << " <class kind=\"" << cd->compoundTypeString()
1062 << "\">" << convertToXML(cd->name()) << "</class>\n";
1063 }
1064 }
1065 }
1066 break;
1067 case LayoutDocEntry::ModuleConcepts:
1068 {
1069 for (const auto &cd : m_concepts)
1070 {
1071 if (cd->isLinkableInProject())
1072 {
1073 tagFile << " <concept>" << convertToXML(cd->name())
1074 << "</concept>\n";
1075 }
1076 }
1077 }
1078 break;
1079 case LayoutDocEntry::ModuleUsedFiles:
1080 {
1081 for (const auto &usedFd : getUsedFiles())
1082 {
1083 if (usedFd->isLinkableInProject())
1084 {
1085 tagFile << " <file>" << convertToXML(usedFd->name()) << "</file>\n";
1086 }
1087 }
1088 }
1089 break;
1090 case LayoutDocEntry::MemberDecl:
1091 {
1092 const LayoutDocEntryMemberDecl *lmd = dynamic_cast<const LayoutDocEntryMemberDecl*>(lde.get());
1093 if (lmd)
1094 {
1095 MemberList * ml = getMemberList(lmd->type);
1096 if (ml)
1097 {
1098 ml->writeTagFile(tagFile,true);
1099 }
1100 }
1101 }
1102 break;
1103 default:
1104 break;
1105 }
1106 }
1107#endif
1108 QCString idStr = id();
1109 if (!idStr.isEmpty())
1110 {
1111 tagFile << " <clangid>" << convertToXML(idStr) << "</clangid>\n";
1112 }
1113 writeDocAnchorsToTagFile(tagFile);
1114 tagFile << " </compound>\n";
1115}
QCString id() const override
void writeDocAnchorsToTagFile(TextStream &fs) const override
void writeTagFile(TextStream &, bool useQualifiedName=false, bool showNamespaceMembers=true)
FileList getUsedFiles() const override
bool isPrimaryInterface() const override
Definition moduledef.cpp:71
FileDef * getFileDef() const override
Definition moduledef.cpp:78
bool isLinkableInProject() const override
Definition moduledef.cpp:62
QCString convertToXML(const QCString &s, bool keepEntities)
Definition util.cpp:4266
void addHtmlExtensionIfMissing(QCString &fName)
Definition util.cpp:5243

References addHtmlExtensionIfMissing(), convertToXML(), getFileDef(), getMemberList(), Definition::getOutputFileBase(), getOutputFileBase(), getUsedFiles(), DefinitionMixin< ModuleDef >::id(), LayoutDocManager::instance(), QCString::isEmpty(), isLinkableInProject(), isPrimaryInterface(), m_classes, m_concepts, m_exportedModules, DefinitionMixin< ModuleDef >::name(), LayoutDocEntryMemberDecl::type, DefinitionMixin< ModuleDef >::writeDocAnchorsToTagFile(), and MemberList::writeTagFile().

Member Data Documentation

◆ m_classes

◆ m_concepts

◆ m_contributing

ModuleList ModuleDefImpl::m_contributing
private

Definition at line 132 of file moduledef.cpp.

Referenced by addContributingModule(), getUsedFiles(), sortMemberLists(), and writeFiles().

◆ m_exportedModules

ImportInfoMap ModuleDefImpl::m_exportedModules
private

Definition at line 127 of file moduledef.cpp.

Referenced by addExportedModule(), getExports(), writeExports(), and writeTagFile().

◆ m_fileDef

FileDef* ModuleDefImpl::m_fileDef = nullptr
private

Definition at line 135 of file moduledef.cpp.

Referenced by getFileDef(), and setFileDef().

◆ m_imports

ImportInfoMap ModuleDefImpl::m_imports
private

Definition at line 126 of file moduledef.cpp.

Referenced by addImport(), and getImports().

◆ m_memberGroups

◆ m_memberLists

◆ m_partitionName

QCString ModuleDefImpl::m_partitionName
private

Definition at line 125 of file moduledef.cpp.

Referenced by isPrimaryInterface(), ModuleDefImpl(), partitionName(), and qualifiedName().

◆ m_partitions

ModuleMap ModuleDefImpl::m_partitions
private

Definition at line 131 of file moduledef.cpp.

Referenced by addPartition(), and partitions().

◆ m_primaryInterface

const ModuleDef* ModuleDefImpl::m_primaryInterface = nullptr
private

Definition at line 134 of file moduledef.cpp.

Referenced by setPrimaryInterface().

◆ m_type

Type ModuleDefImpl::m_type
private

Definition at line 124 of file moduledef.cpp.

Referenced by isPrimaryInterface(), ModuleDefImpl(), and moduleType().


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