summaryrefslogtreecommitdiffstats
path: root/src/classdef.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2019-02-18 19:29:38 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2019-02-28 19:55:47 (GMT)
commit960bae7191faf07f142b1ae5b0038905d33e2b1f (patch)
treefb5ce28720b56945588c77c3f5ab19c61cc8ef32 /src/classdef.cpp
parent79ace06168f1e09fce00515248d83571302a67ae (diff)
downloadDoxygen-960bae7191faf07f142b1ae5b0038905d33e2b1f.zip
Doxygen-960bae7191faf07f142b1ae5b0038905d33e2b1f.tar.gz
Doxygen-960bae7191faf07f142b1ae5b0038905d33e2b1f.tar.bz2
Refactored Definition and derived classes such that they are abstract interfaces
Diffstat (limited to 'src/classdef.cpp')
-rw-r--r--src/classdef.cpp661
1 files changed, 444 insertions, 217 deletions
diff --git a/src/classdef.cpp b/src/classdef.cpp
index 621b98c..5ea8cea 100644
--- a/src/classdef.cpp
+++ b/src/classdef.cpp
@@ -45,15 +45,235 @@
#include "filedef.h"
#include "namespacedef.h"
#include "membergroup.h"
+#include "definitionimpl.h"
//-----------------------------------------------------------------------------
-/** Private data associated with a ClassDef object. */
-class ClassDefImpl
+
+/** Implementation of the ClassDef interface */
+class ClassDefImpl : public DefinitionImpl, public ClassDef
{
public:
- ClassDefImpl();
+ ClassDefImpl(const char *fileName,int startLine,int startColumn,
+ const char *name,CompoundType ct,
+ const char *ref=0,const char *fName=0,
+ bool isSymbol=TRUE,bool isJavaEnum=FALSE);
+ /** Destroys a compound definition. */
~ClassDefImpl();
+
+ virtual DefType definitionType() const { return TypeClass; }
+ virtual QCString getOutputFileBase() const;
+ virtual QCString getInstanceOutputFileBase() const;
+ virtual QCString getSourceFileBase() const;
+ virtual QCString getReference() const;
+ virtual bool isReference() const;
+ virtual bool isLocal() const;
+ virtual ClassSDict *getClassSDict() const;
+ virtual bool hasDocumentation() const;
+ virtual bool hasDetailedDescription() const;
+ virtual QCString collaborationGraphFileName() const;
+ virtual QCString inheritanceGraphFileName() const;
+ virtual QCString displayName(bool includeScope=TRUE) const;
+ virtual CompoundType compoundType() const;
+ virtual QCString compoundTypeString() const;
+ virtual BaseClassList *baseClasses() const;
+ virtual BaseClassList *subClasses() const;
+ virtual MemberNameInfoSDict *memberNameInfoSDict() const;
+ virtual Protection protection() const;
+ virtual bool isLinkableInProject() const;
+ virtual bool isLinkable() const;
+ virtual bool isVisibleInHierarchy() const;
+ virtual bool visibleInParentsDeclList() const;
+ virtual ArgumentList *templateArguments() const;
+ virtual NamespaceDef *getNamespaceDef() const;
+ virtual FileDef *getFileDef() const;
+ virtual MemberDef *getMemberByName(const QCString &) const;
+ virtual bool isBaseClass(const ClassDef *bcd,bool followInstances,int level=0) const;
+ virtual bool isSubClass(ClassDef *bcd,int level=0) const;
+ virtual bool isAccessibleMember(const MemberDef *md) const;
+ virtual QDict<ClassDef> *getTemplateInstances() const;
+ virtual ClassDef *templateMaster() const;
+ virtual bool isTemplate() const;
+ virtual IncludeInfo *includeInfo() const;
+ virtual UsesClassDict *usedImplementationClasses() const;
+ virtual UsesClassDict *usedByImplementationClasses() const;
+ virtual UsesClassDict *usedInterfaceClasses() const;
+ virtual ConstraintClassDict *templateTypeConstraints() const;
+ virtual bool isTemplateArgument() const;
+ virtual Definition *findInnerCompound(const char *name) const;
+ virtual void getTemplateParameterLists(QList<ArgumentList> &lists) const;
+ virtual QCString qualifiedNameWithTemplateParameters(
+ QList<ArgumentList> *actualParams=0,int *actualParamIndex=0) const;
+ virtual bool isAbstract() const;
+ virtual bool isObjectiveC() const;
+ virtual bool isFortran() const;
+ virtual bool isCSharp() const;
+ virtual bool isFinal() const;
+ virtual bool isSealed() const;
+ virtual bool isPublished() const;
+ virtual bool isExtension() const;
+ virtual bool isForwardDeclared() const;
+ virtual bool isInterface() const;
+ virtual ClassDef *categoryOf() const;
+ virtual QCString className() const;
+ virtual MemberList *getMemberList(MemberListType lt) const;
+ virtual const QList<MemberList> &getMemberLists() const;
+ virtual MemberGroupSDict *getMemberGroupSDict() const;
+ virtual QDict<int> *getTemplateBaseClassNames() const;
+ virtual ClassDef *getVariableInstance(const char *templSpec);
+ virtual bool isUsedOnly() const;
+ virtual QCString anchor() const;
+ virtual bool isEmbeddedInOuterScope() const;
+ virtual bool isSimple() const;
+ virtual const ClassList *taggedInnerClasses() const;
+ virtual ClassDef *tagLessReference() const;
+ virtual MemberDef *isSmartPointer() const;
+ virtual bool isJavaEnum() const;
+ virtual bool isGeneric() const;
+ virtual bool isAnonymous() const;
+ virtual const ClassSDict *innerClasses() const;
+ virtual QCString title() const;
+ virtual QCString generatedFromFiles() const;
+ virtual const FileList &usedFiles() const;
+ virtual const ArgumentList *typeConstraints() const;
+ virtual const ExampleSDict *exampleList() const;
+ virtual bool hasExamples() const;
+ virtual QCString getMemberListFileName() const;
+ virtual bool subGrouping() const;
+ virtual bool isSliceLocal() const;
+ virtual void insertBaseClass(ClassDef *,const char *name,Protection p,Specifier s,const char *t=0);
+ virtual void insertSubClass(ClassDef *,Protection p,Specifier s,const char *t=0);
+ virtual void setIncludeFile(FileDef *fd,const char *incName,bool local,bool force);
+ virtual void insertMember(MemberDef *);
+ virtual void insertUsedFile(FileDef *);
+ virtual bool addExample(const char *anchor,const char *name, const char *file);
+ virtual void mergeCategory(ClassDef *category);
+ virtual void setNamespace(NamespaceDef *nd);
+ virtual void setFileDef(FileDef *fd);
+ virtual void setSubGrouping(bool enabled);
+ virtual void setProtection(Protection p);
+ virtual void setGroupDefForAllMembers(GroupDef *g,Grouping::GroupPri_t pri,const QCString &fileName,int startLine,bool hasDocs);
+ virtual void addInnerCompound(Definition *d);
+ virtual ClassDef *insertTemplateInstance(const QCString &fileName,int startLine,int startColumn,
+ const QCString &templSpec,bool &freshInstance);
+ virtual void addUsedClass(ClassDef *cd,const char *accessName,Protection prot);
+ virtual void addUsedByClass(ClassDef *cd,const char *accessName,Protection prot);
+ virtual void setIsStatic(bool b);
+ virtual void setCompoundType(CompoundType t);
+ virtual void setClassName(const char *name);
+ virtual void setClassSpecifier(uint64 spec);
+ virtual void setTemplateArguments(ArgumentList *al);
+ virtual void setTemplateBaseClassNames(QDict<int> *templateNames);
+ virtual void setTemplateMaster(ClassDef *tm);
+ virtual void setTypeConstraints(ArgumentList *al);
+ virtual void addMembersToTemplateInstance(ClassDef *cd,const char *templSpec);
+ virtual void makeTemplateArgument(bool b=TRUE);
+ virtual void setCategoryOf(ClassDef *cd);
+ virtual void setUsedOnly(bool b);
+ virtual void addTaggedInnerClass(ClassDef *cd);
+ virtual void setTagLessReference(ClassDef *cd);
+ virtual void setName(const char *name);
+ virtual void setMetaData(const char *md);
+ virtual void findSectionsInDocumentation();
+ virtual void addMembersToMemberGroup();
+ virtual void addListReferences();
+ virtual void addTypeConstraints();
+ virtual void computeAnchors();
+ virtual void mergeMembers();
+ virtual void sortMemberLists();
+ virtual void distributeMemberGroupDocumentation();
+ virtual void writeDocumentation(OutputList &ol);
+ virtual void writeDocumentationForInnerClasses(OutputList &ol);
+ virtual void writeMemberPages(OutputList &ol);
+ virtual void writeMemberList(OutputList &ol);
+ virtual void writeDeclaration(OutputList &ol,MemberDef *md,bool inGroup,
+ ClassDef *inheritedFrom,const char *inheritId);
+ virtual void writeQuickMemberLinks(OutputList &ol,MemberDef *md) const;
+ virtual void writeSummaryLinks(OutputList &ol);
+ virtual void reclassifyMember(MemberDef *md,MemberType t);
+ virtual void writeInlineDocumentation(OutputList &ol);
+ virtual void writeDeclarationLink(OutputList &ol,bool &found,
+ const char *header,bool localNames);
+ virtual void removeMemberFromLists(MemberDef *md);
+ virtual void addGroupedInheritedMembers(OutputList &ol,MemberListType lt,
+ ClassDef *inheritedFrom,const QCString &inheritId);
+ virtual int countMembersIncludingGrouped(MemberListType lt,ClassDef *inheritedFrom,bool additional);
+ virtual int countInheritanceNodes();
+ virtual void writeTagFile(FTextStream &);
+
+ virtual void setVisited(bool visited) { m_visited = visited; }
+ virtual bool isVisited() const { return m_visited; }
+ virtual bool hasNonReferenceSuperClass() const;
+ virtual int countMemberDeclarations(MemberListType lt,ClassDef *inheritedFrom,
+ int lt2,bool invert,bool showAlways,QPtrDict<void> *visitedClasses);
+ virtual void writeMemberDeclarations(OutputList &ol,MemberListType lt,const QCString &title,
+ const char *subTitle=0,bool showInline=FALSE,ClassDef *inheritedFrom=0,
+ int lt2=-1,bool invert=FALSE,bool showAlways=FALSE,
+ QPtrDict<void> *visitedClasses=0);
+
+ private:
+ bool m_visited;
+ void addUsedInterfaceClasses(MemberDef *md,const char *typeStr);
+ void showUsedFiles(OutputList &ol);
+
+ void writeDocumentationContents(OutputList &ol,const QCString &pageTitle);
+ void internalInsertMember(MemberDef *md,Protection prot,bool addToAllList);
+ void addMemberToList(MemberListType lt,MemberDef *md,bool isBrief);
+ MemberList *createMemberList(MemberListType lt);
+ void writeInheritedMemberDeclarations(OutputList &ol,MemberListType lt,int lt2,const QCString &title,ClassDef *inheritedFrom,bool invert,bool showAlways,QPtrDict<void> *visitedClasses);
+ void writeMemberDocumentation(OutputList &ol,MemberListType lt,const QCString &title,bool showInline=FALSE);
+ void writeSimpleMemberDocumentation(OutputList &ol,MemberListType lt);
+ void writePlainMemberDeclaration(OutputList &ol,MemberListType lt,bool inGroup,ClassDef *inheritedFrom,const char *inheritId);
+ void writeBriefDescription(OutputList &ol,bool exampleFlag);
+ void writeDetailedDescription(OutputList &ol,const QCString &pageType,bool exampleFlag,
+ const QCString &title,const QCString &anchor=QCString());
+ void writeIncludeFiles(OutputList &ol);
+ void writeIncludeFilesForSlice(OutputList &ol);
+ //void writeAllMembersLink(OutputList &ol);
+ void writeInheritanceGraph(OutputList &ol);
+ void writeCollaborationGraph(OutputList &ol);
+ void writeMemberGroups(OutputList &ol,bool showInline=FALSE);
+ void writeNestedClasses(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 writeAuthorSection(OutputList &ol);
+ void writeMoreLink(OutputList &ol,const QCString &anchor);
+ void writeDetailedDocumentationBody(OutputList &ol);
+
+ int countAdditionalInheritedMembers();
+ void writeAdditionalInheritedMembers(OutputList &ol);
+ void addClassAttributes(OutputList &ol);
+ int countInheritedDecMembers(MemberListType lt,
+ ClassDef *inheritedFrom,bool invert,bool showAlways,
+ QPtrDict<void> *visitedClasses);
+ void getTitleForMemberListType(MemberListType type,
+ QCString &title,QCString &subtitle);
+ QCString includeStatement() const;
+ void addTypeConstraint(const QCString &typeConstraint,const QCString &type);
+
+ // PIMPL idiom
+ class IMPL;
+ IMPL *m_impl;
+};
+
+ClassDef *createClassDef(
+ const char *fileName,int startLine,int startColumn,
+ const char *name,ClassDef::CompoundType ct,
+ const char *ref,const char *fName,
+ bool isSymbol,bool isJavaEnum)
+{
+ return new ClassDefImpl(fileName,startLine,startColumn,name,ct,ref,fName,isSymbol,isJavaEnum);
+}
+
+/** Private data associated with a ClassDef object. */
+class ClassDefImpl::IMPL
+{
+ public:
+ IMPL();
+ ~IMPL();
void init(const char *defFileName, const char *name,
const QCString &ctStr, const char *fName);
@@ -206,7 +426,7 @@ class ClassDefImpl
QCString metaData;
};
-void ClassDefImpl::init(const char *defFileName, const char *name,
+void ClassDefImpl::IMPL::init(const char *defFileName, const char *name,
const QCString &ctStr, const char *fName)
{
if (fName)
@@ -268,12 +488,12 @@ void ClassDefImpl::init(const char *defFileName, const char *name,
isAnonymous = QCString(name).find('@')!=-1;
}
-ClassDefImpl::ClassDefImpl() : vhdlSummaryTitles(17)
+ClassDefImpl::IMPL::IMPL() : vhdlSummaryTitles(17)
{
vhdlSummaryTitles.setAutoDelete(TRUE);
}
-ClassDefImpl::~ClassDefImpl()
+ClassDefImpl::IMPL::~IMPL()
{
delete inherits;
delete inheritedBy;
@@ -294,17 +514,19 @@ ClassDefImpl::~ClassDefImpl()
delete taggedInnerClasses;
}
+//-------------------------------------------------------------------------------------------
+
// constructs a new class definition
-ClassDef::ClassDef(
+ClassDefImpl::ClassDefImpl(
const char *defFileName,int defLine,int defColumn,
const char *nm,CompoundType ct,
const char *lref,const char *fName,
bool isSymbol,bool isJavaEnum)
- : Definition(defFileName,defLine,defColumn,removeRedundantWhiteSpace(nm),0,0,isSymbol)
+ : DefinitionImpl(defFileName,defLine,defColumn,removeRedundantWhiteSpace(nm),0,0,isSymbol)
{
- visited=FALSE;
+ m_visited=FALSE;
setReference(lref);
- m_impl = new ClassDefImpl;
+ m_impl = new ClassDefImpl::IMPL;
m_impl->compType = ct;
m_impl->isJavaEnum = isJavaEnum;
m_impl->init(defFileName,name(),compoundTypeString(),fName);
@@ -318,17 +540,17 @@ ClassDef::ClassDef(
}
// destroy the class definition
-ClassDef::~ClassDef()
+ClassDefImpl::~ClassDefImpl()
{
delete m_impl;
}
-QCString ClassDef::getMemberListFileName() const
+QCString ClassDefImpl::getMemberListFileName() const
{
return m_impl->memberListFileName;
}
-QCString ClassDef::displayName(bool includeScope) const
+QCString ClassDefImpl::displayName(bool includeScope) const
{
//static bool optimizeOutputForJava = Config_getBool(OPTIMIZE_OUTPUT_JAVA);
SrcLangExt lang = getLanguage();
@@ -362,7 +584,7 @@ QCString ClassDef::displayName(bool includeScope) const
//{
// n = n.left(n.length()-2);
//}
- //printf("ClassDef::displayName()=%s\n",n.data());
+ //printf("ClassDefImpl::displayName()=%s\n",n.data());
if (n.find('@')!=-1)
{
return removeAnonymousScopes(n);
@@ -374,7 +596,7 @@ QCString ClassDef::displayName(bool includeScope) const
}
// inserts a base/super class in the inheritance list
-void ClassDef::insertBaseClass(ClassDef *cd,const char *n,Protection p,
+void ClassDefImpl::insertBaseClass(ClassDef *cd,const char *n,Protection p,
Specifier s,const char *t)
{
//printf("*** insert base class %s into %s\n",cd->name().data(),name().data());
@@ -389,7 +611,7 @@ void ClassDef::insertBaseClass(ClassDef *cd,const char *n,Protection p,
}
// inserts a derived/sub class in the inherited-by list
-void ClassDef::insertSubClass(ClassDef *cd,Protection p,
+void ClassDefImpl::insertSubClass(ClassDef *cd,Protection p,
Specifier s,const char *t)
{
//printf("*** insert sub class %s into %s\n",cd->name().data(),name().data());
@@ -404,7 +626,7 @@ void ClassDef::insertSubClass(ClassDef *cd,Protection p,
m_impl->isSimple = FALSE;
}
-void ClassDef::addMembersToMemberGroup()
+void ClassDefImpl::addMembersToMemberGroup()
{
QListIterator<MemberList> mli(m_impl->memberLists);
MemberList *ml;
@@ -433,7 +655,7 @@ void ClassDef::addMembersToMemberGroup()
}
// adds new member definition to the class
-void ClassDef::internalInsertMember(MemberDef *md,
+void ClassDefImpl::internalInsertMember(MemberDef *md,
Protection prot,
bool addToAllList
)
@@ -739,13 +961,13 @@ void ClassDef::internalInsertMember(MemberDef *md,
}
}
-void ClassDef::insertMember(MemberDef *md)
+void ClassDefImpl::insertMember(MemberDef *md)
{
internalInsertMember(md,md->protection(),TRUE);
}
// compute the anchors for all members
-void ClassDef::computeAnchors()
+void ClassDefImpl::computeAnchors()
{
//ClassDef *context = Config_getBool(INLINE_INHERITED_MEMB) ? this : 0;
//const char *letters = "abcdefghijklmnopqrstuvwxyz0123456789";
@@ -771,7 +993,7 @@ void ClassDef::computeAnchors()
}
}
-void ClassDef::distributeMemberGroupDocumentation()
+void ClassDefImpl::distributeMemberGroupDocumentation()
{
if (m_impl->memberGroupSDict)
{
@@ -784,7 +1006,7 @@ void ClassDef::distributeMemberGroupDocumentation()
}
}
-void ClassDef::findSectionsInDocumentation()
+void ClassDefImpl::findSectionsInDocumentation()
{
docFindSections(documentation(),this,0,docFile());
if (m_impl->memberGroupSDict)
@@ -809,7 +1031,7 @@ void ClassDef::findSectionsInDocumentation()
// add a file name to the used files set
-void ClassDef::insertUsedFile(FileDef *fd)
+void ClassDefImpl::insertUsedFile(FileDef *fd)
{
if (fd==0) return;
if (m_impl->files.find(fd)==-1) m_impl->files.append(fd);
@@ -846,10 +1068,10 @@ static void writeInheritanceSpecifier(OutputList &ol,BaseClassDef *bcd)
}
}
-void ClassDef::setIncludeFile(FileDef *fd,
+void ClassDefImpl::setIncludeFile(FileDef *fd,
const char *includeName,bool local, bool force)
{
- //printf("ClassDef::setIncludeFile(%p,%s,%d,%d)\n",fd,includeName,local,force);
+ //printf("ClassDefImpl::setIncludeFile(%p,%s,%d,%d)\n",fd,includeName,local,force);
if (!m_impl->incInfo) m_impl->incInfo=new IncludeInfo;
if ((includeName && m_impl->incInfo->includeName.isEmpty()) ||
(fd!=0 && m_impl->incInfo->fileDef==0)
@@ -868,7 +1090,7 @@ void ClassDef::setIncludeFile(FileDef *fd,
}
// TODO: fix this: a nested template class can have multiple outer templates
-//ArgumentList *ClassDef::outerTemplateArguments() const
+//ArgumentList *ClassDefImpl::outerTemplateArguments() const
//{
// int ti;
// ClassDef *pcd=0;
@@ -896,7 +1118,7 @@ static void searchTemplateSpecs(/*in*/ Definition *d,
{
searchTemplateSpecs(d->getOuterScope(),result,name,lang);
}
- ClassDef *cd=(ClassDef *)d;
+ ClassDef *cd=dynamic_cast<ClassDef *>(d);
if (!name.isEmpty()) name+="::";
QCString clName = d->localName();
if (/*clName.right(2)=="-g" ||*/ clName.right(2)=="-p")
@@ -962,7 +1184,7 @@ static void writeTemplateSpec(OutputList &ol,Definition *d,
}
}
-void ClassDef::writeBriefDescription(OutputList &ol,bool exampleFlag)
+void ClassDefImpl::writeBriefDescription(OutputList &ol,bool exampleFlag)
{
if (hasBriefDescription())
{
@@ -989,7 +1211,7 @@ void ClassDef::writeBriefDescription(OutputList &ol,bool exampleFlag)
ol.writeSynopsis();
}
-void ClassDef::writeDetailedDocumentationBody(OutputList &ol)
+void ClassDefImpl::writeDetailedDocumentationBody(OutputList &ol)
{
static bool repeatBrief = Config_getBool(REPEAT_BRIEF);
@@ -1037,7 +1259,7 @@ void ClassDef::writeDetailedDocumentationBody(OutputList &ol)
ol.endTextBlock();
}
-bool ClassDef::hasDetailedDescription() const
+bool ClassDefImpl::hasDetailedDescription() const
{
static bool repeatBrief = Config_getBool(REPEAT_BRIEF);
static bool sourceBrowser = Config_getBool(SOURCE_BROWSER);
@@ -1047,7 +1269,7 @@ bool ClassDef::hasDetailedDescription() const
}
// write the detailed description for this class
-void ClassDef::writeDetailedDescription(OutputList &ol, const QCString &/*pageType*/, bool exampleFlag,
+void ClassDefImpl::writeDetailedDescription(OutputList &ol, const QCString &/*pageType*/, bool exampleFlag,
const QCString &title,const QCString &anchor)
{
if (hasDetailedDescription() || exampleFlag)
@@ -1083,7 +1305,7 @@ void ClassDef::writeDetailedDescription(OutputList &ol, const QCString &/*pageTy
}
}
-QCString ClassDef::generatedFromFiles() const
+QCString ClassDefImpl::generatedFromFiles() const
{
QCString result;
SrcLangExt lang = getLanguage();
@@ -1114,7 +1336,7 @@ QCString ClassDef::generatedFromFiles() const
return result;
}
-void ClassDef::showUsedFiles(OutputList &ol)
+void ClassDefImpl::showUsedFiles(OutputList &ol)
{
ol.pushGeneratorState();
ol.disable(OutputGenerator::Man);
@@ -1194,7 +1416,7 @@ void ClassDef::showUsedFiles(OutputList &ol)
ol.popGeneratorState();
}
-int ClassDef::countInheritanceNodes()
+int ClassDefImpl::countInheritanceNodes()
{
int count=0;
BaseClassDef *ibcd;
@@ -1219,7 +1441,7 @@ int ClassDef::countInheritanceNodes()
return count;
}
-void ClassDef::writeInheritanceGraph(OutputList &ol)
+void ClassDefImpl::writeInheritanceGraph(OutputList &ol)
{
// count direct inheritance relations
const int count=countInheritanceNodes();
@@ -1344,7 +1566,7 @@ void ClassDef::writeInheritanceGraph(OutputList &ol)
}
}
-void ClassDef::writeCollaborationGraph(OutputList &ol)
+void ClassDefImpl::writeCollaborationGraph(OutputList &ol)
{
if (Config_getBool(HAVE_DOT) /*&& Config_getBool(COLLABORATION_GRAPH)*/)
{
@@ -1361,7 +1583,7 @@ void ClassDef::writeCollaborationGraph(OutputList &ol)
}
}
-QCString ClassDef::includeStatement() const
+QCString ClassDefImpl::includeStatement() const
{
SrcLangExt lang = getLanguage();
bool isIDLorJava = lang==SrcLangExt_IDL || lang==SrcLangExt_Java;
@@ -1379,7 +1601,7 @@ QCString ClassDef::includeStatement() const
}
}
-void ClassDef::writeIncludeFilesForSlice(OutputList &ol)
+void ClassDefImpl::writeIncludeFilesForSlice(OutputList &ol)
{
if (m_impl->incInfo)
{
@@ -1489,15 +1711,15 @@ void ClassDef::writeIncludeFilesForSlice(OutputList &ol)
else
{
// Must be a class.
- bool implements = false;
+ bool implements = FALSE;
BaseClassListIterator it(*m_impl->inherits);
BaseClassDef *ibcd;
for (;(ibcd=it.current());++it)
{
ClassDef *icd = ibcd->classDef;
- if (icd->m_impl->spec & Entry::Interface)
+ if (icd->isInterface())
{
- implements = true;
+ implements = TRUE;
}
else
{
@@ -1508,11 +1730,11 @@ void ClassDef::writeIncludeFilesForSlice(OutputList &ol)
if (implements)
{
ol.docify(" implements ");
- bool first = true;
+ bool first = TRUE;
for (ibcd=it.toFirst();(ibcd=it.current());++it)
{
ClassDef *icd = ibcd->classDef;
- if (icd->m_impl->spec & Entry::Interface)
+ if (icd->isInterface())
{
if (!first)
{
@@ -1520,7 +1742,7 @@ void ClassDef::writeIncludeFilesForSlice(OutputList &ol)
}
else
{
- first = false;
+ first = FALSE;
}
ol.docify(icd->name());
}
@@ -1533,7 +1755,7 @@ void ClassDef::writeIncludeFilesForSlice(OutputList &ol)
ol.endParagraph();
}
-void ClassDef::writeIncludeFiles(OutputList &ol)
+void ClassDefImpl::writeIncludeFiles(OutputList &ol)
{
if (m_impl->incInfo /*&& Config_getBool(SHOW_INCLUDE_FILES)*/)
{
@@ -1580,7 +1802,7 @@ void ClassDef::writeIncludeFiles(OutputList &ol)
}
#if 0
-void ClassDef::writeAllMembersLink(OutputList &ol)
+void ClassDefImpl::writeAllMembersLink(OutputList &ol)
{
// write link to list of all members (HTML only)
if (m_impl->allMemberNameInfoSDict &&
@@ -1600,7 +1822,7 @@ void ClassDef::writeAllMembersLink(OutputList &ol)
}
#endif
-void ClassDef::writeMemberGroups(OutputList &ol,bool showInline)
+void ClassDefImpl::writeMemberGroups(OutputList &ol,bool showInline)
{
// write user defined member groups
if (m_impl->memberGroupSDict)
@@ -1623,7 +1845,7 @@ void ClassDef::writeMemberGroups(OutputList &ol,bool showInline)
}
}
-void ClassDef::writeNestedClasses(OutputList &ol,const QCString &title)
+void ClassDefImpl::writeNestedClasses(OutputList &ol,const QCString &title)
{
// nested classes
if (m_impl->innerClasses)
@@ -1632,7 +1854,7 @@ void ClassDef::writeNestedClasses(OutputList &ol,const QCString &title)
}
}
-void ClassDef::writeInlineClasses(OutputList &ol)
+void ClassDefImpl::writeInlineClasses(OutputList &ol)
{
if (m_impl->innerClasses)
{
@@ -1640,9 +1862,9 @@ void ClassDef::writeInlineClasses(OutputList &ol)
}
}
-void ClassDef::startMemberDocumentation(OutputList &ol)
+void ClassDefImpl::startMemberDocumentation(OutputList &ol)
{
- //printf("%s: ClassDef::startMemberDocumentation()\n",name().data());
+ //printf("%s: ClassDefImpl::startMemberDocumentation()\n",name().data());
if (Config_getBool(SEPARATE_MEMBER_PAGES))
{
ol.disable(OutputGenerator::Html);
@@ -1650,9 +1872,9 @@ void ClassDef::startMemberDocumentation(OutputList &ol)
}
}
-void ClassDef::endMemberDocumentation(OutputList &ol)
+void ClassDefImpl::endMemberDocumentation(OutputList &ol)
{
- //printf("%s: ClassDef::endMemberDocumentation()\n",name().data());
+ //printf("%s: ClassDefImpl::endMemberDocumentation()\n",name().data());
if (Config_getBool(SEPARATE_MEMBER_PAGES))
{
ol.enable(OutputGenerator::Html);
@@ -1660,15 +1882,15 @@ void ClassDef::endMemberDocumentation(OutputList &ol)
}
}
-void ClassDef::startMemberDeclarations(OutputList &ol)
+void ClassDefImpl::startMemberDeclarations(OutputList &ol)
{
- //printf("%s: ClassDef::startMemberDeclarations()\n",name().data());
+ //printf("%s: ClassDefImpl::startMemberDeclarations()\n",name().data());
ol.startMemberSections();
}
-void ClassDef::endMemberDeclarations(OutputList &ol)
+void ClassDefImpl::endMemberDeclarations(OutputList &ol)
{
- //printf("%s: ClassDef::endMemberDeclarations()\n",name().data());
+ //printf("%s: ClassDefImpl::endMemberDeclarations()\n",name().data());
static bool inlineInheritedMembers = Config_getBool(INLINE_INHERITED_MEMB);
if (!inlineInheritedMembers && countAdditionalInheritedMembers()>0)
{
@@ -1680,7 +1902,7 @@ void ClassDef::endMemberDeclarations(OutputList &ol)
ol.endMemberSections();
}
-void ClassDef::writeAuthorSection(OutputList &ol)
+void ClassDefImpl::writeAuthorSection(OutputList &ol)
{
ol.pushGeneratorState();
ol.disableAllBut(OutputGenerator::Man);
@@ -1693,7 +1915,7 @@ void ClassDef::writeAuthorSection(OutputList &ol)
}
-void ClassDef::writeSummaryLinks(OutputList &ol)
+void ClassDefImpl::writeSummaryLinks(OutputList &ol)
{
ol.pushGeneratorState();
ol.disableAllBut(OutputGenerator::Html);
@@ -1752,7 +1974,7 @@ void ClassDef::writeSummaryLinks(OutputList &ol)
ol.popGeneratorState();
}
-void ClassDef::writeTagFile(FTextStream &tagFile)
+void ClassDefImpl::writeTagFile(FTextStream &tagFile)
{
if (!isLinkableInProject()) return;
tagFile << " <compound kind=\"";
@@ -1871,12 +2093,12 @@ void ClassDef::writeTagFile(FTextStream &tagFile)
}
/** Write class documentation inside another container (i.e. a group) */
-void ClassDef::writeInlineDocumentation(OutputList &ol)
+void ClassDefImpl::writeInlineDocumentation(OutputList &ol)
{
bool isSimple = m_impl->isSimple;
ol.addIndexItem(name(),0);
- //printf("ClassDef::writeInlineDocumentation(%s)\n",name().data());
+ //printf("ClassDefImpl::writeInlineDocumentation(%s)\n",name().data());
QListIterator<LayoutDocEntry> eli(
LayoutDocManager::instance().docEntries(LayoutDocManager::Class));
LayoutDocEntry *lde;
@@ -1988,7 +2210,7 @@ void ClassDef::writeInlineDocumentation(OutputList &ol)
ol.popGeneratorState();
}
-void ClassDef::writeMoreLink(OutputList &ol,const QCString &anchor)
+void ClassDefImpl::writeMoreLink(OutputList &ol,const QCString &anchor)
{
// TODO: clean up this mess by moving it to
// the output generators...
@@ -2032,7 +2254,7 @@ void ClassDef::writeMoreLink(OutputList &ol,const QCString &anchor)
}
}
-bool ClassDef::visibleInParentsDeclList() const
+bool ClassDefImpl::visibleInParentsDeclList() const
{
static bool extractPrivate = Config_getBool(EXTRACT_PRIVATE);
static bool hideUndocClasses = Config_getBool(HIDE_UNDOC_CLASSES);
@@ -2044,7 +2266,7 @@ bool ClassDef::visibleInParentsDeclList() const
);
}
-void ClassDef::writeDeclarationLink(OutputList &ol,bool &found,const char *header,bool localNames)
+void ClassDefImpl::writeDeclarationLink(OutputList &ol,bool &found,const char *header,bool localNames)
{
//static bool fortranOpt = Config_getBool(OPTIMIZE_FOR_FORTRAN);
//static bool vhdlOpt = Config_getBool(OPTIMIZE_OUTPUT_VHDL);
@@ -2153,7 +2375,7 @@ void ClassDef::writeDeclarationLink(OutputList &ol,bool &found,const char *heade
}
}
-void ClassDef::addClassAttributes(OutputList &ol)
+void ClassDefImpl::addClassAttributes(OutputList &ol)
{
QStrList sl;
if (isFinal()) sl.append("final");
@@ -2178,7 +2400,7 @@ void ClassDef::addClassAttributes(OutputList &ol)
ol.popGeneratorState();
}
-void ClassDef::writeDocumentationContents(OutputList &ol,const QCString & /*pageTitle*/)
+void ClassDefImpl::writeDocumentationContents(OutputList &ol,const QCString & /*pageTitle*/)
{
ol.startContents();
@@ -2313,7 +2535,7 @@ void ClassDef::writeDocumentationContents(OutputList &ol,const QCString & /*page
ol.endContents();
}
-QCString ClassDef::title() const
+QCString ClassDefImpl::title() const
{
QCString pageTitle;
SrcLangExt lang = getLanguage();
@@ -2363,7 +2585,7 @@ QCString ClassDef::title() const
}
// write all documentation for this class
-void ClassDef::writeDocumentation(OutputList &ol)
+void ClassDefImpl::writeDocumentation(OutputList &ol)
{
static bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
//static bool fortranOpt = Config_getBool(OPTIMIZE_FOR_FORTRAN);
@@ -2421,7 +2643,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
}
}
-void ClassDef::writeMemberPages(OutputList &ol)
+void ClassDefImpl::writeMemberPages(OutputList &ol)
{
///////////////////////////////////////////////////////////////////////////
//// Member definitions on separate pages
@@ -2444,7 +2666,7 @@ void ClassDef::writeMemberPages(OutputList &ol)
ol.popGeneratorState();
}
-void ClassDef::writeQuickMemberLinks(OutputList &ol,MemberDef *currentMd) const
+void ClassDefImpl::writeQuickMemberLinks(OutputList &ol,MemberDef *currentMd) const
{
static bool createSubDirs=Config_getBool(CREATE_SUBDIRS);
@@ -2494,7 +2716,7 @@ void ClassDef::writeQuickMemberLinks(OutputList &ol,MemberDef *currentMd) const
-void ClassDef::writeDocumentationForInnerClasses(OutputList &ol)
+void ClassDefImpl::writeDocumentationForInnerClasses(OutputList &ol)
{
// write inner classes after the parent, so the tag files contain
// the definition in proper order!
@@ -2519,7 +2741,7 @@ void ClassDef::writeDocumentationForInnerClasses(OutputList &ol)
}
// write the list of all (inherited) members for this class
-void ClassDef::writeMemberList(OutputList &ol)
+void ClassDefImpl::writeMemberList(OutputList &ol)
{
static bool cOpt = Config_getBool(OPTIMIZE_OUTPUT_FOR_C);
//static bool vhdlOpt = Config_getBool(OPTIMIZE_OUTPUT_VHDL);
@@ -2804,7 +3026,7 @@ void ClassDef::writeMemberList(OutputList &ol)
// add a reference to an example
-bool ClassDef::addExample(const char *anchor,const char *nameStr,
+bool ClassDefImpl::addExample(const char *anchor,const char *nameStr,
const char *file)
{
if (m_impl->exampleSDict==0)
@@ -2825,7 +3047,7 @@ bool ClassDef::addExample(const char *anchor,const char *nameStr,
}
// returns TRUE if this class is used in an example
-bool ClassDef::hasExamples() const
+bool ClassDefImpl::hasExamples() const
{
bool result=FALSE;
if (m_impl->exampleSDict)
@@ -2833,7 +3055,7 @@ bool ClassDef::hasExamples() const
return result;
}
-void ClassDef::addTypeConstraint(const QCString &typeConstraint,const QCString &type)
+void ClassDefImpl::addTypeConstraint(const QCString &typeConstraint,const QCString &type)
{
//printf("addTypeContraint(%s,%s)\n",type.data(),typeConstraint.data());
static bool hideUndocRelation = Config_getBool(HIDE_UNDOC_RELATIONS);
@@ -2841,7 +3063,7 @@ void ClassDef::addTypeConstraint(const QCString &typeConstraint,const QCString &
ClassDef *cd = getResolvedClass(this,getFileDef(),typeConstraint);
if (cd==0 && !hideUndocRelation)
{
- cd = new ClassDef(getDefFileName(),getDefLine(),getDefColumn(),typeConstraint,ClassDef::Class);
+ cd = new ClassDefImpl(getDefFileName(),getDefLine(),getDefColumn(),typeConstraint,ClassDef::Class);
cd->setUsedOnly(TRUE);
cd->setLanguage(getLanguage());
Doxygen::hiddenClasses->append(typeConstraint,cd);
@@ -2868,7 +3090,7 @@ void ClassDef::addTypeConstraint(const QCString &typeConstraint,const QCString &
}
// Java Type Constrains: A<T extends C & I>
-void ClassDef::addTypeConstraints()
+void ClassDefImpl::addTypeConstraints()
{
if (m_impl->tempArgs)
{
@@ -2894,7 +3116,7 @@ void ClassDef::addTypeConstraints()
}
// C# Type Constraints: D<T> where T : C, I
-void ClassDef::setTypeConstraints(ArgumentList *al)
+void ClassDefImpl::setTypeConstraints(ArgumentList *al)
{
if (al==0) return;
if (!m_impl->typeConstraints) delete m_impl->typeConstraints;
@@ -2907,7 +3129,7 @@ void ClassDef::setTypeConstraints(ArgumentList *al)
}
}
-void ClassDef::setTemplateArguments(ArgumentList *al)
+void ClassDefImpl::setTemplateArguments(ArgumentList *al)
{
if (al==0) return;
if (m_impl->tempArgs) delete m_impl->tempArgs; // delete old list if needed
@@ -2924,7 +3146,7 @@ void ClassDef::setTemplateArguments(ArgumentList *al)
/*! Returns \c TRUE iff this class or a class inheriting from this class
* is \e not defined in an external tag file.
*/
-bool ClassDef::hasNonReferenceSuperClass() const
+bool ClassDefImpl::hasNonReferenceSuperClass() const
{
bool found=!isReference() && isLinkableInProject() && !isHidden();
if (found)
@@ -2961,7 +3183,7 @@ bool ClassDef::hasNonReferenceSuperClass() const
/*! called from MemberDef::writeDeclaration() to (recursively) write the
* definition of an anonymous struct, union or class.
*/
-void ClassDef::writeDeclaration(OutputList &ol,MemberDef *md,bool inGroup,
+void ClassDefImpl::writeDeclaration(OutputList &ol,MemberDef *md,bool inGroup,
ClassDef *inheritedFrom,const char *inheritId)
{
//printf("ClassName=`%s' inGroup=%d\n",name().data(),inGroup);
@@ -3011,7 +3233,7 @@ void ClassDef::writeDeclaration(OutputList &ol,MemberDef *md,bool inGroup,
}
/*! a link to this class is possible within this project */
-bool ClassDef::isLinkableInProject() const
+bool ClassDefImpl::isLinkableInProject() const
{
static bool extractLocal = Config_getBool(EXTRACT_LOCAL_CLASSES);
static bool extractStatic = Config_getBool(EXTRACT_STATIC);
@@ -3033,7 +3255,7 @@ bool ClassDef::isLinkableInProject() const
}
}
-bool ClassDef::isLinkable() const
+bool ClassDefImpl::isLinkable() const
{
if (m_impl->templateMaster)
{
@@ -3047,7 +3269,7 @@ bool ClassDef::isLinkable() const
/*! the class is visible in a class diagram, or class hierarchy */
-bool ClassDef::isVisibleInHierarchy() const
+bool ClassDefImpl::isVisibleInHierarchy() const
{
static bool allExternals = Config_getBool(ALLEXTERNALS);
static bool hideUndocClasses = Config_getBool(HIDE_UNDOC_CLASSES);
@@ -3071,9 +3293,9 @@ bool ClassDef::isVisibleInHierarchy() const
(!m_impl->isStatic || extractStatic);
}
-bool ClassDef::hasDocumentation() const
+bool ClassDefImpl::hasDocumentation() const
{
- return Definition::hasDocumentation();
+ return DefinitionImpl::hasDocumentation();
}
//----------------------------------------------------------------------
@@ -3081,7 +3303,7 @@ bool ClassDef::hasDocumentation() const
// returns TRUE iff class definition `bcd' represents an (in)direct base
// class of class definition `cd'.
-bool ClassDef::isBaseClass(ClassDef *bcd, bool followInstances,int level) const
+bool ClassDefImpl::isBaseClass(const ClassDef *bcd, bool followInstances,int level) const
{
bool found=FALSE;
//printf("isBaseClass(cd=%s) looking for %s\n",name().data(),bcd->name().data());
@@ -3111,7 +3333,7 @@ bool ClassDef::isBaseClass(ClassDef *bcd, bool followInstances,int level) const
//----------------------------------------------------------------------
-bool ClassDef::isSubClass(ClassDef *cd,int level) const
+bool ClassDefImpl::isSubClass(ClassDef *cd,int level) const
{
bool found=FALSE;
if (level>256)
@@ -3148,7 +3370,7 @@ static bool isStandardFunc(MemberDef *md)
* with that of this class. Must only be called for classes without
* subclasses!
*/
-void ClassDef::mergeMembers()
+void ClassDefImpl::mergeMembers()
{
if (m_impl->membersMerged) return;
@@ -3399,7 +3621,7 @@ void ClassDef::mergeMembers()
/*! Merges the members of a Objective-C category into this class.
*/
-void ClassDef::mergeCategory(ClassDef *category)
+void ClassDefImpl::mergeCategory(ClassDef *category)
{
static bool extractLocalMethods = Config_getBool(EXTRACT_LOCAL_METHODS);
bool makePrivate = category->isLocal();
@@ -3537,7 +3759,7 @@ void ClassDef::mergeCategory(ClassDef *category)
//----------------------------------------------------------------------------
-void ClassDef::addUsedClass(ClassDef *cd,const char *accessName,
+void ClassDefImpl::addUsedClass(ClassDef *cd,const char *accessName,
Protection prot)
{
static bool extractPrivate = Config_getBool(EXTRACT_PRIVATE);
@@ -3571,7 +3793,7 @@ void ClassDef::addUsedClass(ClassDef *cd,const char *accessName,
ucd->addAccessor(acc);
}
-void ClassDef::addUsedByClass(ClassDef *cd,const char *accessName,
+void ClassDefImpl::addUsedByClass(ClassDef *cd,const char *accessName,
Protection prot)
{
static bool extractPrivate = Config_getBool(EXTRACT_PRIVATE);
@@ -3612,7 +3834,7 @@ void ClassDef::addUsedByClass(ClassDef *cd,const char *accessName,
* Must be called before mergeMembers() is called!
*/
-void ClassDef::determineImplUsageRelation()
+void ClassDefImpl::determineImplUsageRelation()
{
MemberNameInfoSDict::Iterator mnili(*m_impl->allMemberNameInfoSDict);
MemberNameInfo *mni;
@@ -3726,7 +3948,7 @@ void ClassDef::determineImplUsageRelation()
// I have disabled this code because the graphs it renders quickly become
// too large to be of practical use.
-void ClassDef::addUsedInterfaceClasses(MemberDef *md,const char *typeStr)
+void ClassDefImpl::addUsedInterfaceClasses(MemberDef *md,const char *typeStr)
{
QCString type = typeStr;
static const QRegExp re("[a-z_A-Z][a-z_A-Z0-9:]*");
@@ -3757,7 +3979,7 @@ void ClassDef::addUsedInterfaceClasses(MemberDef *md,const char *typeStr)
}
}
-void ClassDef::determineIntfUsageRelation()
+void ClassDefImpl::determineIntfUsageRelation()
{
MemberNameInfoSDict::Iterator mnili(*m_impl->allMemberNameInfoList);
MemberNameInfo *mni;
@@ -3803,7 +4025,7 @@ void ClassDef::determineIntfUsageRelation()
}
#endif
-QCString ClassDef::compoundTypeString() const
+QCString ClassDefImpl::compoundTypeString() const
{
if (getLanguage()==SrcLangExt_Fortran)
{
@@ -3837,7 +4059,7 @@ QCString ClassDef::compoundTypeString() const
}
}
-QCString ClassDef::getOutputFileBase() const
+QCString ClassDefImpl::getOutputFileBase() const
{
static bool inlineGroupedClasses = Config_getBool(INLINE_GROUPED_CLASSES);
static bool inlineSimpleClasses = Config_getBool(INLINE_SIMPLE_STRUCTS);
@@ -3874,12 +4096,12 @@ QCString ClassDef::getOutputFileBase() const
return m_impl->fileName;
}
-QCString ClassDef::getInstanceOutputFileBase() const
+QCString ClassDefImpl::getInstanceOutputFileBase() const
{
return m_impl->fileName;
}
-QCString ClassDef::getSourceFileBase() const
+QCString ClassDefImpl::getSourceFileBase() const
{
if (m_impl->templateMaster)
{
@@ -3887,14 +4109,14 @@ QCString ClassDef::getSourceFileBase() const
}
else
{
- return Definition::getSourceFileBase();
+ return DefinitionImpl::getSourceFileBase();
}
}
-void ClassDef::setGroupDefForAllMembers(GroupDef *gd,Grouping::GroupPri_t pri,const QCString &fileName,int startLine,bool hasDocs)
+void ClassDefImpl::setGroupDefForAllMembers(GroupDef *gd,Grouping::GroupPri_t pri,const QCString &fileName,int startLine,bool hasDocs)
{
gd->addClass(this);
- //printf("ClassDef::setGroupDefForAllMembers(%s)\n",gd->name().data());
+ //printf("ClassDefImpl::setGroupDefForAllMembers(%s)\n",gd->name().data());
if (m_impl->allMemberNameInfoSDict==0) return;
MemberNameInfoSDict::Iterator mnili(*m_impl->allMemberNameInfoSDict);
MemberNameInfo *mni;
@@ -3913,7 +4135,7 @@ void ClassDef::setGroupDefForAllMembers(GroupDef *gd,Grouping::GroupPri_t pri,co
}
}
-void ClassDef::addInnerCompound(Definition *d)
+void ClassDefImpl::addInnerCompound(Definition *d)
{
//printf("**** %s::addInnerCompound(%s)\n",name().data(),d->name().data());
if (d->definitionType()==Definition::TypeClass) // only classes can be
@@ -3923,11 +4145,11 @@ void ClassDef::addInnerCompound(Definition *d)
{
m_impl->innerClasses = new ClassSDict(17);
}
- m_impl->innerClasses->inSort(d->localName(),(ClassDef *)d);
+ m_impl->innerClasses->inSort(d->localName(),dynamic_cast<ClassDef *>(d));
}
}
-Definition *ClassDef::findInnerCompound(const char *name) const
+Definition *ClassDefImpl::findInnerCompound(const char *name) const
{
Definition *result=0;
if (name==0) return 0;
@@ -3938,7 +4160,7 @@ Definition *ClassDef::findInnerCompound(const char *name) const
return result;
}
-//void ClassDef::initTemplateMapping()
+//void ClassDefImpl::initTemplateMapping()
//{
// m_impl->templateMapping->clear();
// ArgumentList *al = templateArguments();
@@ -3952,9 +4174,9 @@ Definition *ClassDef::findInnerCompound(const char *name) const
// }
// }
//}
-//void ClassDef::setTemplateArgumentMapping(const char *formal,const char *actual)
+//void ClassDefImpl::setTemplateArgumentMapping(const char *formal,const char *actual)
//{
-// //printf("ClassDef::setTemplateArgumentMapping(%s,%s)\n",formal,actual);
+// //printf("ClassDefImpl::setTemplateArgumentMapping(%s,%s)\n",formal,actual);
// if (m_impl->templateMapping && formal)
// {
// if (m_impl->templateMapping->find(formal))
@@ -3965,7 +4187,7 @@ Definition *ClassDef::findInnerCompound(const char *name) const
// }
//}
//
-//QCString ClassDef::getTemplateArgumentMapping(const char *formal) const
+//QCString ClassDefImpl::getTemplateArgumentMapping(const char *formal) const
//{
// if (m_impl->templateMapping && formal)
// {
@@ -3978,7 +4200,7 @@ Definition *ClassDef::findInnerCompound(const char *name) const
// return "";
//}
-ClassDef *ClassDef::insertTemplateInstance(const QCString &fileName,
+ClassDef *ClassDefImpl::insertTemplateInstance(const QCString &fileName,
int startLine, int startColumn, const QCString &templSpec,bool &freshInstance)
{
freshInstance = FALSE;
@@ -3991,7 +4213,7 @@ ClassDef *ClassDef::insertTemplateInstance(const QCString &fileName,
{
Debug::print(Debug::Classes,0," New template instance class `%s'`%s'\n",qPrint(name()),qPrint(templSpec));
QCString tcname = removeRedundantWhiteSpace(localName()+templSpec);
- templateClass = new ClassDef(
+ templateClass = new ClassDefImpl(
fileName,startLine,startColumn,tcname,ClassDef::Class);
templateClass->setTemplateMaster(this);
templateClass->setOuterScope(getOuterScope());
@@ -4002,7 +4224,7 @@ ClassDef *ClassDef::insertTemplateInstance(const QCString &fileName,
return templateClass;
}
-ClassDef *ClassDef::getVariableInstance(const char *templSpec)
+ClassDef *ClassDefImpl::getVariableInstance(const char *templSpec)
{
if (m_impl->variableInstances==0)
{
@@ -4014,7 +4236,7 @@ ClassDef *ClassDef::getVariableInstance(const char *templSpec)
{
Debug::print(Debug::Classes,0," New template variable instance class `%s'`%s'\n",qPrint(name()),qPrint(templSpec));
QCString tcname = removeRedundantWhiteSpace(name()+templSpec);
- templateClass = new ClassDef("<code>",1,1,tcname,
+ templateClass = new ClassDefImpl("<code>",1,1,tcname,
ClassDef::Class,0,0,FALSE);
templateClass->addMembersToTemplateInstance( this, templSpec );
templateClass->setTemplateMaster(this);
@@ -4023,7 +4245,7 @@ ClassDef *ClassDef::getVariableInstance(const char *templSpec)
return templateClass;
}
-void ClassDef::setTemplateBaseClassNames(QDict<int> *templateNames)
+void ClassDefImpl::setTemplateBaseClassNames(QDict<int> *templateNames)
{
if (templateNames==0) return;
if (m_impl->templBaseClassNames==0)
@@ -4042,12 +4264,12 @@ void ClassDef::setTemplateBaseClassNames(QDict<int> *templateNames)
}
}
-QDict<int> *ClassDef::getTemplateBaseClassNames() const
+QDict<int> *ClassDefImpl::getTemplateBaseClassNames() const
{
return m_impl->templBaseClassNames;
}
-void ClassDef::addMembersToTemplateInstance(ClassDef *cd,const char *templSpec)
+void ClassDefImpl::addMembersToTemplateInstance(ClassDef *cd,const char *templSpec)
{
//printf("%s::addMembersToTemplateInstance(%s,%s)\n",name().data(),cd->name().data(),templSpec);
if (cd->memberNameInfoSDict()==0) return;
@@ -4090,7 +4312,7 @@ void ClassDef::addMembersToTemplateInstance(ClassDef *cd,const char *templSpec)
}
}
-QCString ClassDef::getReference() const
+QCString ClassDefImpl::getReference() const
{
if (m_impl->templateMaster)
{
@@ -4098,11 +4320,11 @@ QCString ClassDef::getReference() const
}
else
{
- return Definition::getReference();
+ return DefinitionImpl::getReference();
}
}
-bool ClassDef::isReference() const
+bool ClassDefImpl::isReference() const
{
if (m_impl->templateMaster)
{
@@ -4110,18 +4332,18 @@ bool ClassDef::isReference() const
}
else
{
- return Definition::isReference();
+ return DefinitionImpl::isReference();
}
}
-void ClassDef::getTemplateParameterLists(QList<ArgumentList> &lists) const
+void ClassDefImpl::getTemplateParameterLists(QList<ArgumentList> &lists) const
{
Definition *d=getOuterScope();
if (d)
{
if (d->definitionType()==Definition::TypeClass)
{
- ClassDef *cd=(ClassDef *)d;
+ ClassDef *cd=dynamic_cast<ClassDef *>(d);
cd->getTemplateParameterLists(lists);
}
}
@@ -4131,7 +4353,7 @@ void ClassDef::getTemplateParameterLists(QList<ArgumentList> &lists) const
}
}
-QCString ClassDef::qualifiedNameWithTemplateParameters(
+QCString ClassDefImpl::qualifiedNameWithTemplateParameters(
QList<ArgumentList> *actualParams,int *actualParamIndex) const
{
//static bool optimizeOutputJava = Config_getBool(OPTIMIZE_OUTPUT_JAVA);
@@ -4143,7 +4365,7 @@ QCString ClassDef::qualifiedNameWithTemplateParameters(
{
if (d->definitionType()==Definition::TypeClass)
{
- ClassDef *cd=(ClassDef *)d;
+ ClassDef *cd=dynamic_cast<ClassDef *>(d);
scName = cd->qualifiedNameWithTemplateParameters(actualParams,actualParamIndex);
}
else if (!hideScopeNames)
@@ -4190,7 +4412,7 @@ QCString ClassDef::qualifiedNameWithTemplateParameters(
return scName;
}
-QCString ClassDef::className() const
+QCString ClassDefImpl::className() const
{
if (m_impl->className.isEmpty())
{
@@ -4202,12 +4424,12 @@ QCString ClassDef::className() const
}
};
-void ClassDef::setClassName(const char *name)
+void ClassDefImpl::setClassName(const char *name)
{
m_impl->className = name;
}
-void ClassDef::addListReferences()
+void ClassDefImpl::addListReferences()
{
SrcLangExt lang = getLanguage();
if (!isLinkableInProject()) return;
@@ -4244,7 +4466,7 @@ void ClassDef::addListReferences()
}
}
-MemberDef *ClassDef::getMemberByName(const QCString &name) const
+MemberDef *ClassDefImpl::getMemberByName(const QCString &name) const
{
MemberDef *xmd = 0;
if (m_impl->allMemberNameInfoSDict)
@@ -4274,12 +4496,12 @@ MemberDef *ClassDef::getMemberByName(const QCString &name) const
return xmd;
}
-bool ClassDef::isAccessibleMember(MemberDef *md) const
+bool ClassDefImpl::isAccessibleMember(const MemberDef *md) const
{
return md->getClassDef() && isBaseClass(md->getClassDef(),TRUE);
}
-MemberList *ClassDef::createMemberList(MemberListType lt)
+MemberList *ClassDefImpl::createMemberList(MemberListType lt)
{
m_impl->memberLists.setAutoDelete(TRUE);
QListIterator<MemberList> mli(m_impl->memberLists);
@@ -4297,7 +4519,7 @@ MemberList *ClassDef::createMemberList(MemberListType lt)
return ml;
}
-MemberList *ClassDef::getMemberList(MemberListType lt) const
+MemberList *ClassDefImpl::getMemberList(MemberListType lt) const
{
QListIterator<MemberList> mli(m_impl->memberLists);
MemberList *ml;
@@ -4311,7 +4533,7 @@ MemberList *ClassDef::getMemberList(MemberListType lt) const
return 0;
}
-void ClassDef::addMemberToList(MemberListType lt,MemberDef *md,bool isBrief)
+void ClassDefImpl::addMemberToList(MemberListType lt,MemberDef *md,bool isBrief)
{
static bool sortBriefDocs = Config_getBool(SORT_BRIEF_DOCS);
static bool sortMemberDocs = Config_getBool(SORT_MEMBER_DOCS);
@@ -4323,7 +4545,7 @@ void ClassDef::addMemberToList(MemberListType lt,MemberDef *md,bool isBrief)
if ((ml->listType()&MemberListType_detailedLists)==0) md->setSectionList(this,ml);
}
-void ClassDef::sortMemberLists()
+void ClassDefImpl::sortMemberLists()
{
QListIterator<MemberList> mli(m_impl->memberLists);
MemberList *ml;
@@ -4337,7 +4559,7 @@ void ClassDef::sortMemberLists()
}
}
-int ClassDef::countMemberDeclarations(MemberListType lt,ClassDef *inheritedFrom,
+int ClassDefImpl::countMemberDeclarations(MemberListType lt,ClassDef *inheritedFrom,
int lt2,bool invert,bool showAlways,QPtrDict<void> *visitedClasses)
{
//printf("%s: countMemberDeclarations for %d and %d\n",name().data(),lt,lt2);
@@ -4380,7 +4602,7 @@ int ClassDef::countMemberDeclarations(MemberListType lt,ClassDef *inheritedFrom,
}
-int ClassDef::countInheritedDecMembers(MemberListType lt,
+int ClassDefImpl::countInheritedDecMembers(MemberListType lt,
ClassDef *inheritedFrom,bool invert,bool showAlways,
QPtrDict<void> *visitedClasses)
{
@@ -4419,7 +4641,7 @@ int ClassDef::countInheritedDecMembers(MemberListType lt,
return inhCount;
}
-void ClassDef::getTitleForMemberListType(MemberListType type,
+void ClassDefImpl::getTitleForMemberListType(MemberListType type,
QCString &title,QCString &subtitle)
{
SrcLangExt lang = getLanguage();
@@ -4443,7 +4665,7 @@ void ClassDef::getTitleForMemberListType(MemberListType type,
subtitle="";
}
-int ClassDef::countAdditionalInheritedMembers()
+int ClassDefImpl::countAdditionalInheritedMembers()
{
int totalCount=0;
QListIterator<LayoutDocEntry> eli(
@@ -4469,7 +4691,7 @@ int ClassDef::countAdditionalInheritedMembers()
return totalCount;
}
-void ClassDef::writeAdditionalInheritedMembers(OutputList &ol)
+void ClassDefImpl::writeAdditionalInheritedMembers(OutputList &ol)
{
//printf("**** writeAdditionalInheritedMembers()\n");
QListIterator<LayoutDocEntry> eli(
@@ -4489,7 +4711,7 @@ void ClassDef::writeAdditionalInheritedMembers(OutputList &ol)
}
}
-int ClassDef::countMembersIncludingGrouped(MemberListType lt,
+int ClassDefImpl::countMembersIncludingGrouped(MemberListType lt,
ClassDef *inheritedFrom,bool additional)
{
int count=0;
@@ -4518,7 +4740,7 @@ int ClassDef::countMembersIncludingGrouped(MemberListType lt,
return count;
}
-void ClassDef::writeInheritedMemberDeclarations(OutputList &ol,
+void ClassDefImpl::writeInheritedMemberDeclarations(OutputList &ol,
MemberListType lt,int lt2,const QCString &title,
ClassDef *inheritedFrom,bool invert,bool showAlways,
QPtrDict<void> *visitedClasses)
@@ -4567,11 +4789,11 @@ void ClassDef::writeInheritedMemberDeclarations(OutputList &ol,
ol.popGeneratorState();
}
-void ClassDef::writeMemberDeclarations(OutputList &ol,MemberListType lt,const QCString &title,
+void ClassDefImpl::writeMemberDeclarations(OutputList &ol,MemberListType lt,const QCString &title,
const char *subTitle,bool showInline,ClassDef *inheritedFrom,int lt2,
bool invert,bool showAlways,QPtrDict<void> *visitedClasses)
{
- //printf("%s: ClassDef::writeMemberDeclarations lt=%d lt2=%d\n",name().data(),lt,lt2);
+ //printf("%s: ClassDefImpl::writeMemberDeclarations lt=%d lt2=%d\n",name().data(),lt,lt2);
MemberList * ml = getMemberList(lt);
MemberList * ml2 = getMemberList((MemberListType)lt2);
if (getLanguage()==SrcLangExt_VHDL) // use specific declarations function
@@ -4615,7 +4837,7 @@ void ClassDef::writeMemberDeclarations(OutputList &ol,MemberListType lt,const QC
}
}
-void ClassDef::addGroupedInheritedMembers(OutputList &ol,MemberListType lt,
+void ClassDefImpl::addGroupedInheritedMembers(OutputList &ol,MemberListType lt,
ClassDef *inheritedFrom,const QCString &inheritId)
{
//printf("** %s::addGroupedInheritedMembers(%p) inheritId=%s\n",name().data(),m_impl->memberGroupSDict,inheritId.data());
@@ -4633,25 +4855,25 @@ void ClassDef::addGroupedInheritedMembers(OutputList &ol,MemberListType lt,
}
}
-void ClassDef::writeMemberDocumentation(OutputList &ol,MemberListType lt,const QCString &title,bool showInline)
+void ClassDefImpl::writeMemberDocumentation(OutputList &ol,MemberListType lt,const QCString &title,bool showInline)
{
- //printf("%s: ClassDef::writeMemberDocumentation()\n",name().data());
+ //printf("%s: ClassDefImpl::writeMemberDocumentation()\n",name().data());
MemberList * ml = getMemberList(lt);
if (ml) ml->writeDocumentation(ol,displayName(),this,title,FALSE,showInline);
}
-void ClassDef::writeSimpleMemberDocumentation(OutputList &ol,MemberListType lt)
+void ClassDefImpl::writeSimpleMemberDocumentation(OutputList &ol,MemberListType lt)
{
- //printf("%s: ClassDef::writeSimpleMemberDocumentation()\n",name().data());
+ //printf("%s: ClassDefImpl::writeSimpleMemberDocumentation()\n",name().data());
MemberList * ml = getMemberList(lt);
if (ml) ml->writeSimpleDocumentation(ol,this);
}
-void ClassDef::writePlainMemberDeclaration(OutputList &ol,
+void ClassDefImpl::writePlainMemberDeclaration(OutputList &ol,
MemberListType lt,bool inGroup,
ClassDef *inheritedFrom,const char *inheritId)
{
- //printf("%s: ClassDef::writePlainMemberDeclaration()\n",name().data());
+ //printf("%s: ClassDefImpl::writePlainMemberDeclaration()\n",name().data());
MemberList * ml = getMemberList(lt);
if (ml)
{
@@ -4660,222 +4882,227 @@ void ClassDef::writePlainMemberDeclaration(OutputList &ol,
}
}
-bool ClassDef::isLocal() const
+bool ClassDefImpl::isLocal() const
{
return m_impl->isLocal;
}
-ClassSDict *ClassDef::getClassSDict() const
+ClassSDict *ClassDefImpl::getClassSDict() const
{
return m_impl->innerClasses;
}
-ClassDef::CompoundType ClassDef::compoundType() const
+ClassDefImpl::CompoundType ClassDefImpl::compoundType() const
{
return m_impl->compType;
}
-BaseClassList *ClassDef::baseClasses() const
+BaseClassList *ClassDefImpl::baseClasses() const
{
return m_impl->inherits;
}
-BaseClassList *ClassDef::subClasses() const
+BaseClassList *ClassDefImpl::subClasses() const
{
return m_impl->inheritedBy;
}
-MemberNameInfoSDict *ClassDef::memberNameInfoSDict() const
+MemberNameInfoSDict *ClassDefImpl::memberNameInfoSDict() const
{
return m_impl->allMemberNameInfoSDict;
}
-Protection ClassDef::protection() const
+Protection ClassDefImpl::protection() const
{
return m_impl->prot;
}
-ArgumentList *ClassDef::templateArguments() const
+ArgumentList *ClassDefImpl::templateArguments() const
{
return m_impl->tempArgs;
}
-NamespaceDef *ClassDef::getNamespaceDef() const
+NamespaceDef *ClassDefImpl::getNamespaceDef() const
{
return m_impl->nspace;
}
-FileDef *ClassDef::getFileDef() const
+FileDef *ClassDefImpl::getFileDef() const
{
return m_impl->fileDef;
}
-QDict<ClassDef> *ClassDef::getTemplateInstances() const
+QDict<ClassDef> *ClassDefImpl::getTemplateInstances() const
{
return m_impl->templateInstances;
}
-ClassDef *ClassDef::templateMaster() const
+ClassDef *ClassDefImpl::templateMaster() const
{
return m_impl->templateMaster;
}
-bool ClassDef::isTemplate() const
+bool ClassDefImpl::isTemplate() const
{
return m_impl->tempArgs!=0;
}
-IncludeInfo *ClassDef::includeInfo() const
+IncludeInfo *ClassDefImpl::includeInfo() const
{
return m_impl->incInfo;
}
-UsesClassDict *ClassDef::usedImplementationClasses() const
+UsesClassDict *ClassDefImpl::usedImplementationClasses() const
{
return m_impl->usesImplClassDict;
}
-UsesClassDict *ClassDef::usedByImplementationClasses() const
+UsesClassDict *ClassDefImpl::usedByImplementationClasses() const
{
return m_impl->usedByImplClassDict;
}
-UsesClassDict *ClassDef::usedInterfaceClasses() const
+UsesClassDict *ClassDefImpl::usedInterfaceClasses() const
{
return m_impl->usesIntfClassDict;
}
-ConstraintClassDict *ClassDef::templateTypeConstraints() const
+ConstraintClassDict *ClassDefImpl::templateTypeConstraints() const
{
return m_impl->constraintClassDict;
}
-bool ClassDef::isTemplateArgument() const
+bool ClassDefImpl::isTemplateArgument() const
{
return m_impl->isTemplArg;
}
-bool ClassDef::isAbstract() const
+bool ClassDefImpl::isAbstract() const
{
return m_impl->isAbstract || (m_impl->spec&Entry::Abstract);
}
-bool ClassDef::isFinal() const
+bool ClassDefImpl::isFinal() const
{
return m_impl->spec&Entry::Final;
}
-bool ClassDef::isSealed() const
+bool ClassDefImpl::isSealed() const
{
return m_impl->spec&Entry::Sealed;
}
-bool ClassDef::isPublished() const
+bool ClassDefImpl::isPublished() const
{
return m_impl->spec&Entry::Published;
}
-bool ClassDef::isForwardDeclared() const
+bool ClassDefImpl::isForwardDeclared() const
{
return m_impl->spec&Entry::ForwardDecl;
}
-bool ClassDef::isObjectiveC() const
+bool ClassDefImpl::isInterface() const
+{
+ return m_impl->spec&Entry::Interface;
+}
+
+bool ClassDefImpl::isObjectiveC() const
{
return getLanguage()==SrcLangExt_ObjC;
}
-bool ClassDef::isFortran() const
+bool ClassDefImpl::isFortran() const
{
return getLanguage()==SrcLangExt_Fortran;
}
-bool ClassDef::isCSharp() const
+bool ClassDefImpl::isCSharp() const
{
return getLanguage()==SrcLangExt_CSharp;
}
-ClassDef *ClassDef::categoryOf() const
+ClassDef *ClassDefImpl::categoryOf() const
{
return m_impl->categoryOf;
}
-const QList<MemberList> &ClassDef::getMemberLists() const
+const QList<MemberList> &ClassDefImpl::getMemberLists() const
{
return m_impl->memberLists;
}
-MemberGroupSDict *ClassDef::getMemberGroupSDict() const
+MemberGroupSDict *ClassDefImpl::getMemberGroupSDict() const
{
return m_impl->memberGroupSDict;
}
-void ClassDef::setNamespace(NamespaceDef *nd)
+void ClassDefImpl::setNamespace(NamespaceDef *nd)
{
m_impl->nspace = nd;
}
-void ClassDef::setFileDef(FileDef *fd)
+void ClassDefImpl::setFileDef(FileDef *fd)
{
m_impl->fileDef=fd;
}
-void ClassDef::setSubGrouping(bool enabled)
+void ClassDefImpl::setSubGrouping(bool enabled)
{
m_impl->subGrouping = enabled;
}
-void ClassDef::setProtection(Protection p)
+void ClassDefImpl::setProtection(Protection p)
{
m_impl->prot=p;
}
-void ClassDef::setIsStatic(bool b)
+void ClassDefImpl::setIsStatic(bool b)
{
m_impl->isStatic=b;
}
-void ClassDef::setCompoundType(CompoundType t)
+void ClassDefImpl::setCompoundType(CompoundType t)
{
m_impl->compType = t;
}
-void ClassDef::setTemplateMaster(ClassDef *tm)
+void ClassDefImpl::setTemplateMaster(ClassDef *tm)
{
m_impl->templateMaster=tm;
}
-void ClassDef::makeTemplateArgument(bool b)
+void ClassDefImpl::makeTemplateArgument(bool b)
{
m_impl->isTemplArg = b;
}
-void ClassDef::setCategoryOf(ClassDef *cd)
+void ClassDefImpl::setCategoryOf(ClassDef *cd)
{
m_impl->categoryOf = cd;
}
-void ClassDef::setUsedOnly(bool b)
+void ClassDefImpl::setUsedOnly(bool b)
{
m_impl->usedOnly = b;
}
-bool ClassDef::isUsedOnly() const
+bool ClassDefImpl::isUsedOnly() const
{
return m_impl->usedOnly;
}
-bool ClassDef::isSimple() const
+bool ClassDefImpl::isSimple() const
{
return m_impl->isSimple;
}
-MemberDef *ClassDef::isSmartPointer() const
+MemberDef *ClassDefImpl::isSmartPointer() const
{
return m_impl->arrowOperator;
}
-void ClassDef::reclassifyMember(MemberDef *md,MemberType t)
+void ClassDefImpl::reclassifyMember(MemberDef *md,MemberType t)
{
md->setMemberType(t);
QListIterator<MemberList> mli(m_impl->memberLists);
@@ -4887,7 +5114,7 @@ void ClassDef::reclassifyMember(MemberDef *md,MemberType t)
insertMember(md);
}
-QCString ClassDef::anchor() const
+QCString ClassDefImpl::anchor() const
{
QCString anc;
if (isEmbeddedInOuterScope() && !Doxygen::generatingXmlOutput)
@@ -4905,7 +5132,7 @@ QCString ClassDef::anchor() const
return anc;
}
-bool ClassDef::isEmbeddedInOuterScope() const
+bool ClassDefImpl::isEmbeddedInOuterScope() const
{
static bool inlineGroupedClasses = Config_getBool(INLINE_GROUPED_CLASSES);
static bool inlineSimpleClasses = Config_getBool(INLINE_SIMPLE_STRUCTS);
@@ -4935,12 +5162,12 @@ bool ClassDef::isEmbeddedInOuterScope() const
return b1 || b2; // either reason will do
}
-const ClassList *ClassDef::taggedInnerClasses() const
+const ClassList *ClassDefImpl::taggedInnerClasses() const
{
return m_impl->taggedInnerClasses;
}
-void ClassDef::addTaggedInnerClass(ClassDef *cd)
+void ClassDefImpl::addTaggedInnerClass(ClassDef *cd)
{
if (m_impl->taggedInnerClasses==0)
{
@@ -4949,17 +5176,17 @@ void ClassDef::addTaggedInnerClass(ClassDef *cd)
m_impl->taggedInnerClasses->append(cd);
}
-ClassDef *ClassDef::tagLessReference() const
+ClassDef *ClassDefImpl::tagLessReference() const
{
return m_impl->tagLessRef;
}
-void ClassDef::setTagLessReference(ClassDef *cd)
+void ClassDefImpl::setTagLessReference(ClassDef *cd)
{
m_impl->tagLessRef = cd;
}
-void ClassDef::removeMemberFromLists(MemberDef *md)
+void ClassDefImpl::removeMemberFromLists(MemberDef *md)
{
QListIterator<MemberList> mli(m_impl->memberLists);
MemberList *ml;
@@ -4969,22 +5196,22 @@ void ClassDef::removeMemberFromLists(MemberDef *md)
}
}
-bool ClassDef::isJavaEnum() const
+bool ClassDefImpl::isJavaEnum() const
{
return m_impl->isJavaEnum;
}
-bool ClassDef::isGeneric() const
+bool ClassDefImpl::isGeneric() const
{
return m_impl->isGeneric;
}
-void ClassDef::setClassSpecifier(uint64 spec)
+void ClassDefImpl::setClassSpecifier(uint64 spec)
{
m_impl->spec = spec;
}
-bool ClassDef::isExtension() const
+bool ClassDefImpl::isExtension() const
{
QCString n = name();
int si = n.find('(');
@@ -4993,58 +5220,58 @@ bool ClassDef::isExtension() const
return b;
}
-const ClassSDict *ClassDef::innerClasses() const
+const ClassSDict *ClassDefImpl::innerClasses() const
{
return m_impl->innerClasses;
}
-const FileList &ClassDef::usedFiles() const
+const FileList &ClassDefImpl::usedFiles() const
{
return m_impl->files;
}
-const ArgumentList *ClassDef::typeConstraints() const
+const ArgumentList *ClassDefImpl::typeConstraints() const
{
return m_impl->typeConstraints;
}
-const ExampleSDict *ClassDef::exampleList() const
+const ExampleSDict *ClassDefImpl::exampleList() const
{
return m_impl->exampleSDict;
}
-bool ClassDef::subGrouping() const
+bool ClassDefImpl::subGrouping() const
{
return m_impl->subGrouping;
}
-bool ClassDef::isSliceLocal() const
+bool ClassDefImpl::isSliceLocal() const
{
return m_impl->spec&Entry::Local;
}
-void ClassDef::setName(const char *name)
+void ClassDefImpl::setName(const char *name)
{
m_impl->isAnonymous = QCString(name).find('@')!=-1;
- Definition::setName(name);
+ DefinitionImpl::setName(name);
}
-void ClassDef::setMetaData(const char *md)
+void ClassDefImpl::setMetaData(const char *md)
{
m_impl->metaData = md;
}
-bool ClassDef::isAnonymous() const
+bool ClassDefImpl::isAnonymous() const
{
return m_impl->isAnonymous;
}
-QCString ClassDef::collaborationGraphFileName() const
+QCString ClassDefImpl::collaborationGraphFileName() const
{
return m_impl->collabFileName;
}
-QCString ClassDef::inheritanceGraphFileName() const
+QCString ClassDefImpl::inheritanceGraphFileName() const
{
return m_impl->inheritFileName;
}