#include <classdef.h>
Public Types | |
enum | CompoundType { Class, Struct, Union, Interface, Protocol, Category, Exception, Service, Singleton } |
Public Types inherited from DefinitionIntf | |
enum | DefType { TypeClass = 0, TypeFile = 1, TypeNamespace = 2, TypeMember = 3, TypeGroup = 4, TypePackage = 5, TypePage = 6, TypeDir = 7, TypeSymbolList = 8 } |
Public Attributes | |
bool | visited |
Protected Member Functions | |
void | addUsedInterfaceClasses (MemberDef *md, const char *typeStr) |
bool | hasNonReferenceSuperClass () |
void | showUsedFiles (OutputList &ol) |
Protected Member Functions inherited from Definition | |
Definition (const Definition &d) | |
Private Attributes | |
ClassDefImpl * | m_impl |
A class representing of a compound symbol.
A compound can be a class, struct, union, interface, service, singleton, or exception.
Definition at line 59 of file classdef.h.
The various compound types
Enumerator | |
---|---|
Class | |
Struct | |
Union | |
Interface | |
Protocol | |
Category | |
Exception | |
Service | |
Singleton |
Definition at line 63 of file classdef.h.
ClassDef::ClassDef | ( | 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 |
||
) |
Creates a new compound definition.
fileName | full path and file name in which this compound was found. |
startLine | line number where the definition of this compound starts. |
startColumn | column number where the definition of this compound starts. |
name | the name of this compound (including scope) |
ct | the kind of Compound |
ref | the tag file from which this compound is extracted or 0 if the compound doesn't come from a tag file |
fName | the file name as found in the tag file. This overwrites the file that doxygen normally generates based on the compound type & name. |
isSymbol | If TRUE this class name is added as a publicly visible (and referencable) symbol. |
isJavaEnum | If TRUE this class is actually a Java enum. I didn't add this to CompoundType to avoid having to adapt all translators. |
Definition at line 286 of file classdef.cpp.
ClassDef::~ClassDef | ( | ) |
Destroys a compound definition.
Definition at line 302 of file classdef.cpp.
|
private |
Definition at line 1929 of file classdef.cpp.
bool ClassDef::addExample | ( | const char * | anchor, |
const char * | name, | ||
const char * | file | ||
) |
Definition at line 2500 of file classdef.cpp.
void ClassDef::addGroupedInheritedMembers | ( | OutputList & | ol, |
MemberListType | lt, | ||
ClassDef * | inheritedFrom, | ||
const QCString & | inheritId | ||
) |
Definition at line 4339 of file classdef.cpp.
|
virtual |
Reimplemented from Definition.
Definition at line 3637 of file classdef.cpp.
void ClassDef::addListReferences | ( | ) |
Definition at line 3931 of file classdef.cpp.
void ClassDef::addMembersToMemberGroup | ( | ) |
Definition at line 388 of file classdef.cpp.
void ClassDef::addMembersToTemplateInstance | ( | ClassDef * | cd, |
const char * | templSpec | ||
) |
Definition at line 3771 of file classdef.cpp.
|
private |
Definition at line 4035 of file classdef.cpp.
void ClassDef::addTaggedInnerClass | ( | ClassDef * | cd | ) |
Definition at line 4665 of file classdef.cpp.
Definition at line 2529 of file classdef.cpp.
void ClassDef::addTypeConstraints | ( | ) |
Definition at line 2564 of file classdef.cpp.
void ClassDef::addUsedByClass | ( | ClassDef * | cd, |
const char * | accessName, | ||
Protection | prot | ||
) |
Definition at line 3267 of file classdef.cpp.
void ClassDef::addUsedClass | ( | ClassDef * | cd, |
const char * | accessName, | ||
Protection | prot | ||
) |
Definition at line 3233 of file classdef.cpp.
|
protected |
|
virtual |
Returns the anchor within a page where this item can be found
Implements Definition.
Definition at line 4606 of file classdef.cpp.
BaseClassList * ClassDef::baseClasses | ( | ) | const |
Returns the list of base classes from which this class directly inherits.
Definition at line 4399 of file classdef.cpp.
ClassDef * ClassDef::categoryOf | ( | ) | const |
Returns the class of which this is a category (Objective-C only)
Definition at line 4514 of file classdef.cpp.
QCString ClassDef::className | ( | ) | const |
Returns the name of the class including outer classes, but not including namespaces.
Definition at line 3914 of file classdef.cpp.
ClassDef::CompoundType ClassDef::compoundType | ( | ) | const |
Returns the type of compound this is, i.e. class/struct/union/..
Definition at line 4394 of file classdef.cpp.
QCString ClassDef::compoundTypeString | ( | ) | const |
Returns the type of compound as a string
Definition at line 3499 of file classdef.cpp.
void ClassDef::computeAnchors | ( | ) |
Definition at line 719 of file classdef.cpp.
|
private |
Definition at line 4167 of file classdef.cpp.
int ClassDef::countInheritanceNodes | ( | ) |
Definition at line 1156 of file classdef.cpp.
|
private |
Definition at line 4104 of file classdef.cpp.
|
private |
Definition at line 4061 of file classdef.cpp.
int ClassDef::countMembersIncludingGrouped | ( | MemberListType | lt, |
ClassDef * | inheritedFrom, | ||
bool | additional | ||
) |
Definition at line 4213 of file classdef.cpp.
|
private |
Definition at line 4003 of file classdef.cpp.
|
inlinevirtual |
Used for RTTI, this is a class
Implements DefinitionIntf.
Definition at line 106 of file classdef.h.
Returns the name as it is appears in the documentation
Implements Definition.
Definition at line 312 of file classdef.cpp.
void ClassDef::distributeMemberGroupDocumentation | ( | ) |
Definition at line 745 of file classdef.cpp.
|
private |
Definition at line 1474 of file classdef.cpp.
|
private |
Definition at line 1458 of file classdef.cpp.
const ExampleSDict * ClassDef::exampleList | ( | ) | const |
Definition at line 4733 of file classdef.cpp.
|
virtual |
Returns the definition of a nested compound if available, or 0 otherwise.
name | The name of the nested compound |
Reimplemented from Definition.
Definition at line 3651 of file classdef.cpp.
void ClassDef::findSectionsInDocumentation | ( | ) |
Definition at line 758 of file classdef.cpp.
QCString ClassDef::generatedFromFiles | ( | ) | const |
Definition at line 1053 of file classdef.cpp.
ClassSDict * ClassDef::getClassSDict | ( | ) |
QCString ClassDef::getFileBase | ( | ) | const |
Definition at line 3591 of file classdef.cpp.
FileDef * ClassDef::getFileDef | ( | ) | const |
Returns the file in which this compound's definition can be found. Should not return 0 (but it might be a good idea to check anyway).
Definition at line 4429 of file classdef.cpp.
QCString ClassDef::getInstanceOutputFileBase | ( | ) | const |
Definition at line 3579 of file classdef.cpp.
Returns the Java package this class is in or 0 if not applicable.
Definition at line 3968 of file classdef.cpp.
MemberGroupSDict * ClassDef::getMemberGroupSDict | ( | ) | const |
MemberList * ClassDef::getMemberList | ( | MemberListType | lt | ) |
Returns the members in the list identified by lt
Definition at line 4021 of file classdef.cpp.
QCString ClassDef::getMemberListFileName | ( | ) | const |
Definition at line 307 of file classdef.cpp.
const QList< MemberList > & ClassDef::getMemberLists | ( | ) | const |
Returns the list containing the list of members sorted per type
Definition at line 4519 of file classdef.cpp.
NamespaceDef * ClassDef::getNamespaceDef | ( | ) | const |
Returns the namespace this compound is in, or 0 if it has a global scope.
Definition at line 4424 of file classdef.cpp.
|
virtual |
Returns the unique base name (without extension) of the class's file on disk
Implements Definition.
Definition at line 3533 of file classdef.cpp.
|
virtual |
If this class originated from a tagfile, this will return the tag file reference
Reimplemented from Definition.
Definition at line 3814 of file classdef.cpp.
|
virtual |
Returns the base name for the source code file
Reimplemented from Definition.
Definition at line 3603 of file classdef.cpp.
QDict< int > * ClassDef::getTemplateBaseClassNames | ( | ) | const |
Definition at line 3766 of file classdef.cpp.
QDict< ClassDef > * ClassDef::getTemplateInstances | ( | ) | const |
Returns a sorted dictionary with all template instances found for this template class. Returns 0 if not a template or no instances.
Definition at line 4434 of file classdef.cpp.
void ClassDef::getTemplateParameterLists | ( | QList< ArgumentList > & | lists | ) | const |
Returns the template parameter lists that form the template declaration of this class.
Example: template<class T> class TC {};
will return a list with one ArgumentList containing one argument with type="class" and name="T".
Definition at line 3838 of file classdef.cpp.
|
private |
Definition at line 4143 of file classdef.cpp.
ClassDef * ClassDef::getVariableInstance | ( | const char * | templSpec | ) |
Definition at line 3726 of file classdef.cpp.
bool ClassDef::hasDetailedDescription | ( | ) | const |
returns TRUE if this class has a non-empty detailed description
Definition at line 1007 of file classdef.cpp.
|
virtual |
returns TRUE if this class has documentation
Reimplemented from Definition.
Definition at line 2767 of file classdef.cpp.
bool ClassDef::hasExamples | ( | ) | const |
Definition at line 2521 of file classdef.cpp.
|
protected |
Returns TRUE
iff this class or a class inheriting from this class is not defined in an external tag file.
Definition at line 2620 of file classdef.cpp.
IncludeInfo * ClassDef::includeInfo | ( | ) | const |
Definition at line 4449 of file classdef.cpp.
|
private |
Definition at line 1323 of file classdef.cpp.
const ClassSDict * ClassDef::innerClasses | ( | ) | const |
Definition at line 4718 of file classdef.cpp.
void ClassDef::insertBaseClass | ( | ClassDef * | cd, |
const char * | name, | ||
Protection | p, | ||
Specifier | s, | ||
const char * | t = 0 |
||
) |
Definition at line 358 of file classdef.cpp.
void ClassDef::insertMember | ( | MemberDef * | md | ) |
Definition at line 713 of file classdef.cpp.
void ClassDef::insertSubClass | ( | ClassDef * | cd, |
Protection | p, | ||
Specifier | s, | ||
const char * | t = 0 |
||
) |
Definition at line 373 of file classdef.cpp.
ClassDef * ClassDef::insertTemplateInstance | ( | const QCString & | fileName, |
int | startLine, | ||
int | startColumn, | ||
const QCString & | templSpec, | ||
bool & | freshInstance | ||
) |
Definition at line 3702 of file classdef.cpp.
void ClassDef::insertUsedFile | ( | FileDef * | fd | ) |
Definition at line 783 of file classdef.cpp.
|
private |
Definition at line 417 of file classdef.cpp.
bool ClassDef::isAbstract | ( | ) | const |
Returns TRUE if there is at least one pure virtual member in this class.
Definition at line 4479 of file classdef.cpp.
returns TRUE iff md is a member of this class or of the the public/protected members of a base class
Definition at line 3998 of file classdef.cpp.
bool ClassDef::isAnonymous | ( | ) | const |
Definition at line 4749 of file classdef.cpp.
Returns TRUE iff bcd is a direct or indirect base class of this class. This function will recusively traverse all branches of the inheritance tree.
Definition at line 2777 of file classdef.cpp.
bool ClassDef::isCSharp | ( | ) | const |
Returns TRUE if this class is implemented in C#
Definition at line 4509 of file classdef.cpp.
bool ClassDef::isEmbeddedInOuterScope | ( | ) | const |
Definition at line 4630 of file classdef.cpp.
bool ClassDef::isExtension | ( | ) | const |
Returns TRUE if this class represents an Objective-C 2.0 extension (nameless category)
Definition at line 4709 of file classdef.cpp.
bool ClassDef::isFinal | ( | ) | const |
bool ClassDef::isForwardDeclared | ( | ) | const |
Returns TRUE if this class represents a forward declaration of a template class
Definition at line 4499 of file classdef.cpp.
bool ClassDef::isGeneric | ( | ) | const |
Definition at line 4699 of file classdef.cpp.
bool ClassDef::isJavaEnum | ( | ) | const |
Definition at line 4694 of file classdef.cpp.
|
virtual |
return TRUE iff a link to this class is possible (either within this project, or as a cross-reference to another project).
Implements Definition.
Definition at line 2729 of file classdef.cpp.
|
virtual |
returns TRUE iff a link is possible to this item within this project.
a link to this class is possible within this project
Implements Definition.
Definition at line 2707 of file classdef.cpp.
bool ClassDef::isLocal | ( | ) | const |
Returns TRUE if this is a local class definition, see EXTRACT_LOCAL_CLASSES
Definition at line 4384 of file classdef.cpp.
bool ClassDef::isObjectiveC | ( | ) | const |
Returns TRUE if this class is implemented in Objective-C
Definition at line 4504 of file classdef.cpp.
bool ClassDef::isPublished | ( | ) | const |
|
virtual |
Returns TRUE if this class is imported via a tag file
Reimplemented from Definition.
Definition at line 3826 of file classdef.cpp.
bool ClassDef::isSealed | ( | ) | const |
bool ClassDef::isSimple | ( | ) | const |
Definition at line 4584 of file classdef.cpp.
MemberDef * ClassDef::isSmartPointer | ( | ) | const |
Definition at line 4589 of file classdef.cpp.
Returns TRUE iff bcd is a direct or indirect sub class of this class.
Definition at line 2807 of file classdef.cpp.
bool ClassDef::isTemplate | ( | ) | const |
bool ClassDef::isTemplateArgument | ( | ) | const |
Definition at line 4474 of file classdef.cpp.
bool ClassDef::isUsedOnly | ( | ) | const |
Definition at line 4579 of file classdef.cpp.
bool ClassDef::isVisibleInHierarchy | ( | ) |
the class is visible in a class diagram, or class hierarchy
Definition at line 2743 of file classdef.cpp.
Definition at line 4564 of file classdef.cpp.
MemberNameInfoSDict * ClassDef::memberNameInfoSDict | ( | ) | const |
Returns a dictionary of all members. This includes any inherited members. Members are sorted alphabetically.
Definition at line 4409 of file classdef.cpp.
void ClassDef::mergeCategory | ( | ClassDef * | category | ) |
Merges the members of a Objective-C category into this class.
Definition at line 3095 of file classdef.cpp.
void ClassDef::mergeMembers | ( | ) |
recusively merges the `all members' lists of a class base with that of this class. Must only be called for classes without subclasses!
Definition at line 2844 of file classdef.cpp.
Protection ClassDef::protection | ( | ) | const |
Return the protection level (Public,Protected,Private) in which this compound was found.
Definition at line 4414 of file classdef.cpp.
QCString ClassDef::qualifiedNameWithTemplateParameters | ( | QList< ArgumentList > * | actualParams = 0 , |
int * | actualParamIndex = 0 |
||
) | const |
Definition at line 3855 of file classdef.cpp.
void ClassDef::reclassifyMember | ( | MemberDef * | md, |
MemberType | t | ||
) |
Definition at line 4594 of file classdef.cpp.
void ClassDef::removeMemberFromLists | ( | MemberDef * | md | ) |
Definition at line 4684 of file classdef.cpp.
void ClassDef::setCategoryOf | ( | ClassDef * | cd | ) |
Definition at line 4569 of file classdef.cpp.
void ClassDef::setClassName | ( | const char * | name | ) |
Definition at line 3926 of file classdef.cpp.
void ClassDef::setClassSpecifier | ( | uint64 | spec | ) |
Definition at line 4704 of file classdef.cpp.
void ClassDef::setCompoundType | ( | CompoundType | t | ) |
Definition at line 4554 of file classdef.cpp.
void ClassDef::setFileDef | ( | FileDef * | fd | ) |
Definition at line 4534 of file classdef.cpp.
void ClassDef::setGroupDefForAllMembers | ( | GroupDef * | g, |
Grouping::GroupPri_t | pri, | ||
const QCString & | fileName, | ||
int | startLine, | ||
bool | hasDocs | ||
) |
Definition at line 3615 of file classdef.cpp.
Definition at line 820 of file classdef.cpp.
void ClassDef::setIsStatic | ( | bool | b | ) |
Definition at line 4549 of file classdef.cpp.
|
virtual |
Sets a new name for the definition
Reimplemented from Definition.
Definition at line 4743 of file classdef.cpp.
void ClassDef::setNamespace | ( | NamespaceDef * | nd | ) |
Definition at line 4529 of file classdef.cpp.
void ClassDef::setProtection | ( | Protection | p | ) |
Definition at line 4544 of file classdef.cpp.
void ClassDef::setSubGrouping | ( | bool | enabled | ) |
Definition at line 4539 of file classdef.cpp.
void ClassDef::setTagLessReference | ( | ClassDef * | cd | ) |
Definition at line 4679 of file classdef.cpp.
void ClassDef::setTemplateArguments | ( | ArgumentList * | al | ) |
Definition at line 2603 of file classdef.cpp.
void ClassDef::setTemplateBaseClassNames | ( | QDict< int > * | templateNames | ) |
Definition at line 3747 of file classdef.cpp.
void ClassDef::setTemplateMaster | ( | ClassDef * | tm | ) |
Definition at line 4559 of file classdef.cpp.
void ClassDef::setTypeConstraints | ( | ArgumentList * | al | ) |
Definition at line 2590 of file classdef.cpp.
void ClassDef::setUsedOnly | ( | bool | b | ) |
Definition at line 4574 of file classdef.cpp.
|
protected |
Definition at line 1084 of file classdef.cpp.
void ClassDef::sortMemberLists | ( | ) |
Definition at line 4047 of file classdef.cpp.
|
private |
Definition at line 1468 of file classdef.cpp.
|
private |
Definition at line 1448 of file classdef.cpp.
BaseClassList * ClassDef::subClasses | ( | ) | const |
Returns the list of sub classes that directly derive from this class
Definition at line 4404 of file classdef.cpp.
bool ClassDef::subGrouping | ( | ) | const |
Definition at line 4738 of file classdef.cpp.
const ClassList * ClassDef::taggedInnerClasses | ( | ) | const |
Definition at line 4660 of file classdef.cpp.
ClassDef * ClassDef::tagLessReference | ( | ) | const |
Definition at line 4674 of file classdef.cpp.
ArgumentList * ClassDef::templateArguments | ( | ) | const |
Returns the template arguments of this class Will return 0 if not applicable.
Definition at line 4419 of file classdef.cpp.
ClassDef * ClassDef::templateMaster | ( | ) | const |
Returns the template master of which this class is an instance. Returns 0 if not applicable.
Definition at line 4439 of file classdef.cpp.
ConstraintClassDict * ClassDef::templateTypeConstraints | ( | ) | const |
Definition at line 4469 of file classdef.cpp.
QCString ClassDef::title | ( | ) | const |
Definition at line 2076 of file classdef.cpp.
const ArgumentList * ClassDef::typeConstraints | ( | ) | const |
Definition at line 4728 of file classdef.cpp.
UsesClassDict * ClassDef::usedByImplementationClasses | ( | ) | const |
Definition at line 4459 of file classdef.cpp.
const FileList & ClassDef::usedFiles | ( | ) | const |
Definition at line 4723 of file classdef.cpp.
UsesClassDict * ClassDef::usedImplementationClasses | ( | ) | const |
Definition at line 4454 of file classdef.cpp.
UsesClassDict * ClassDef::usedInterfaceClasses | ( | ) | const |
Definition at line 4464 of file classdef.cpp.
bool ClassDef::visibleInParentsDeclList | ( | ) | const |
show this class in the declaration section of its parent?
Definition at line 1835 of file classdef.cpp.
|
private |
Definition at line 4193 of file classdef.cpp.
|
private |
Definition at line 1488 of file classdef.cpp.
|
private |
Definition at line 936 of file classdef.cpp.
|
private |
Definition at line 1306 of file classdef.cpp.
void ClassDef::writeDeclaration | ( | OutputList & | ol, |
MemberDef * | md, | ||
bool | inGroup, | ||
ClassDef * | inheritedFrom, | ||
const char * | inheritId | ||
) |
called from MemberDef::writeDeclaration() to (recusively) write the definition of an anonymous struct, union or class.
Definition at line 2657 of file classdef.cpp.
void ClassDef::writeDeclarationLink | ( | OutputList & | ol, |
bool & | found, | ||
const char * | header, | ||
bool | localNames | ||
) |
Definition at line 1847 of file classdef.cpp.
|
private |
Definition at line 1017 of file classdef.cpp.
|
private |
Definition at line 959 of file classdef.cpp.
void ClassDef::writeDocumentation | ( | OutputList & | ol | ) |
Definition at line 2120 of file classdef.cpp.
|
private |
Definition at line 1954 of file classdef.cpp.
void ClassDef::writeDocumentationForInnerClasses | ( | OutputList & | ol | ) |
Definition at line 2225 of file classdef.cpp.
|
private |
Definition at line 1341 of file classdef.cpp.
|
private |
Definition at line 1181 of file classdef.cpp.
|
private |
Definition at line 4242 of file classdef.cpp.
|
private |
Definition at line 1440 of file classdef.cpp.
void ClassDef::writeInlineDocumentation | ( | OutputList & | ol | ) |
Write class documentation inside another container (i.e. a group)
Definition at line 1675 of file classdef.cpp.
|
private |
Definition at line 4291 of file classdef.cpp.
|
private |
Definition at line 4357 of file classdef.cpp.
|
private |
Definition at line 1408 of file classdef.cpp.
void ClassDef::writeMemberList | ( | OutputList & | ol | ) |
Definition at line 2250 of file classdef.cpp.
void ClassDef::writeMemberPages | ( | OutputList & | ol | ) |
Definition at line 2152 of file classdef.cpp.
|
private |
Definition at line 1792 of file classdef.cpp.
|
private |
Definition at line 1431 of file classdef.cpp.
|
private |
Definition at line 4371 of file classdef.cpp.
|
virtual |
Reimplemented from Definition.
Definition at line 2175 of file classdef.cpp.
|
private |
Definition at line 4364 of file classdef.cpp.
|
virtual |
Reimplemented from Definition.
Definition at line 1501 of file classdef.cpp.
void ClassDef::writeTagFile | ( | FTextStream & | tagFile | ) |
Definition at line 1560 of file classdef.cpp.
|
private |
Definition at line 451 of file classdef.h.
bool ClassDef::visited |
Definition at line 402 of file classdef.h.