summaryrefslogtreecommitdiffstats
path: root/src/memberdef.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/memberdef.cpp')
-rw-r--r--src/memberdef.cpp969
1 files changed, 646 insertions, 323 deletions
diff --git a/src/memberdef.cpp b/src/memberdef.cpp
index 683f8c3..995901a 100644
--- a/src/memberdef.cpp
+++ b/src/memberdef.cpp
@@ -43,10 +43,334 @@
#include "namespacedef.h"
#include "filedef.h"
#include "config.h"
+#include "definitionimpl.h"
//-----------------------------------------------------------------------------
-int MemberDef::s_indentLevel = 0;
+class MemberDefImpl : public DefinitionImpl, public MemberDef
+{
+ public:
+ MemberDefImpl(const char *defFileName,int defLine,int defColumn,
+ const char *type,const char *name,const char *args,
+ const char *excp,Protection prot,Specifier virt,bool stat,
+ Relationship related,MemberType t,const ArgumentList *tal,
+ const ArgumentList *al,const char *metaData);
+ virtual ~MemberDefImpl();
+
+ virtual DefType definitionType() const { return TypeMember; }
+ virtual MemberDef *deepCopy() const;
+ virtual void moveTo(Definition *);
+ virtual QCString getOutputFileBase() const;
+ virtual QCString getReference() const;
+ virtual QCString anchor() const;
+ virtual const char *declaration() const;
+ virtual const char *definition() const;
+ virtual const char *typeString() const;
+ virtual const char *argsString() const;
+ virtual const char *excpString() const;
+ virtual const char *bitfieldString() const;
+ virtual const char *extraTypeChars() const;
+ virtual const QCString &initializer() const;
+ virtual int initializerLines() const;
+ virtual uint64 getMemberSpecifiers() const;
+ virtual MemberList *getSectionList(Definition *d) const;
+ virtual QCString displayDefinition() const;
+ virtual ClassDef *getClassDef() const;
+ virtual FileDef *getFileDef() const;
+ virtual NamespaceDef* getNamespaceDef() const;
+ virtual ClassDef *accessorClass() const;
+ virtual const char *getReadAccessor() const;
+ virtual const char *getWriteAccessor() const;
+ virtual GroupDef *getGroupDef() const;
+ virtual Grouping::GroupPri_t getGroupPri() const;
+ virtual const char *getGroupFileName() const;
+ virtual int getGroupStartLine() const;
+ virtual bool getGroupHasDocs() const;
+ virtual QCString qualifiedName() const;
+ virtual QCString objCMethodName(bool localLink,bool showStatic) const;
+ virtual Protection protection() const;
+ virtual Specifier virtualness(int count=0) const;
+ virtual MemberType memberType() const;
+ virtual QCString memberTypeName() const;
+ virtual bool isSignal() const;
+ virtual bool isSlot() const;
+ virtual bool isVariable() const;
+ virtual bool isEnumerate() const;
+ virtual bool isEnumValue() const;
+ virtual bool isTypedef() const;
+ virtual bool isSequence() const;
+ virtual bool isDictionary() const;
+ virtual bool isFunction() const;
+ virtual bool isFunctionPtr() const;
+ virtual bool isDefine() const;
+ virtual bool isFriend() const;
+ virtual bool isDCOP() const;
+ virtual bool isProperty() const;
+ virtual bool isEvent() const;
+ virtual bool isRelated() const;
+ virtual bool isForeign() const;
+ virtual bool isStatic() const;
+ virtual bool isInline() const;
+ virtual bool isExplicit() const;
+ virtual bool isMutable() const;
+ virtual bool isGettable() const;
+ virtual bool isPrivateGettable() const;
+ virtual bool isProtectedGettable() const;
+ virtual bool isSettable() const;
+ virtual bool isPrivateSettable() const;
+ virtual bool isProtectedSettable() const;
+ virtual bool isReadable() const;
+ virtual bool isWritable() const;
+ virtual bool isAddable() const;
+ virtual bool isRemovable() const;
+ virtual bool isRaisable() const;
+ virtual bool isFinal() const;
+ virtual bool isAbstract() const;
+ virtual bool isOverride() const;
+ virtual bool isInitonly() const;
+ virtual bool isOptional() const;
+ virtual bool isRequired() const;
+ virtual bool isNonAtomic() const;
+ virtual bool isCopy() const;
+ virtual bool isAssign() const;
+ virtual bool isRetain() const;
+ virtual bool isWeak() const;
+ virtual bool isStrong() const;
+ virtual bool isUnretained() const;
+ virtual bool isNew() const;
+ virtual bool isSealed() const;
+ virtual bool isImplementation() const;
+ virtual bool isExternal() const;
+ virtual bool isAlias() const;
+ virtual bool isDefault() const;
+ virtual bool isDelete() const;
+ virtual bool isNoExcept() const;
+ virtual bool isAttribute() const;
+ virtual bool isUNOProperty() const;
+ virtual bool isReadonly() const;
+ virtual bool isBound() const;
+ virtual bool isConstrained() const;
+ virtual bool isTransient() const;
+ virtual bool isMaybeVoid() const;
+ virtual bool isMaybeDefault() const;
+ virtual bool isMaybeAmbiguous() const;
+ virtual bool isPublished() const;
+ virtual bool isTemplateSpecialization() const;
+ virtual bool hasDocumentedParams() const;
+ virtual bool hasDocumentedReturnType() const;
+ virtual bool isObjCMethod() const;
+ virtual bool isObjCProperty() const;
+ virtual bool isConstructor() const;
+ virtual bool isDestructor() const;
+ virtual bool hasOneLineInitializer() const;
+ virtual bool hasMultiLineInitializer() const;
+ virtual bool showInCallGraph() const;
+ virtual bool isStrongEnumValue() const;
+ virtual bool livesInsideEnum() const;
+ virtual bool isSliceLocal() const;
+ virtual bool isConstExpr() const;
+ virtual bool isFriendToHide() const;
+ virtual bool isNotFriend() const;
+ virtual bool isFunctionOrSignalSlot() const;
+ virtual bool isRelatedOrFriend() const;
+ virtual bool isLinkableInProject() const;
+ virtual bool isLinkable() const;
+ virtual bool hasDocumentation() const;
+ virtual bool isDeleted() const;
+ virtual bool isBriefSectionVisible() const;
+ virtual bool isDetailedSectionVisible(bool inGroup,bool inFile) const;
+ virtual bool isDetailedSectionLinkable() const;
+ virtual bool isFriendClass() const;
+ virtual bool isDocumentedFriendClass() const;
+ virtual MemberDef *reimplements() const;
+ virtual MemberList *reimplementedBy() const;
+ virtual bool isReimplementedBy(ClassDef *cd) const;
+ virtual ClassDef *relatedAlso() const;
+ virtual bool hasDocumentedEnumValues() const;
+ virtual MemberDef *getAnonymousEnumType() const;
+ virtual bool isDocsForDefinition() const;
+ virtual MemberDef *getEnumScope() const;
+ virtual MemberList *enumFieldList() const;
+ virtual void setEnumBaseType(const QCString &type);
+ virtual QCString enumBaseType() const;
+ virtual bool hasExamples();
+ virtual ExampleSDict *getExamples() const;
+ virtual bool isPrototype() const;
+ virtual ArgumentList *argumentList() const;
+ virtual ArgumentList *declArgumentList() const;
+ virtual ArgumentList *templateArguments() const;
+ virtual QList<ArgumentList> *definitionTemplateParameterLists() const;
+ virtual int getMemberGroupId() const;
+ virtual MemberGroup *getMemberGroup() const;
+ virtual bool fromAnonymousScope() const;
+ virtual bool anonymousDeclShown() const;
+ virtual MemberDef *fromAnonymousMember() const;
+ virtual bool hasCallGraph() const;
+ virtual bool hasCallerGraph() const;
+ virtual bool visibleMemberGroup(bool hideNoHeader);
+ virtual bool hasReferencesRelation() const;
+ virtual bool hasReferencedByRelation() const;
+ virtual MemberDef *templateMaster() const;
+ virtual QCString getScopeString() const;
+ virtual ClassDef *getClassDefOfAnonymousType();
+ virtual bool isTypedefValCached() const;
+ virtual ClassDef *getCachedTypedefVal() const;
+ virtual QCString getCachedTypedefTemplSpec() const;
+ virtual QCString getCachedResolvedTypedef() const;
+ virtual MemberDef *memberDefinition() const;
+ virtual MemberDef *memberDeclaration() const;
+ virtual MemberDef *inheritsDocsFrom() const;
+ virtual MemberDef *getGroupAlias() const;
+ virtual ClassDef *category() const;
+ virtual MemberDef *categoryRelation() const;
+ virtual QCString displayName(bool=TRUE) const;
+ virtual QCString getDeclType() const;
+ virtual void getLabels(QStrList &sl,Definition *container) const;
+ virtual const ArgumentList *typeConstraints() const;
+ virtual QCString documentation() const;
+ virtual QCString briefDescription(bool abbr=FALSE) const;
+ virtual QCString fieldType() const;
+ virtual bool isReference() const;
+ virtual QCString getDeclFileName() const;
+ virtual int getDeclLine() const;
+ virtual int getDeclColumn() const;
+ virtual void setMemberType(MemberType t);
+ virtual void setDefinition(const char *d);
+ virtual void setFileDef(FileDef *fd);
+ virtual void setAnchor();
+ virtual void setProtection(Protection p);
+ virtual void setMemberSpecifiers(uint64 s);
+ virtual void mergeMemberSpecifiers(uint64 s);
+ virtual void setInitializer(const char *i);
+ virtual void setBitfields(const char *s);
+ virtual void setMaxInitLines(int lines);
+ virtual void setMemberClass(ClassDef *cd);
+ virtual void setSectionList(Definition *d,MemberList *sl);
+ virtual void setGroupDef(GroupDef *gd,Grouping::GroupPri_t pri,
+ const QCString &fileName,int startLine,bool hasDocs,
+ MemberDef *member=0);
+ virtual void setReadAccessor(const char *r);
+ virtual void setWriteAccessor(const char *w);
+ virtual void setTemplateSpecialization(bool b);
+ virtual void makeRelated();
+ virtual void makeForeign();
+ virtual void setHasDocumentedParams(bool b);
+ virtual void setHasDocumentedReturnType(bool b);
+ virtual void setInheritsDocsFrom(MemberDef *md);
+ virtual void setTagInfo(TagInfo *i);
+ virtual void setArgsString(const char *as);
+ virtual void setReimplements(MemberDef *md);
+ virtual void insertReimplementedBy(MemberDef *md);
+ virtual void setRelatedAlso(ClassDef *cd);
+ virtual void insertEnumField(MemberDef *md);
+ virtual void setEnumScope(MemberDef *md,bool livesInsideEnum=FALSE);
+ virtual void setEnumClassScope(ClassDef *cd);
+ virtual void setDocumentedEnumValues(bool value);
+ virtual void setAnonymousEnumType(MemberDef *md);
+ virtual bool addExample(const char *anchor,const char *name,const char *file);
+ virtual void setPrototype(bool p,const QCString &df,int line, int column);
+ virtual void setExplicitExternal(bool b,const QCString &df,int line,int column);
+ virtual void setDeclFile(const QCString &df,int line,int column);
+ virtual void setArgumentList(ArgumentList *al);
+ virtual void setDeclArgumentList(ArgumentList *al);
+ virtual void setDefinitionTemplateParameterLists(QList<ArgumentList> *lists);
+ virtual void setTypeConstraints(ArgumentList *al);
+ virtual void setType(const char *t);
+ virtual void setAccessorType(ClassDef *cd,const char *t);
+ virtual void setNamespace(NamespaceDef *nd);
+ virtual void setMemberGroup(MemberGroup *grp);
+ virtual void setMemberGroupId(int id);
+ virtual void makeImplementationDetail();
+ virtual void setFromAnonymousScope(bool b);
+ virtual void setFromAnonymousMember(MemberDef *m);
+ virtual void enableCallGraph(bool e);
+ virtual void enableCallerGraph(bool e);
+ virtual void enableReferencedByRelation(bool e);
+ virtual void enableReferencesRelation(bool e);
+ virtual void setTemplateMaster(MemberDef *mt);
+ virtual void addListReference(Definition *d);
+ virtual void setDocsForDefinition(bool b);
+ virtual void setGroupAlias(MemberDef *md);
+ virtual void cacheTypedefVal(ClassDef *val,const QCString &templSpec,const QCString &resolvedType);
+ virtual void invalidateTypedefValCache();
+ virtual void invalidateCachedArgumentTypes();
+ virtual void setMemberDefinition(MemberDef *md);
+ virtual void setMemberDeclaration(MemberDef *md);
+ virtual void setAnonymousUsed();
+ virtual void copyArgumentNames(MemberDef *bmd);
+ virtual void setCategory(ClassDef *);
+ virtual void setCategoryRelation(MemberDef *);
+ virtual void setDocumentation(const char *d,const char *docFile,int docLine,bool stripWhiteSpace=TRUE);
+ virtual void setBriefDescription(const char *b,const char *briefFile,int briefLine);
+ virtual void setInbodyDocumentation(const char *d,const char *inbodyFile,int inbodyLine);
+ virtual void setHidden(bool b);
+ virtual void writeDeclaration(OutputList &ol,
+ ClassDef *cd,NamespaceDef *nd,FileDef *fd,GroupDef *gd,
+ bool inGroup, ClassDef *inheritFrom=0,const char *inheritId=0);
+ virtual void writeDocumentation(MemberList *ml,int memCount,int memTotal,OutputList &ol,
+ const char *scopeName,Definition *container,
+ bool inGroup,bool showEnumValues=FALSE,bool
+ showInline=FALSE);
+ virtual void writeMemberDocSimple(OutputList &ol,Definition *container);
+ virtual void writeEnumDeclaration(OutputList &typeDecl,
+ ClassDef *cd,NamespaceDef *nd,FileDef *fd,GroupDef *gd);
+ virtual void writeTagFile(FTextStream &);
+ virtual void warnIfUndocumented();
+ virtual void warnIfUndocumentedParams();
+ virtual MemberDef *createTemplateInstanceMember(ArgumentList *formalArgs,
+ ArgumentList *actualArgs);
+ virtual void findSectionsInDocumentation();
+ virtual void writeLink(OutputList &ol,
+ ClassDef *cd,NamespaceDef *nd,FileDef *fd,GroupDef *gd,
+ bool onlyText=FALSE);
+ virtual void addToSearchIndex();
+
+ private:
+ void _computeLinkableInProject();
+ void _computeIsConstructor();
+ void _computeIsDestructor();
+ void _writeGroupInclude(OutputList &ol,bool inGroup);
+ void _writeCallGraph(OutputList &ol);
+ void _writeCallerGraph(OutputList &ol);
+ void _writeReimplements(OutputList &ol);
+ void _writeReimplementedBy(OutputList &ol);
+ void _writeExamples(OutputList &ol);
+ void _writeTypeConstraints(OutputList &ol);
+ void _writeEnumValues(OutputList &ol,Definition *container,
+ const QCString &cfname,const QCString &ciname,
+ const QCString &cname);
+ void _writeCategoryRelation(OutputList &ol);
+ void _writeTagData(const DefType);
+
+ static int s_indentLevel;
+
+ // disable copying of member defs
+ MemberDefImpl(const MemberDefImpl &);
+ MemberDefImpl &operator=(const MemberDefImpl &);
+
+
+ // PIMPL idiom
+ class IMPL;
+ IMPL *m_impl;
+ uchar m_isLinkableCached; // 0 = not cached, 1=FALSE, 2=TRUE
+ uchar m_isConstructorCached; // 0 = not cached, 1=FALSE, 2=TRUE
+ uchar m_isDestructorCached; // 0 = not cached, 1=FALSE, 2=TRUE
+};
+
+MemberDef *createMemberDef(const char *defFileName,int defLine,int defColumn,
+ const char *type,const char *name,const char *args,
+ const char *excp,Protection prot,Specifier virt,bool stat,
+ Relationship related,MemberType t,const ArgumentList *tal,
+ const ArgumentList *al,const char *metaData)
+{
+ return new MemberDefImpl(defFileName,defLine,defColumn,type,name,args,excp,prot,virt,
+ stat,related,t,tal,al,metaData);
+}
+
+
+//-----------------------------------------------------------------------------
+
+int MemberDefImpl::s_indentLevel = 0;
//-----------------------------------------------------------------------------
@@ -193,9 +517,9 @@ static bool writeDefArgumentList(OutputList &ol,Definition *scope,MemberDef *md)
cName=cName.mid(il,ir-il+1);
//printf("1. cName=%s\n",cName.data());
}
- else if (scope->definitionType()==Definition::TypeClass && ((ClassDef*)scope)->templateArguments())
+ else if (scope->definitionType()==Definition::TypeClass && (dynamic_cast<ClassDef*>(scope))->templateArguments())
{
- cName=tempArgListToString(((ClassDef*)scope)->templateArguments(),scope->getLanguage());
+ cName=tempArgListToString((dynamic_cast<ClassDef*>(scope))->templateArguments(),scope->getLanguage());
//printf("2. cName=%s\n",cName.data());
}
else // no template specifier
@@ -475,11 +799,11 @@ static void writeTemplatePrefix(OutputList &ol,ArgumentList *al)
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
-class MemberDefImpl
+class MemberDefImpl::IMPL
{
public:
- MemberDefImpl();
- ~MemberDefImpl();
+ IMPL();
+ ~IMPL();
void init(Definition *def,const char *t,const char *a,const char *e,
Protection p,Specifier v,bool s,Relationship r,
MemberType mt,const ArgumentList *tal,
@@ -600,7 +924,7 @@ class MemberDefImpl
int declColumn;
};
-MemberDefImpl::MemberDefImpl() :
+MemberDefImpl::IMPL::IMPL() :
enumFields(0),
redefinedBy(0),
exampleSDict(0),
@@ -617,7 +941,7 @@ MemberDefImpl::MemberDefImpl() :
{
}
-MemberDefImpl::~MemberDefImpl()
+MemberDefImpl::IMPL::~IMPL()
{
delete redefinedBy;
delete exampleSDict;
@@ -630,7 +954,7 @@ MemberDefImpl::~MemberDefImpl()
delete declArgList;
}
-void MemberDefImpl::init(Definition *def,
+void MemberDefImpl::IMPL::init(Definition *def,
const char *t,const char *a,const char *e,
Protection p,Specifier v,bool s,Relationship r,
MemberType mt,const ArgumentList *tal,
@@ -762,32 +1086,32 @@ void MemberDefImpl::init(Definition *def,
* \param meta Slice metadata.
*/
-MemberDef::MemberDef(const char *df,int dl,int dc,
+MemberDefImpl::MemberDefImpl(const char *df,int dl,int dc,
const char *t,const char *na,const char *a,const char *e,
Protection p,Specifier v,bool s,Relationship r,MemberType mt,
const ArgumentList *tal,const ArgumentList *al,const char *meta
- ) : Definition(df,dl,dc,removeRedundantWhiteSpace(na)), visited(FALSE)
+ ) : DefinitionImpl(df,dl,dc,removeRedundantWhiteSpace(na))
{
- //printf("MemberDef::MemberDef(%s)\n",na);
- m_impl = new MemberDefImpl;
+ //printf("MemberDefImpl::MemberDef(%s)\n",na);
+ m_impl = new MemberDefImpl::IMPL;
m_impl->init(this,t,a,e,p,v,s,r,mt,tal,al,meta);
m_isLinkableCached = 0;
m_isConstructorCached = 0;
m_isDestructorCached = 0;
}
-MemberDef::MemberDef(const MemberDef &md) : Definition(md), visited(FALSE)
+MemberDefImpl::MemberDefImpl(const MemberDefImpl &md) : DefinitionImpl(md)
{
- m_impl = new MemberDefImpl;
+ m_impl = new MemberDefImpl::IMPL;
m_isLinkableCached = 0;
m_isConstructorCached = 0;
m_isDestructorCached = 0;
}
-MemberDef *MemberDef::deepCopy() const
+MemberDef *MemberDefImpl::deepCopy() const
{
//MemberDef *result = new MemberDef(getDefFileName(),getDefLine(),name());
- MemberDef *result = new MemberDef(*this);
+ MemberDefImpl *result = new MemberDefImpl(*this);
// first copy everything by reference
*result->m_impl = *m_impl;
// clear pointers owned by object
@@ -858,20 +1182,20 @@ MemberDef *MemberDef::deepCopy() const
return result;
}
-void MemberDef::moveTo(Definition *scope)
+void MemberDefImpl::moveTo(Definition *scope)
{
setOuterScope(scope);
if (scope->definitionType()==Definition::TypeClass)
{
- m_impl->classDef = (ClassDef*)scope;
+ m_impl->classDef = dynamic_cast<ClassDef*>(scope);
}
else if (scope->definitionType()==Definition::TypeFile)
{
- m_impl->fileDef = (FileDef*)scope;
+ m_impl->fileDef = dynamic_cast<FileDef*>(scope);
}
else if (scope->definitionType()==Definition::TypeNamespace)
{
- m_impl->nspace = (NamespaceDef*)scope;
+ m_impl->nspace = dynamic_cast<NamespaceDef*>(scope);
}
m_isLinkableCached = 0;
m_isConstructorCached = 0;
@@ -879,19 +1203,19 @@ void MemberDef::moveTo(Definition *scope)
/*! Destroys the member definition. */
-MemberDef::~MemberDef()
+MemberDefImpl::~MemberDefImpl()
{
delete m_impl;
//printf("%p: ~MemberDef()\n",this);
m_impl=0;
}
-void MemberDef::setReimplements(MemberDef *md)
+void MemberDefImpl::setReimplements(MemberDef *md)
{
m_impl->redefines = md;
}
-void MemberDef::insertReimplementedBy(MemberDef *md)
+void MemberDefImpl::insertReimplementedBy(MemberDef *md)
{
if (m_impl->templateMaster)
{
@@ -904,17 +1228,17 @@ void MemberDef::insertReimplementedBy(MemberDef *md)
}
}
-MemberDef *MemberDef::reimplements() const
+MemberDef *MemberDefImpl::reimplements() const
{
return m_impl->redefines;
}
-MemberList *MemberDef::reimplementedBy() const
+MemberList *MemberDefImpl::reimplementedBy() const
{
return m_impl->redefinedBy;
}
-bool MemberDef::isReimplementedBy(ClassDef *cd) const
+bool MemberDefImpl::isReimplementedBy(ClassDef *cd) const
{
if (cd && m_impl->redefinedBy)
{
@@ -935,13 +1259,13 @@ bool MemberDef::isReimplementedBy(ClassDef *cd) const
return FALSE;
}
-void MemberDef::insertEnumField(MemberDef *md)
+void MemberDefImpl::insertEnumField(MemberDef *md)
{
if (m_impl->enumFields==0) m_impl->enumFields=new MemberList(MemberListType_enumFields);
m_impl->enumFields->append(md);
}
-bool MemberDef::addExample(const char *anchor,const char *nameStr,
+bool MemberDefImpl::addExample(const char *anchor,const char *nameStr,
const char *file)
{
//printf("%s::addExample(%s,%s,%s)\n",name().data(),anchor,nameStr,file);
@@ -959,7 +1283,7 @@ bool MemberDef::addExample(const char *anchor,const char *nameStr,
return FALSE;
}
-bool MemberDef::hasExamples()
+bool MemberDefImpl::hasExamples()
{
if (m_impl->exampleSDict==0)
return FALSE;
@@ -967,7 +1291,7 @@ bool MemberDef::hasExamples()
return m_impl->exampleSDict->count()>0;
}
-QCString MemberDef::getOutputFileBase() const
+QCString MemberDefImpl::getOutputFileBase() const
{
static bool separateMemberPages = Config_getBool(SEPARATE_MEMBER_PAGES);
static bool inlineSimpleClasses = Config_getBool(INLINE_SIMPLE_STRUCTS);
@@ -1027,9 +1351,9 @@ QCString MemberDef::getOutputFileBase() const
return baseName;
}
-QCString MemberDef::getReference() const
+QCString MemberDefImpl::getReference() const
{
- QCString ref = Definition::getReference();
+ QCString ref = DefinitionImpl::getReference();
if (!ref.isEmpty())
{
return ref;
@@ -1057,7 +1381,7 @@ QCString MemberDef::getReference() const
return "";
}
-QCString MemberDef::anchor() const
+QCString MemberDefImpl::anchor() const
{
QCString result=m_impl->anc;
if (m_impl->groupAlias) return m_impl->groupAlias->anchor();
@@ -1080,12 +1404,12 @@ QCString MemberDef::anchor() const
return result;
}
-void MemberDef::_computeLinkableInProject()
+void MemberDefImpl::_computeLinkableInProject()
{
static bool extractStatic = Config_getBool(EXTRACT_STATIC);
static bool extractPrivateVirtual = Config_getBool(EXTRACT_PRIV_VIRTUAL);
m_isLinkableCached = 2; // linkable
- //printf("MemberDef::isLinkableInProject(name=%s)\n",name().data());
+ //printf("MemberDefImpl::isLinkableInProject(name=%s)\n",name().data());
if (isHidden())
{
//printf("is hidden\n");
@@ -1154,42 +1478,42 @@ void MemberDef::_computeLinkableInProject()
return; // linkable!
}
-void MemberDef::setDocumentation(const char *d,const char *docFile,int docLine,bool stripWhiteSpace)
+void MemberDefImpl::setDocumentation(const char *d,const char *docFile,int docLine,bool stripWhiteSpace)
{
- Definition::setDocumentation(d,docFile,docLine,stripWhiteSpace);
+ DefinitionImpl::setDocumentation(d,docFile,docLine,stripWhiteSpace);
m_isLinkableCached = 0;
}
-void MemberDef::setBriefDescription(const char *b,const char *briefFile,int briefLine)
+void MemberDefImpl::setBriefDescription(const char *b,const char *briefFile,int briefLine)
{
- Definition::setBriefDescription(b,briefFile,briefLine);
+ DefinitionImpl::setBriefDescription(b,briefFile,briefLine);
m_isLinkableCached = 0;
}
-void MemberDef::setInbodyDocumentation(const char *d,const char *inbodyFile,int inbodyLine)
+void MemberDefImpl::setInbodyDocumentation(const char *d,const char *inbodyFile,int inbodyLine)
{
- Definition::setInbodyDocumentation(d,inbodyFile,inbodyLine);
+ DefinitionImpl::setInbodyDocumentation(d,inbodyFile,inbodyLine);
m_isLinkableCached = 0;
}
-void MemberDef::setHidden(bool b)
+void MemberDefImpl::setHidden(bool b)
{
- Definition::setHidden(b);
+ DefinitionImpl::setHidden(b);
m_isLinkableCached = 0;
}
-bool MemberDef::isLinkableInProject() const
+bool MemberDefImpl::isLinkableInProject() const
{
if (m_isLinkableCached==0)
{
- MemberDef *that = (MemberDef*)this;
+ MemberDefImpl *that = (MemberDefImpl*)this;
that->_computeLinkableInProject();
}
ASSERT(m_isLinkableCached>0);
return m_isLinkableCached==2;
}
-bool MemberDef::isLinkable() const
+bool MemberDefImpl::isLinkable() const
{
if (m_impl->templateMaster)
{
@@ -1202,7 +1526,7 @@ bool MemberDef::isLinkable() const
}
-void MemberDef::setDefinitionTemplateParameterLists(QList<ArgumentList> *lists)
+void MemberDefImpl::setDefinitionTemplateParameterLists(QList<ArgumentList> *lists)
{
if (lists)
{
@@ -1211,7 +1535,7 @@ void MemberDef::setDefinitionTemplateParameterLists(QList<ArgumentList> *lists)
}
}
-void MemberDef::writeLink(OutputList &ol,ClassDef *,NamespaceDef *,
+void MemberDefImpl::writeLink(OutputList &ol,ClassDef *,NamespaceDef *,
FileDef *fd,GroupDef *gd,bool onlyText)
{
SrcLangExt lang = getLanguage();
@@ -1264,7 +1588,7 @@ void MemberDef::writeLink(OutputList &ol,ClassDef *,NamespaceDef *,
/*! If this member has an anonymous class/struct/union as its type, then
* this method will return the ClassDef that describes this return type.
*/
-ClassDef *MemberDef::getClassDefOfAnonymousType()
+ClassDef *MemberDefImpl::getClassDefOfAnonymousType()
{
if (m_impl->cachedAnonymousType) return m_impl->cachedAnonymousType;
@@ -1317,7 +1641,7 @@ ClassDef *MemberDef::getClassDefOfAnonymousType()
/*! This methods returns TRUE iff the brief section (also known as
* declaration section) is visible in the documentation.
*/
-bool MemberDef::isBriefSectionVisible() const
+bool MemberDefImpl::isBriefSectionVisible() const
{
static bool extractStatic = Config_getBool(EXTRACT_STATIC);
static bool extractPrivateVirtual = Config_getBool(EXTRACT_PRIV_VIRTUAL);
@@ -1411,11 +1735,11 @@ bool MemberDef::isBriefSectionVisible() const
/*visibleIfDocVirtual &&*/ visibleIfNotDefaultCDTor &&
visibleIfFriendCompound &&
!m_impl->annScope && !isHidden();
- //printf("MemberDef::isBriefSectionVisible() %d\n",visible);
+ //printf("MemberDefImpl::isBriefSectionVisible() %d\n",visible);
return visible;
}
-QCString MemberDef::getDeclType() const
+QCString MemberDefImpl::getDeclType() const
{
QCString ltype(m_impl->type);
if (isTypedef() && getLanguage() != SrcLangExt_Slice)
@@ -1443,11 +1767,11 @@ QCString MemberDef::getDeclType() const
return ltype;
}
-void MemberDef::writeDeclaration(OutputList &ol,
+void MemberDefImpl::writeDeclaration(OutputList &ol,
ClassDef *cd,NamespaceDef *nd,FileDef *fd,GroupDef *gd,
bool inGroup, ClassDef *inheritedFrom,const char *inheritId)
{
- //printf("%s MemberDef::writeDeclaration() inGroup=%d\n",qualifiedName().data(),inGroup);
+ //printf("%s MemberDefImpl::writeDeclaration() inGroup=%d\n",qualifiedName().data(),inGroup);
// hide enum value, since they appear already as part of the enum, unless they
// are explicitly grouped.
@@ -1465,7 +1789,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
}
//_writeTagData(compoundType);
- _addToSearchIndex();
+ addToSearchIndex();
QCString cname = d->name();
QCString cdname = d->displayName();
@@ -1898,7 +2222,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
warnIfUndocumented();
}
-bool MemberDef::isDetailedSectionLinkable() const
+bool MemberDefImpl::isDetailedSectionLinkable() const
{
static bool extractAll = Config_getBool(EXTRACT_ALL);
static bool alwaysDetailedSec = Config_getBool(ALWAYS_DETAILED_SEC);
@@ -1968,7 +2292,7 @@ bool MemberDef::isDetailedSectionLinkable() const
return result;
}
-bool MemberDef::isDetailedSectionVisible(bool inGroup,bool inFile) const
+bool MemberDefImpl::isDetailedSectionVisible(bool inGroup,bool inFile) const
{
static bool separateMemPages = Config_getBool(SEPARATE_MEMBER_PAGES);
static bool inlineSimpleStructs = Config_getBool(INLINE_SIMPLE_STRUCTS);
@@ -1986,7 +2310,7 @@ bool MemberDef::isDetailedSectionVisible(bool inGroup,bool inFile) const
return result;
}
-void MemberDef::getLabels(QStrList &sl,Definition *container) const
+void MemberDefImpl::getLabels(QStrList &sl,Definition *container) const
{
static bool inlineInfo = Config_getBool(INLINE_INFO);
@@ -2104,7 +2428,7 @@ void MemberDef::getLabels(QStrList &sl,Definition *container) const
}
}
-void MemberDef::_writeCallGraph(OutputList &ol)
+void MemberDefImpl::_writeCallGraph(OutputList &ol)
{
// write call graph
if (m_impl->hasCallGraph
@@ -2128,7 +2452,7 @@ void MemberDef::_writeCallGraph(OutputList &ol)
}
}
-void MemberDef::_writeCallerGraph(OutputList &ol)
+void MemberDefImpl::_writeCallerGraph(OutputList &ol)
{
if (m_impl->hasCallerGraph
&& (isFunction() || isSlot() || isSignal()) && Config_getBool(HAVE_DOT)
@@ -2151,7 +2475,7 @@ void MemberDef::_writeCallerGraph(OutputList &ol)
}
}
-void MemberDef::_writeReimplements(OutputList &ol)
+void MemberDefImpl::_writeReimplements(OutputList &ol)
{
MemberDef *bmd=reimplements();
ClassDef *bcd=0;
@@ -2210,7 +2534,7 @@ void MemberDef::_writeReimplements(OutputList &ol)
}
}
-void MemberDef::_writeReimplementedBy(OutputList &ol)
+void MemberDefImpl::_writeReimplementedBy(OutputList &ol)
{
MemberList *bml=reimplementedBy();
if (bml)
@@ -2285,7 +2609,7 @@ void MemberDef::_writeReimplementedBy(OutputList &ol)
}
}
-void MemberDef::_writeCategoryRelation(OutputList &ol)
+void MemberDefImpl::_writeCategoryRelation(OutputList &ol)
{
if (m_impl->classDef) // this should be a member of a class/category
{
@@ -2338,7 +2662,7 @@ void MemberDef::_writeCategoryRelation(OutputList &ol)
}
}
-void MemberDef::_writeExamples(OutputList &ol)
+void MemberDefImpl::_writeExamples(OutputList &ol)
{
// write the list of examples that use this member
if (hasExamples())
@@ -2351,7 +2675,7 @@ void MemberDef::_writeExamples(OutputList &ol)
}
}
-void MemberDef::_writeTypeConstraints(OutputList &ol)
+void MemberDefImpl::_writeTypeConstraints(OutputList &ol)
{
if (m_impl->typeConstraints)
{
@@ -2359,7 +2683,7 @@ void MemberDef::_writeTypeConstraints(OutputList &ol)
}
}
-void MemberDef::_writeEnumValues(OutputList &ol,Definition *container,
+void MemberDefImpl::_writeEnumValues(OutputList &ol,Definition *container,
const QCString &cfname,const QCString &ciname,
const QCString &cname)
{
@@ -2433,7 +2757,7 @@ void MemberDef::_writeEnumValues(OutputList &ol,Definition *container,
}
}
-QCString MemberDef::displayDefinition() const
+QCString MemberDefImpl::displayDefinition() const
{
QCString ldef = definition();
QCString title = name();
@@ -2516,7 +2840,7 @@ QCString MemberDef::displayDefinition() const
return substitute(ldef,"::",sep);
}
-void MemberDef::_writeGroupInclude(OutputList &ol,bool inGroup)
+void MemberDefImpl::_writeGroupInclude(OutputList &ol,bool inGroup)
{
// only write out the include file if this is not part of a class or file
// definition
@@ -2560,7 +2884,7 @@ void MemberDef::_writeGroupInclude(OutputList &ol,bool inGroup)
/*! Writes the "detailed documentation" section of this member to
* all active output formats.
*/
-void MemberDef::writeDocumentation(MemberList *ml,
+void MemberDefImpl::writeDocumentation(MemberList *ml,
int memCount,int memTotal,
OutputList &ol,
const char *scName,
@@ -2575,7 +2899,7 @@ void MemberDef::writeDocumentation(MemberList *ml,
bool inFile = container->definitionType()==Definition::TypeFile;
bool hasDocs = isDetailedSectionVisible(inGroup,inFile);
- //printf("MemberDef::writeDocumentation(): name=`%s' hasDocs=`%d' containerType=%d inGroup=%d sectionLinkable=%d\n",
+ //printf("MemberDefImpl::writeDocumentation(): name=`%s' hasDocs=`%d' containerType=%d inGroup=%d sectionLinkable=%d\n",
// name().data(),hasDocs,container->definitionType(),inGroup,isDetailedSectionLinkable());
//if ( !hasDocs ) return;
@@ -2595,7 +2919,7 @@ void MemberDef::writeDocumentation(MemberList *ml,
if (getClassDef()) { scopeName=getClassDef()->displayName(); scopedContainer=getClassDef(); }
else if (getNamespaceDef()) { scopeName=getNamespaceDef()->displayName(); scopedContainer=getNamespaceDef(); }
else if (getFileDef()) { scopeName=getFileDef()->displayName(); scopedContainer=getFileDef(); }
- ciname = ((GroupDef *)container)->groupTitle();
+ ciname = (dynamic_cast<GroupDef *>(container))->groupTitle();
}
else if (container->definitionType()==TypeFile && getNamespaceDef() && lang != SrcLangExt_Python)
{ // member is in a namespace, but is written as part of the file documentation
@@ -3139,7 +3463,7 @@ static Definition *getClassFromType(Definition *scope,const QCString &type,SrcLa
}
#endif
-QCString MemberDef::fieldType() const
+QCString MemberDefImpl::fieldType() const
{
QCString type = m_impl->accessorType;
if (type.isEmpty())
@@ -3151,7 +3475,7 @@ QCString MemberDef::fieldType() const
return simplifyTypeForTable(type);
}
-void MemberDef::writeMemberDocSimple(OutputList &ol, Definition *container)
+void MemberDefImpl::writeMemberDocSimple(OutputList &ol, Definition *container)
{
Definition *scope = getOuterScope();
QCString doxyName = name();
@@ -3169,7 +3493,7 @@ void MemberDef::writeMemberDocSimple(OutputList &ol, Definition *container)
//printf("===> %s::anonymous: %s\n",name().data(),cd?cd->name().data():"<none>");
if (container && container->definitionType()==Definition::TypeClass &&
- !((ClassDef*)container)->isJavaEnum())
+ !(dynamic_cast<ClassDef*>(container))->isJavaEnum())
{
ol.startInlineMemberType();
ol.startDoxyAnchor(cfname,cname,memAnchor,doxyName,doxyArgs);
@@ -3246,7 +3570,7 @@ void MemberDef::writeMemberDocSimple(OutputList &ol, Definition *container)
ol.endInlineMemberDoc();
}
-QCString MemberDef::memberTypeName() const
+QCString MemberDefImpl::memberTypeName() const
{
switch (m_impl->mtype)
{
@@ -3270,7 +3594,7 @@ QCString MemberDef::memberTypeName() const
}
}
-void MemberDef::warnIfUndocumented()
+void MemberDefImpl::warnIfUndocumented()
{
/*
* Removed bug_303020:
@@ -3318,7 +3642,7 @@ void MemberDef::warnIfUndocumented()
}
-void MemberDef::warnIfUndocumentedParams()
+void MemberDefImpl::warnIfUndocumentedParams()
{
if (!Config_getBool(EXTRACT_ALL) &&
Config_getBool(WARN_IF_UNDOCUMENTED) &&
@@ -3342,14 +3666,14 @@ void MemberDef::warnIfUndocumentedParams()
}
}
-bool MemberDef::isFriendClass() const
+bool MemberDefImpl::isFriendClass() const
{
return (isFriend() &&
(m_impl->type=="friend class" || m_impl->type=="friend struct" ||
m_impl->type=="friend union"));
}
-bool MemberDef::isDocumentedFriendClass() const
+bool MemberDefImpl::isDocumentedFriendClass() const
{
ClassDef *fcd=0;
QCString baseName=name();
@@ -3359,39 +3683,39 @@ bool MemberDef::isDocumentedFriendClass() const
(fcd=getClass(baseName)) && fcd->isLinkable());
}
-bool MemberDef::isDeleted() const
+bool MemberDefImpl::isDeleted() const
{
return m_impl->defArgList && m_impl->defArgList->isDeleted;
}
-bool MemberDef::hasDocumentation() const
+bool MemberDefImpl::hasDocumentation() const
{
- return Definition::hasDocumentation() ||
+ return DefinitionImpl::hasDocumentation() ||
(m_impl->mtype==MemberType_Enumeration && m_impl->docEnumValues) || // has enum values
(m_impl->defArgList!=0 && m_impl->defArgList->hasDocumentation()); // has doc arguments
}
#if 0
-bool MemberDef::hasUserDocumentation() const
+bool MemberDefImpl::hasUserDocumentation() const
{
- bool hasDocs = Definition::hasUserDocumentation();
+ bool hasDocs = DefinitionImpl::hasUserDocumentation();
return hasDocs;
}
#endif
-void MemberDef::setMemberGroup(MemberGroup *grp)
+void MemberDefImpl::setMemberGroup(MemberGroup *grp)
{
m_impl->memberGroup = grp;
}
-bool MemberDef::visibleMemberGroup(bool hideNoHeader)
+bool MemberDefImpl::visibleMemberGroup(bool hideNoHeader)
{
return m_impl->memberGroup!=0 &&
(!hideNoHeader || m_impl->memberGroup->header()!="[NOHEADER]");
}
-QCString MemberDef::getScopeString() const
+QCString MemberDefImpl::getScopeString() const
{
QCString result;
if (getClassDef()) result=getClassDef()->displayName();
@@ -3424,7 +3748,7 @@ static QCString escapeAnchor(const QCString &anchor)
}
#endif
-void MemberDef::setAnchor()
+void MemberDefImpl::setAnchor()
{
QCString memAnchor = name();
if (!m_impl->args.isEmpty()) memAnchor+=m_impl->args;
@@ -3453,11 +3777,11 @@ void MemberDef::setAnchor()
m_impl->anc = "a"+sigStr;
}
-void MemberDef::setGroupDef(GroupDef *gd,Grouping::GroupPri_t pri,
+void MemberDefImpl::setGroupDef(GroupDef *gd,Grouping::GroupPri_t pri,
const QCString &fileName,int startLine,
bool hasDocs,MemberDef *member)
{
- //printf("%s MemberDef::setGroupDef(%s)\n",name().data(),gd->name().data());
+ //printf("%s MemberDefImpl::setGroupDef(%s)\n",name().data(),gd->name().data());
m_impl->group=gd;
m_impl->grouppri=pri;
m_impl->groupFileName=fileName;
@@ -3467,7 +3791,7 @@ void MemberDef::setGroupDef(GroupDef *gd,Grouping::GroupPri_t pri,
m_isLinkableCached = 0;
}
-void MemberDef::setEnumScope(MemberDef *md,bool livesInsideEnum)
+void MemberDefImpl::setEnumScope(MemberDef *md,bool livesInsideEnum)
{
m_impl->enumScope=md;
m_impl->livesInsideEnum=livesInsideEnum;
@@ -3482,7 +3806,7 @@ void MemberDef::setEnumScope(MemberDef *md,bool livesInsideEnum)
}
}
-void MemberDef::setMemberClass(ClassDef *cd)
+void MemberDefImpl::setMemberClass(ClassDef *cd)
{
m_impl->classDef=cd;
m_isLinkableCached = 0;
@@ -3490,13 +3814,13 @@ void MemberDef::setMemberClass(ClassDef *cd)
setOuterScope(cd);
}
-void MemberDef::setNamespace(NamespaceDef *nd)
+void MemberDefImpl::setNamespace(NamespaceDef *nd)
{
m_impl->nspace=nd;
setOuterScope(nd);
}
-MemberDef *MemberDef::createTemplateInstanceMember(
+MemberDef *MemberDefImpl::createTemplateInstanceMember(
ArgumentList *formalArgs,ArgumentList *actualArgs)
{
//printf(" Member %s %s %s\n",typeString(),name().data(),argsString());
@@ -3522,7 +3846,7 @@ MemberDef *MemberDef::createTemplateInstanceMember(
methodName=substituteTemplateArgumentsInString(methodName,formalArgs,actualArgs);
}
- MemberDef *imd = new MemberDef(
+ MemberDef *imd = createMemberDef(
getDefFileName(),getDefLine(),getDefColumn(),
substituteTemplateArgumentsInString(m_impl->type,formalArgs,actualArgs),
methodName,
@@ -3541,7 +3865,7 @@ MemberDef *MemberDef::createTemplateInstanceMember(
return imd;
}
-bool MemberDef::hasOneLineInitializer() const
+bool MemberDefImpl::hasOneLineInitializer() const
{
//printf("%s: init=%s, initLines=%d maxInitLines=%d userInitLines=%d\n",
// name().data(),m_impl->initializer.data(),m_impl->initLines,
@@ -3550,7 +3874,7 @@ bool MemberDef::hasOneLineInitializer() const
((m_impl->maxInitLines>0 && m_impl->userInitLines==-1) || m_impl->userInitLines>0); // enabled by default or explicitly
}
-bool MemberDef::hasMultiLineInitializer() const
+bool MemberDefImpl::hasMultiLineInitializer() const
{
//printf("initLines=%d userInitLines=%d maxInitLines=%d\n",
// initLines,userInitLines,maxInitLines);
@@ -3560,7 +3884,7 @@ bool MemberDef::hasMultiLineInitializer() const
);
}
-void MemberDef::setInitializer(const char *initializer)
+void MemberDefImpl::setInitializer(const char *initializer)
{
m_impl->initializer=initializer;
int l=m_impl->initializer.length();
@@ -3571,14 +3895,13 @@ void MemberDef::setInitializer(const char *initializer)
//printf("%s::setInitializer(%s)\n",name().data(),m_impl->initializer.data());
}
-void MemberDef::addListReference(Definition *)
+void MemberDefImpl::addListReference(Definition *)
{
static bool optimizeOutputForC = Config_getBool(OPTIMIZE_OUTPUT_FOR_C);
//static bool hideScopeNames = Config_getBool(HIDE_SCOPE_NAMES);
//static bool optimizeOutputJava = Config_getBool(OPTIMIZE_OUTPUT_JAVA);
//static bool fortranOpt = Config_getBool(OPTIMIZE_FOR_FORTRAN);
SrcLangExt lang = getLanguage();
- visited=TRUE;
if (!isLinkableInProject()) return;
QCString memLabel;
if (optimizeOutputForC)
@@ -3596,7 +3919,7 @@ void MemberDef::addListReference(Definition *)
QCString memName = name();
Definition *pd=getOuterScope();
QCString pdName = pd->definitionType()==Definition::TypeClass ?
- ((ClassDef*)pd)->displayName() : pd->name();
+ (dynamic_cast<ClassDef*>(pd))->displayName() : pd->name();
QCString sep = getLanguageSpecificSeparator(lang,TRUE);
QCString memArgs;
if (!isRelated()
@@ -3631,16 +3954,16 @@ void MemberDef::addListReference(Definition *)
}
}
-MemberList *MemberDef::getSectionList(Definition *d) const
+MemberList *MemberDefImpl::getSectionList(Definition *d) const
{
char key[20];
sprintf(key,"%p",d);
return (d!=0 && m_impl->classSectionSDict) ? m_impl->classSectionSDict->find(key) : 0;
}
-void MemberDef::setSectionList(Definition *d, MemberList *sl)
+void MemberDefImpl::setSectionList(Definition *d, MemberList *sl)
{
- //printf("MemberDef::setSectionList(%p,%p) name=%s\n",d,sl,name().data());
+ //printf("MemberDefImpl::setSectionList(%p,%p) name=%s\n",d,sl,name().data());
char key[20];
sprintf(key,"%p",d);
if (m_impl->classSectionSDict==0)
@@ -3650,7 +3973,7 @@ void MemberDef::setSectionList(Definition *d, MemberList *sl)
m_impl->classSectionSDict->append(key,sl);
}
-Specifier MemberDef::virtualness(int count) const
+Specifier MemberDefImpl::virtualness(int count) const
{
if (count>25)
{
@@ -3670,7 +3993,7 @@ Specifier MemberDef::virtualness(int count) const
return v;
}
-void MemberDef::writeTagFile(FTextStream &tagFile)
+void MemberDefImpl::writeTagFile(FTextStream &tagFile)
{
if (!isLinkableInProject()) return;
tagFile << " <member kind=\"";
@@ -3751,7 +4074,7 @@ void MemberDef::writeTagFile(FTextStream &tagFile)
tagFile << " </member>" << endl;
}
-void MemberDef::_computeIsConstructor()
+void MemberDefImpl::_computeIsConstructor()
{
m_isConstructorCached=1; // FALSE
if (m_impl->classDef)
@@ -3794,11 +4117,11 @@ void MemberDef::_computeIsConstructor()
}
}
-bool MemberDef::isConstructor() const
+bool MemberDefImpl::isConstructor() const
{
if (m_isConstructorCached==0)
{
- MemberDef *that = (MemberDef*)this;
+ MemberDefImpl *that = (MemberDefImpl*)this;
that->_computeIsConstructor();
}
ASSERT(m_isConstructorCached>0);
@@ -3806,7 +4129,7 @@ bool MemberDef::isConstructor() const
}
-void MemberDef::_computeIsDestructor()
+void MemberDefImpl::_computeIsDestructor()
{
bool isDestructor;
if (m_impl->isDMember) // for D
@@ -3835,18 +4158,18 @@ void MemberDef::_computeIsDestructor()
m_isDestructorCached = isDestructor ? 2 : 1;
}
-bool MemberDef::isDestructor() const
+bool MemberDefImpl::isDestructor() const
{
if (m_isDestructorCached==0)
{
- MemberDef *that=(MemberDef*)this;
+ MemberDefImpl *that=(MemberDefImpl*)this;
that->_computeIsDestructor();
}
ASSERT(m_isDestructorCached>0);
return m_isDestructorCached==2;
}
-void MemberDef::writeEnumDeclaration(OutputList &typeDecl,
+void MemberDefImpl::writeEnumDeclaration(OutputList &typeDecl,
ClassDef *cd,NamespaceDef *nd,FileDef *fd,GroupDef *gd)
{
int enumMemCount=0;
@@ -3875,7 +4198,7 @@ void MemberDef::writeEnumDeclaration(OutputList &typeDecl,
if (isLinkableInProject() || hasDocumentedEnumValues())
{
//_writeTagData(compoundType);
- _addToSearchIndex();
+ addToSearchIndex();
writeLink(typeDecl,cd,nd,fd,gd);
}
else
@@ -3926,7 +4249,7 @@ void MemberDef::writeEnumDeclaration(OutputList &typeDecl,
if (fmd->hasDocumentation()) // enum value has docs
{
//fmd->_writeTagData(compoundType);
- fmd->_addToSearchIndex();
+ fmd->addToSearchIndex();
fmd->writeLink(typeDecl,cd,nd,fd,gd);
}
else // no docs for this enum value
@@ -3970,19 +4293,19 @@ void MemberDef::writeEnumDeclaration(OutputList &typeDecl,
}
}
-void MemberDef::setArgumentList(ArgumentList *al)
+void MemberDefImpl::setArgumentList(ArgumentList *al)
{
if (m_impl->defArgList) delete m_impl->defArgList;
m_impl->defArgList = al;
}
-void MemberDef::setDeclArgumentList(ArgumentList *al)
+void MemberDefImpl::setDeclArgumentList(ArgumentList *al)
{
if (m_impl->declArgList) delete m_impl->declArgList;
m_impl->declArgList = al;
}
-void MemberDef::setTypeConstraints(ArgumentList *al)
+void MemberDefImpl::setTypeConstraints(ArgumentList *al)
{
if (al==0) return;
if (m_impl->typeConstraints) delete m_impl->typeConstraints;
@@ -3996,53 +4319,53 @@ void MemberDef::setTypeConstraints(ArgumentList *al)
}
}
-void MemberDef::setType(const char *t)
+void MemberDefImpl::setType(const char *t)
{
m_impl->type = t;
}
-void MemberDef::setAccessorType(ClassDef *cd,const char *t)
+void MemberDefImpl::setAccessorType(ClassDef *cd,const char *t)
{
m_impl->accessorClass = cd;
m_impl->accessorType = t;
}
-ClassDef *MemberDef::accessorClass() const
+ClassDef *MemberDefImpl::accessorClass() const
{
return m_impl->accessorClass;
}
-void MemberDef::findSectionsInDocumentation()
+void MemberDefImpl::findSectionsInDocumentation()
{
docFindSections(documentation(),this,0,docFile());
}
-void MemberDef::enableCallGraph(bool e)
+void MemberDefImpl::enableCallGraph(bool e)
{
m_impl->hasCallGraph=e;
if (e) Doxygen::parseSourcesNeeded = TRUE;
}
-void MemberDef::enableCallerGraph(bool e)
+void MemberDefImpl::enableCallerGraph(bool e)
{
m_impl->hasCallerGraph=e;
if (e) Doxygen::parseSourcesNeeded = TRUE;
}
-void MemberDef::enableReferencedByRelation(bool e)
+void MemberDefImpl::enableReferencedByRelation(bool e)
{
m_impl->hasReferencedByRelation=e;
if (e) Doxygen::parseSourcesNeeded = TRUE;
}
-void MemberDef::enableReferencesRelation(bool e)
+void MemberDefImpl::enableReferencesRelation(bool e)
{
m_impl->hasReferencesRelation=e;
if (e) Doxygen::parseSourcesNeeded = TRUE;
}
#if 0
-bool MemberDef::protectionVisible() const
+bool MemberDefImpl::protectionVisible() const
{
return m_impl->prot==Public ||
(m_impl->prot==Private && Config_getBool(EXTRACT_PRIVATE)) ||
@@ -4052,7 +4375,7 @@ bool MemberDef::protectionVisible() const
#endif
#if 0
-void MemberDef::setInbodyDocumentation(const char *docs,
+void MemberDefImpl::setInbodyDocumentation(const char *docs,
const char *docFile,int docLine)
{
m_impl->inbodyDocs = docs;
@@ -4062,19 +4385,19 @@ void MemberDef::setInbodyDocumentation(const char *docs,
}
#endif
-bool MemberDef::isObjCMethod() const
+bool MemberDefImpl::isObjCMethod() const
{
if (m_impl->classDef && m_impl->classDef->isObjectiveC() && isFunction()) return TRUE;
return FALSE;
}
-bool MemberDef::isObjCProperty() const
+bool MemberDefImpl::isObjCProperty() const
{
if (m_impl->classDef && m_impl->classDef->isObjectiveC() && isProperty()) return TRUE;
return FALSE;
}
-QCString MemberDef::qualifiedName() const
+QCString MemberDefImpl::qualifiedName() const
{
if (isObjCMethod())
{
@@ -4094,11 +4417,11 @@ QCString MemberDef::qualifiedName() const
}
else
{
- return Definition::qualifiedName();
+ return DefinitionImpl::qualifiedName();
}
}
-void MemberDef::setTagInfo(TagInfo *ti)
+void MemberDefImpl::setTagInfo(TagInfo *ti)
{
if (ti)
{
@@ -4109,7 +4432,7 @@ void MemberDef::setTagInfo(TagInfo *ti)
}
}
-QCString MemberDef::objCMethodName(bool localLink,bool showStatic) const
+QCString MemberDefImpl::objCMethodName(bool localLink,bool showStatic) const
{
QCString qm;
if (showStatic)
@@ -4126,455 +4449,455 @@ QCString MemberDef::objCMethodName(bool localLink,bool showStatic) const
return qm;
}
-const char *MemberDef::declaration() const
+const char *MemberDefImpl::declaration() const
{
return m_impl->decl;
}
-const char *MemberDef::definition() const
+const char *MemberDefImpl::definition() const
{
return m_impl->def;
}
-const char *MemberDef::extraTypeChars() const
+const char *MemberDefImpl::extraTypeChars() const
{
return m_impl->extraTypeChars;
}
-const char *MemberDef::typeString() const
+const char *MemberDefImpl::typeString() const
{
return m_impl->type;
}
-const char *MemberDef::argsString() const
+const char *MemberDefImpl::argsString() const
{
return m_impl->args;
}
-const char *MemberDef::excpString() const
+const char *MemberDefImpl::excpString() const
{
return m_impl->exception;
}
-const char *MemberDef::bitfieldString() const
+const char *MemberDefImpl::bitfieldString() const
{
return m_impl->bitfields;
}
-const QCString &MemberDef::initializer() const
+const QCString &MemberDefImpl::initializer() const
{
return m_impl->initializer;
}
-int MemberDef::initializerLines() const
+int MemberDefImpl::initializerLines() const
{
return m_impl->initLines;
}
-uint64 MemberDef::getMemberSpecifiers() const
+uint64 MemberDefImpl::getMemberSpecifiers() const
{
return m_impl->memSpec;
}
-ClassDef *MemberDef::getClassDef() const
+ClassDef *MemberDefImpl::getClassDef() const
{
return m_impl->classDef;
}
-FileDef *MemberDef::getFileDef() const
+FileDef *MemberDefImpl::getFileDef() const
{
return m_impl->fileDef;
}
-NamespaceDef* MemberDef::getNamespaceDef() const
+NamespaceDef* MemberDefImpl::getNamespaceDef() const
{
return m_impl->nspace;
}
-const char *MemberDef::getReadAccessor() const
+const char *MemberDefImpl::getReadAccessor() const
{
return m_impl->read;
}
-const char *MemberDef::getWriteAccessor() const
+const char *MemberDefImpl::getWriteAccessor() const
{
return m_impl->write;
}
-GroupDef *MemberDef::getGroupDef() const
+GroupDef *MemberDefImpl::getGroupDef() const
{
return m_impl->group;
}
-Grouping::GroupPri_t MemberDef::getGroupPri() const
+Grouping::GroupPri_t MemberDefImpl::getGroupPri() const
{
return m_impl->grouppri;
}
-const char *MemberDef::getGroupFileName() const
+const char *MemberDefImpl::getGroupFileName() const
{
return m_impl->groupFileName;
}
-int MemberDef::getGroupStartLine() const
+int MemberDefImpl::getGroupStartLine() const
{
return m_impl->groupStartLine;
}
-bool MemberDef::getGroupHasDocs() const
+bool MemberDefImpl::getGroupHasDocs() const
{
return m_impl->groupHasDocs;
}
-Protection MemberDef::protection() const
+Protection MemberDefImpl::protection() const
{
return m_impl->prot;
}
-MemberType MemberDef::memberType() const
+MemberType MemberDefImpl::memberType() const
{
return m_impl->mtype;
}
-bool MemberDef::isSignal() const
+bool MemberDefImpl::isSignal() const
{
return m_impl->mtype==MemberType_Signal;
}
-bool MemberDef::isSlot() const
+bool MemberDefImpl::isSlot() const
{
return m_impl->mtype==MemberType_Slot;
}
-bool MemberDef::isVariable() const
+bool MemberDefImpl::isVariable() const
{
return m_impl->mtype==MemberType_Variable;
}
-bool MemberDef::isEnumerate() const
+bool MemberDefImpl::isEnumerate() const
{
return m_impl->mtype==MemberType_Enumeration;
}
-bool MemberDef::isEnumValue() const
+bool MemberDefImpl::isEnumValue() const
{
return m_impl->mtype==MemberType_EnumValue;
}
-bool MemberDef::isTypedef() const
+bool MemberDefImpl::isTypedef() const
{
return m_impl->mtype==MemberType_Typedef;
}
-bool MemberDef::isSequence() const
+bool MemberDefImpl::isSequence() const
{
return m_impl->mtype==MemberType_Sequence;
}
-bool MemberDef::isDictionary() const
+bool MemberDefImpl::isDictionary() const
{
return m_impl->mtype==MemberType_Dictionary;
}
-bool MemberDef::isFunction() const
+bool MemberDefImpl::isFunction() const
{
return m_impl->mtype==MemberType_Function;
}
-bool MemberDef::isFunctionPtr() const
+bool MemberDefImpl::isFunctionPtr() const
{
return m_impl->mtype==MemberType_Variable && QCString(argsString()).find(")(")!=-1;
}
-bool MemberDef::isDefine() const
+bool MemberDefImpl::isDefine() const
{
return m_impl->mtype==MemberType_Define;
}
-bool MemberDef::isFriend() const
+bool MemberDefImpl::isFriend() const
{
return m_impl->mtype==MemberType_Friend;
}
-bool MemberDef::isDCOP() const
+bool MemberDefImpl::isDCOP() const
{
return m_impl->mtype==MemberType_DCOP;
}
-bool MemberDef::isProperty() const
+bool MemberDefImpl::isProperty() const
{
return m_impl->mtype==MemberType_Property;
}
-bool MemberDef::isEvent() const
+bool MemberDefImpl::isEvent() const
{
return m_impl->mtype==MemberType_Event;
}
-bool MemberDef::isRelated() const
+bool MemberDefImpl::isRelated() const
{
return m_impl->related == Related;
}
-bool MemberDef::isForeign() const
+bool MemberDefImpl::isForeign() const
{
return m_impl->related == Foreign;
}
-bool MemberDef::isStatic() const
+bool MemberDefImpl::isStatic() const
{
return m_impl->stat;
}
-bool MemberDef::isInline() const
+bool MemberDefImpl::isInline() const
{
return (m_impl->memSpec&Entry::Inline)!=0;
}
-bool MemberDef::isExplicit() const
+bool MemberDefImpl::isExplicit() const
{
return (m_impl->memSpec&Entry::Explicit)!=0;
}
-bool MemberDef::isMutable() const
+bool MemberDefImpl::isMutable() const
{
return (m_impl->memSpec&Entry::Mutable)!=0;
}
-bool MemberDef::isGettable() const
+bool MemberDefImpl::isGettable() const
{
return (m_impl->memSpec&Entry::Gettable)!=0;
}
-bool MemberDef::isPrivateGettable() const
+bool MemberDefImpl::isPrivateGettable() const
{
return (m_impl->memSpec&Entry::PrivateGettable)!=0;
}
-bool MemberDef::isProtectedGettable() const
+bool MemberDefImpl::isProtectedGettable() const
{
return (m_impl->memSpec&Entry::ProtectedGettable)!=0;
}
-bool MemberDef::isSettable() const
+bool MemberDefImpl::isSettable() const
{
return (m_impl->memSpec&Entry::Settable)!=0;
}
-bool MemberDef::isPrivateSettable() const
+bool MemberDefImpl::isPrivateSettable() const
{
return (m_impl->memSpec&Entry::PrivateSettable)!=0;
}
-bool MemberDef::isProtectedSettable() const
+bool MemberDefImpl::isProtectedSettable() const
{
return (m_impl->memSpec&Entry::ProtectedSettable)!=0;
}
-bool MemberDef::isAddable() const
+bool MemberDefImpl::isAddable() const
{
return (m_impl->memSpec&Entry::Addable)!=0;
}
-bool MemberDef::isRemovable() const
+bool MemberDefImpl::isRemovable() const
{
return (m_impl->memSpec&Entry::Removable)!=0;
}
-bool MemberDef::isRaisable() const
+bool MemberDefImpl::isRaisable() const
{
return (m_impl->memSpec&Entry::Raisable)!=0;
}
-bool MemberDef::isReadable() const
+bool MemberDefImpl::isReadable() const
{
return (m_impl->memSpec&Entry::Readable)!=0;
}
-bool MemberDef::isWritable() const
+bool MemberDefImpl::isWritable() const
{
return (m_impl->memSpec&Entry::Writable)!=0;
}
-bool MemberDef::isFinal() const
+bool MemberDefImpl::isFinal() const
{
return (m_impl->memSpec&Entry::Final)!=0;
}
-bool MemberDef::isNew() const
+bool MemberDefImpl::isNew() const
{
return (m_impl->memSpec&Entry::New)!=0;
}
-bool MemberDef::isSealed() const
+bool MemberDefImpl::isSealed() const
{
return (m_impl->memSpec&Entry::Sealed)!=0;
}
-bool MemberDef::isOverride() const
+bool MemberDefImpl::isOverride() const
{
return (m_impl->memSpec&Entry::Override)!=0;
}
-bool MemberDef::isInitonly() const
+bool MemberDefImpl::isInitonly() const
{
return (m_impl->memSpec&Entry::Initonly)!=0;
}
-bool MemberDef::isAbstract() const
+bool MemberDefImpl::isAbstract() const
{
return (m_impl->memSpec&Entry::Abstract)!=0;
}
-bool MemberDef::isOptional() const
+bool MemberDefImpl::isOptional() const
{
return (m_impl->memSpec&Entry::Optional)!=0;
}
-bool MemberDef::isRequired() const
+bool MemberDefImpl::isRequired() const
{
return (m_impl->memSpec&Entry::Required)!=0;
}
-bool MemberDef::isNonAtomic() const
+bool MemberDefImpl::isNonAtomic() const
{
return (m_impl->memSpec&Entry::NonAtomic)!=0;
}
-bool MemberDef::isCopy() const
+bool MemberDefImpl::isCopy() const
{
return (m_impl->memSpec&Entry::Copy)!=0;
}
-bool MemberDef::isAssign() const
+bool MemberDefImpl::isAssign() const
{
return (m_impl->memSpec&Entry::Assign)!=0;
}
-bool MemberDef::isRetain() const
+bool MemberDefImpl::isRetain() const
{
return (m_impl->memSpec&Entry::Retain)!=0;
}
-bool MemberDef::isWeak() const
+bool MemberDefImpl::isWeak() const
{
return (m_impl->memSpec&Entry::Weak)!=0;
}
-bool MemberDef::isStrong() const
+bool MemberDefImpl::isStrong() const
{
return (m_impl->memSpec&Entry::Strong)!=0;
}
-bool MemberDef::isStrongEnumValue() const
+bool MemberDefImpl::isStrongEnumValue() const
{
return m_impl->mtype==MemberType_EnumValue &&
m_impl->enumScope &&
m_impl->enumScope->isStrong();
}
-bool MemberDef::isUnretained() const
+bool MemberDefImpl::isUnretained() const
{
return (m_impl->memSpec&Entry::Unretained)!=0;
}
-bool MemberDef::isAlias() const
+bool MemberDefImpl::isAlias() const
{
return (m_impl->memSpec&Entry::Alias)!=0;
}
-bool MemberDef::isDefault() const
+bool MemberDefImpl::isDefault() const
{
return (m_impl->memSpec&Entry::Default)!=0;
}
-bool MemberDef::isDelete() const
+bool MemberDefImpl::isDelete() const
{
return (m_impl->memSpec&Entry::Delete)!=0;
}
-bool MemberDef::isNoExcept() const
+bool MemberDefImpl::isNoExcept() const
{
return (m_impl->memSpec&Entry::NoExcept)!=0;
}
-bool MemberDef::isAttribute() const
+bool MemberDefImpl::isAttribute() const
{
return (m_impl->memSpec&Entry::Attribute)!=0;
}
-bool MemberDef::isUNOProperty() const
+bool MemberDefImpl::isUNOProperty() const
{
return (m_impl->memSpec&Entry::Property)!=0;
}
-bool MemberDef::isReadonly() const
+bool MemberDefImpl::isReadonly() const
{
return (m_impl->memSpec&Entry::Readonly)!=0;
}
-bool MemberDef::isBound() const
+bool MemberDefImpl::isBound() const
{
return (m_impl->memSpec&Entry::Bound)!=0;
}
-bool MemberDef::isConstrained() const
+bool MemberDefImpl::isConstrained() const
{
return (m_impl->memSpec&Entry::Constrained)!=0;
}
-bool MemberDef::isTransient() const
+bool MemberDefImpl::isTransient() const
{
return (m_impl->memSpec&Entry::Transient)!=0;
}
-bool MemberDef::isMaybeVoid() const
+bool MemberDefImpl::isMaybeVoid() const
{
return (m_impl->memSpec&Entry::MaybeVoid)!=0;
}
-bool MemberDef::isMaybeDefault() const
+bool MemberDefImpl::isMaybeDefault() const
{
return (m_impl->memSpec&Entry::MaybeDefault)!=0;
}
-bool MemberDef::isMaybeAmbiguous() const
+bool MemberDefImpl::isMaybeAmbiguous() const
{
return (m_impl->memSpec&Entry::MaybeAmbiguous)!=0;
}
-bool MemberDef::isPublished() const
+bool MemberDefImpl::isPublished() const
{
return (m_impl->memSpec&Entry::Published)!=0;
}
-bool MemberDef::isImplementation() const
+bool MemberDefImpl::isImplementation() const
{
return m_impl->implOnly;
}
-bool MemberDef::isExternal() const
+bool MemberDefImpl::isExternal() const
{
return m_impl->explExt;
}
-bool MemberDef::isTemplateSpecialization() const
+bool MemberDefImpl::isTemplateSpecialization() const
{
return m_impl->tspec;
}
-bool MemberDef::hasDocumentedParams() const
+bool MemberDefImpl::hasDocumentedParams() const
{
return m_impl->hasDocumentedParams;
}
-bool MemberDef::hasDocumentedReturnType() const
+bool MemberDefImpl::hasDocumentedReturnType() const
{
return m_impl->hasDocumentedReturnType;
}
-bool MemberDef::showInCallGraph() const
+bool MemberDefImpl::showInCallGraph() const
{
return isFunction() ||
isSlot() ||
@@ -4583,183 +4906,183 @@ bool MemberDef::showInCallGraph() const
isObjCMethod();
}
-ClassDef *MemberDef::relatedAlso() const
+ClassDef *MemberDefImpl::relatedAlso() const
{
return m_impl->relatedAlso;
}
-bool MemberDef::hasDocumentedEnumValues() const
+bool MemberDefImpl::hasDocumentedEnumValues() const
{
return m_impl->docEnumValues;
}
-MemberDef *MemberDef::getAnonymousEnumType() const
+MemberDef *MemberDefImpl::getAnonymousEnumType() const
{
return m_impl->annEnumType;
}
-bool MemberDef::isDocsForDefinition() const
+bool MemberDefImpl::isDocsForDefinition() const
{
return m_impl->docsForDefinition;
}
-MemberDef *MemberDef::getEnumScope() const
+MemberDef *MemberDefImpl::getEnumScope() const
{
return m_impl->enumScope;
}
-bool MemberDef::livesInsideEnum() const
+bool MemberDefImpl::livesInsideEnum() const
{
return m_impl->livesInsideEnum;
}
-bool MemberDef::isSliceLocal() const
+bool MemberDefImpl::isSliceLocal() const
{
return (m_impl->memSpec&Entry::Local)!=0;
}
-bool MemberDef::isConstExpr() const
+bool MemberDefImpl::isConstExpr() const
{
return (m_impl->memSpec&Entry::ConstExpr)!=0;
}
-MemberList *MemberDef::enumFieldList() const
+MemberList *MemberDefImpl::enumFieldList() const
{
return m_impl->enumFields;
}
-ExampleSDict *MemberDef::getExamples() const
+ExampleSDict *MemberDefImpl::getExamples() const
{
return m_impl->exampleSDict;
}
-bool MemberDef::isPrototype() const
+bool MemberDefImpl::isPrototype() const
{
return m_impl->proto;
}
-ArgumentList *MemberDef::argumentList() const
+ArgumentList *MemberDefImpl::argumentList() const
{
return m_impl->defArgList;
}
-ArgumentList *MemberDef::declArgumentList() const
+ArgumentList *MemberDefImpl::declArgumentList() const
{
return m_impl->declArgList;
}
-ArgumentList *MemberDef::templateArguments() const
+ArgumentList *MemberDefImpl::templateArguments() const
{
return m_impl->tArgList;
}
-QList<ArgumentList> *MemberDef::definitionTemplateParameterLists() const
+QList<ArgumentList> *MemberDefImpl::definitionTemplateParameterLists() const
{
return m_impl->defTmpArgLists;
}
-int MemberDef::getMemberGroupId() const
+int MemberDefImpl::getMemberGroupId() const
{
return m_impl->grpId;
}
-MemberGroup *MemberDef::getMemberGroup() const
+MemberGroup *MemberDefImpl::getMemberGroup() const
{
return m_impl->memberGroup;
}
-bool MemberDef::fromAnonymousScope() const
+bool MemberDefImpl::fromAnonymousScope() const
{
return m_impl->annScope;
}
-bool MemberDef::anonymousDeclShown() const
+bool MemberDefImpl::anonymousDeclShown() const
{
return m_impl->annUsed;
}
-void MemberDef::setAnonymousUsed()
+void MemberDefImpl::setAnonymousUsed()
{
m_impl->annUsed = TRUE;
}
-bool MemberDef::hasCallGraph() const
+bool MemberDefImpl::hasCallGraph() const
{
return m_impl->hasCallGraph;
}
-bool MemberDef::hasCallerGraph() const
+bool MemberDefImpl::hasCallerGraph() const
{
return m_impl->hasCallerGraph;
}
-bool MemberDef::hasReferencedByRelation() const
+bool MemberDefImpl::hasReferencedByRelation() const
{
return m_impl->hasReferencedByRelation;
}
-bool MemberDef::hasReferencesRelation() const
+bool MemberDefImpl::hasReferencesRelation() const
{
return m_impl->hasReferencesRelation;
}
-MemberDef *MemberDef::templateMaster() const
+MemberDef *MemberDefImpl::templateMaster() const
{
return m_impl->templateMaster;
}
-bool MemberDef::isTypedefValCached() const
+bool MemberDefImpl::isTypedefValCached() const
{
return m_impl->isTypedefValCached;
}
-ClassDef *MemberDef::getCachedTypedefVal() const
+ClassDef *MemberDefImpl::getCachedTypedefVal() const
{
return m_impl->cachedTypedefValue;
}
-QCString MemberDef::getCachedTypedefTemplSpec() const
+QCString MemberDefImpl::getCachedTypedefTemplSpec() const
{
return m_impl->cachedTypedefTemplSpec;
}
-QCString MemberDef::getCachedResolvedTypedef() const
+QCString MemberDefImpl::getCachedResolvedTypedef() const
{
- //printf("MemberDef::getCachedResolvedTypedef()=%s m_impl=%p\n",m_impl->cachedResolvedType.data(),m_impl);
+ //printf("MemberDefImpl::getCachedResolvedTypedef()=%s m_impl=%p\n",m_impl->cachedResolvedType.data(),m_impl);
return m_impl->cachedResolvedType;
}
-MemberDef *MemberDef::memberDefinition() const
+MemberDef *MemberDefImpl::memberDefinition() const
{
return m_impl->memDef;
}
-MemberDef *MemberDef::memberDeclaration() const
+MemberDef *MemberDefImpl::memberDeclaration() const
{
return m_impl->memDec;
}
-MemberDef *MemberDef::inheritsDocsFrom() const
+MemberDef *MemberDefImpl::inheritsDocsFrom() const
{
return m_impl->docProvider;
}
-MemberDef *MemberDef::getGroupAlias() const
+MemberDef *MemberDefImpl::getGroupAlias() const
{
return m_impl->groupAlias;
}
-QCString MemberDef::getDeclFileName() const
+QCString MemberDefImpl::getDeclFileName() const
{
return m_impl->declFileName;
}
-int MemberDef::getDeclLine() const
+int MemberDefImpl::getDeclLine() const
{
return m_impl->declLine;
}
-int MemberDef::getDeclColumn() const
+int MemberDefImpl::getDeclColumn() const
{
return m_impl->declColumn;
}
@@ -4767,18 +5090,18 @@ int MemberDef::getDeclColumn() const
//----------------------------------------------
-void MemberDef::setMemberType(MemberType t)
+void MemberDefImpl::setMemberType(MemberType t)
{
m_impl->mtype=t;
m_isLinkableCached = 0;
}
-void MemberDef::setDefinition(const char *d)
+void MemberDefImpl::setDefinition(const char *d)
{
m_impl->def=d;
}
-void MemberDef::setFileDef(FileDef *fd)
+void MemberDefImpl::setFileDef(FileDef *fd)
{
m_impl->fileDef=fd;
m_isLinkableCached = 0;
@@ -4786,28 +5109,28 @@ void MemberDef::setFileDef(FileDef *fd)
m_isDestructorCached = 0;
}
-void MemberDef::setProtection(Protection p)
+void MemberDefImpl::setProtection(Protection p)
{
m_impl->prot=p;
m_isLinkableCached = 0;
}
-void MemberDef::setMemberSpecifiers(uint64 s)
+void MemberDefImpl::setMemberSpecifiers(uint64 s)
{
m_impl->memSpec=s;
}
-void MemberDef::mergeMemberSpecifiers(uint64 s)
+void MemberDefImpl::mergeMemberSpecifiers(uint64 s)
{
m_impl->memSpec|=s;
}
-void MemberDef::setBitfields(const char *s)
+void MemberDefImpl::setBitfields(const char *s)
{
m_impl->bitfields = QCString(s).simplifyWhiteSpace();
}
-void MemberDef::setMaxInitLines(int lines)
+void MemberDefImpl::setMaxInitLines(int lines)
{
if (lines!=-1)
{
@@ -4815,76 +5138,76 @@ void MemberDef::setMaxInitLines(int lines)
}
}
-void MemberDef::setReadAccessor(const char *r)
+void MemberDefImpl::setReadAccessor(const char *r)
{
m_impl->read=r;
}
-void MemberDef::setWriteAccessor(const char *w)
+void MemberDefImpl::setWriteAccessor(const char *w)
{
m_impl->write=w;
}
-void MemberDef::setTemplateSpecialization(bool b)
+void MemberDefImpl::setTemplateSpecialization(bool b)
{
m_impl->tspec=b;
}
-void MemberDef::makeRelated()
+void MemberDefImpl::makeRelated()
{
m_impl->related = Related;
m_isLinkableCached = 0;
}
-void MemberDef::makeForeign()
+void MemberDefImpl::makeForeign()
{
m_impl->related = Foreign;
m_isLinkableCached = 0;
}
-void MemberDef::setHasDocumentedParams(bool b)
+void MemberDefImpl::setHasDocumentedParams(bool b)
{
m_impl->hasDocumentedParams = b;
}
-void MemberDef::setHasDocumentedReturnType(bool b)
+void MemberDefImpl::setHasDocumentedReturnType(bool b)
{
m_impl->hasDocumentedReturnType = b;
}
-void MemberDef::setInheritsDocsFrom(MemberDef *md)
+void MemberDefImpl::setInheritsDocsFrom(MemberDef *md)
{
m_impl->docProvider = md;
}
-void MemberDef::setArgsString(const char *as)
+void MemberDefImpl::setArgsString(const char *as)
{
m_impl->args = as;
}
-void MemberDef::setRelatedAlso(ClassDef *cd)
+void MemberDefImpl::setRelatedAlso(ClassDef *cd)
{
m_impl->relatedAlso=cd;
}
-void MemberDef::setEnumClassScope(ClassDef *cd)
+void MemberDefImpl::setEnumClassScope(ClassDef *cd)
{
m_impl->classDef = cd;
m_isLinkableCached = 0;
m_isConstructorCached = 0;
}
-void MemberDef::setDocumentedEnumValues(bool value)
+void MemberDefImpl::setDocumentedEnumValues(bool value)
{
m_impl->docEnumValues=value;
}
-void MemberDef::setAnonymousEnumType(MemberDef *md)
+void MemberDefImpl::setAnonymousEnumType(MemberDef *md)
{
m_impl->annEnumType = md;
}
-void MemberDef::setPrototype(bool p,const QCString &df,int line,int column)
+void MemberDefImpl::setPrototype(bool p,const QCString &df,int line,int column)
{
m_impl->proto=p;
if (p)
@@ -4897,7 +5220,7 @@ void MemberDef::setPrototype(bool p,const QCString &df,int line,int column)
}
}
-void MemberDef::setExplicitExternal(bool b,const QCString &df,int line,int column)
+void MemberDefImpl::setExplicitExternal(bool b,const QCString &df,int line,int column)
{
m_impl->explExt=b;
if (b)
@@ -4911,110 +5234,110 @@ void MemberDef::setExplicitExternal(bool b,const QCString &df,int line,int colum
}
-void MemberDef::setDeclFile(const QCString &df,int line,int column)
+void MemberDefImpl::setDeclFile(const QCString &df,int line,int column)
{
m_impl->declFileName = df;
m_impl->declLine = line;
m_impl->declColumn = column;
}
-void MemberDef::setMemberGroupId(int id)
+void MemberDefImpl::setMemberGroupId(int id)
{
m_impl->grpId=id;
}
-void MemberDef::makeImplementationDetail()
+void MemberDefImpl::makeImplementationDetail()
{
m_impl->implOnly=TRUE;
}
-void MemberDef::setFromAnonymousScope(bool b)
+void MemberDefImpl::setFromAnonymousScope(bool b)
{
m_impl->annScope=b;
}
-void MemberDef::setFromAnonymousMember(MemberDef *m)
+void MemberDefImpl::setFromAnonymousMember(MemberDef *m)
{
m_impl->annMemb=m;
}
-MemberDef *MemberDef::fromAnonymousMember() const
+MemberDef *MemberDefImpl::fromAnonymousMember() const
{
return m_impl->annMemb;
}
-void MemberDef::setTemplateMaster(MemberDef *mt)
+void MemberDefImpl::setTemplateMaster(MemberDef *mt)
{
m_impl->templateMaster=mt;
m_isLinkableCached = 0;
}
-void MemberDef::setDocsForDefinition(bool b)
+void MemberDefImpl::setDocsForDefinition(bool b)
{
m_impl->docsForDefinition = b;
}
-void MemberDef::setGroupAlias(MemberDef *md)
+void MemberDefImpl::setGroupAlias(MemberDef *md)
{
m_impl->groupAlias = md;
}
-void MemberDef::invalidateTypedefValCache()
+void MemberDefImpl::invalidateTypedefValCache()
{
m_impl->isTypedefValCached=FALSE;
}
-void MemberDef::setMemberDefinition(MemberDef *md)
+void MemberDefImpl::setMemberDefinition(MemberDef *md)
{
m_impl->memDef=md;
}
-void MemberDef::setMemberDeclaration(MemberDef *md)
+void MemberDefImpl::setMemberDeclaration(MemberDef *md)
{
m_impl->memDec=md;
}
-ClassDef *MemberDef::category() const
+ClassDef *MemberDefImpl::category() const
{
return m_impl->category;
}
-void MemberDef::setCategory(ClassDef *def)
+void MemberDefImpl::setCategory(ClassDef *def)
{
m_impl->category = def;
}
-MemberDef *MemberDef::categoryRelation() const
+MemberDef *MemberDefImpl::categoryRelation() const
{
return m_impl->categoryRelation;
}
-void MemberDef::setCategoryRelation(MemberDef *md)
+void MemberDefImpl::setCategoryRelation(MemberDef *md)
{
m_impl->categoryRelation = md;
}
-void MemberDef::setEnumBaseType(const QCString &type)
+void MemberDefImpl::setEnumBaseType(const QCString &type)
{
m_impl->enumBaseType = type;
}
-QCString MemberDef::enumBaseType() const
+QCString MemberDefImpl::enumBaseType() const
{
return m_impl->enumBaseType;
}
-void MemberDef::cacheTypedefVal(ClassDef*val, const QCString & templSpec, const QCString &resolvedType)
+void MemberDefImpl::cacheTypedefVal(ClassDef*val, const QCString & templSpec, const QCString &resolvedType)
{
m_impl->isTypedefValCached=TRUE;
m_impl->cachedTypedefValue=val;
m_impl->cachedTypedefTemplSpec=templSpec;
m_impl->cachedResolvedType=resolvedType;
- //printf("MemberDef::cacheTypedefVal=%s m_impl=%p\n",m_impl->cachedResolvedType.data(),m_impl);
+ //printf("MemberDefImpl::cacheTypedefVal=%s m_impl=%p\n",m_impl->cachedResolvedType.data(),m_impl);
}
-void MemberDef::copyArgumentNames(MemberDef *bmd)
+void MemberDefImpl::copyArgumentNames(MemberDef *bmd)
{
{
ArgumentList *arguments = bmd->argumentList();
@@ -5057,7 +5380,7 @@ static void invalidateCachedTypesInArgumentList(ArgumentList *al)
}
}
-void MemberDef::invalidateCachedArgumentTypes()
+void MemberDefImpl::invalidateCachedArgumentTypes()
{
invalidateCachedTypesInArgumentList(m_impl->defArgList);
invalidateCachedTypesInArgumentList(m_impl->declArgList);
@@ -5065,12 +5388,12 @@ void MemberDef::invalidateCachedArgumentTypes()
//----------------
-QCString MemberDef::displayName(bool) const
+QCString MemberDefImpl::displayName(bool) const
{
- return Definition::name();
+ return DefinitionImpl::name();
}
-void MemberDef::_addToSearchIndex()
+void MemberDefImpl::addToSearchIndex()
{
// write search index info
if (Doxygen::searchIndex && isLinkableInProject())
@@ -5249,14 +5572,14 @@ void combineDeclarationAndDefinition(MemberDef *mdec,MemberDef *mdef)
mdec->enableCallerGraph(mdec->hasCallerGraph() || mdef->hasCallerGraph());
mdef->enableReferencedByRelation(mdec->hasReferencedByRelation() || mdef->hasReferencedByRelation());
- mdef->enableCallerGraph(mdec->hasReferencesRelation() || mdef->hasReferencesRelation());
+ mdef->enableReferencesRelation(mdec->hasReferencesRelation() || mdef->hasReferencesRelation());
mdec->enableReferencedByRelation(mdec->hasReferencedByRelation() || mdef->hasReferencedByRelation());
- mdec->enableCallerGraph(mdec->hasReferencesRelation() || mdef->hasReferencesRelation());
+ mdec->enableReferencesRelation(mdec->hasReferencesRelation() || mdef->hasReferencesRelation());
}
}
}
-QCString MemberDef::briefDescription(bool abbr) const
+QCString MemberDefImpl::briefDescription(bool abbr) const
{
if (m_impl->templateMaster)
{
@@ -5264,11 +5587,11 @@ QCString MemberDef::briefDescription(bool abbr) const
}
else
{
- return Definition::briefDescription(abbr);
+ return DefinitionImpl::briefDescription(abbr);
}
}
-QCString MemberDef::documentation() const
+QCString MemberDefImpl::documentation() const
{
if (m_impl->templateMaster)
{
@@ -5276,16 +5599,16 @@ QCString MemberDef::documentation() const
}
else
{
- return Definition::documentation();
+ return DefinitionImpl::documentation();
}
}
-const ArgumentList *MemberDef::typeConstraints() const
+const ArgumentList *MemberDefImpl::typeConstraints() const
{
return m_impl->typeConstraints;
}
-bool MemberDef::isFriendToHide() const
+bool MemberDefImpl::isFriendToHide() const
{
static bool hideFriendCompounds = Config_getBool(HIDE_FRIEND_COMPOUNDS);
bool isFriendToHide = hideFriendCompounds &&
@@ -5295,24 +5618,24 @@ bool MemberDef::isFriendToHide() const
return isFriendToHide;
}
-bool MemberDef::isNotFriend() const
+bool MemberDefImpl::isNotFriend() const
{
return !(isFriend() && isFriendToHide());
}
-bool MemberDef::isFunctionOrSignalSlot() const
+bool MemberDefImpl::isFunctionOrSignalSlot() const
{
return isFunction() || isSlot() || isSignal();
}
-bool MemberDef::isRelatedOrFriend() const
+bool MemberDefImpl::isRelatedOrFriend() const
{
return isRelated() || isForeign() || (isFriend() && !isFriendToHide());
}
-bool MemberDef::isReference() const
+bool MemberDefImpl::isReference() const
{
- return Definition::isReference() ||
+ return DefinitionImpl::isReference() ||
(m_impl->templateMaster && m_impl->templateMaster->isReference());
}