Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
FunctionNode Class Reference

This node is used to represent any kind of function being documented. More...

#include <functionnode.h>

+ Inheritance diagram for FunctionNode:
+ Collaboration diagram for FunctionNode:

Public Types

enum  Virtualness { NonVirtual , NormalVirtual , PureVirtual }
 
enum  Metaness {
  Plain , Signal , Slot , Ctor ,
  Dtor , CCtor , MCtor , MacroWithParams ,
  MacroWithoutParams , Native , CAssign , MAssign ,
  QmlSignal , QmlSignalHandler , QmlMethod
}
 
- Public Types inherited from Node< _Tp >
enum  NodeType : unsigned char {
  NoType , Namespace , Class , Struct ,
  Union , HeaderFile , Page , Enum ,
  Example , ExternalPage , Function , Typedef ,
  TypeAlias , Property , Variable , Group ,
  Module , QmlType , QmlModule , QmlProperty ,
  QmlValueType , SharedComment , Collection , Proxy
}
 An unsigned char value that identifies an object as a particular subclass of Node. More...
 
enum  Genus : unsigned char {
  DontCare = 0x0 , CPP = 0x1 , QML = 0x4 , DOC = 0x8 ,
  API = CPP | QML
}
 An unsigned char value that specifies whether the Node represents a C++ element, a QML element, or a text document. More...
 
enum  Status : unsigned char {
  Deprecated , Preliminary , Active , Internal ,
  DontDocument
}
 An unsigned char that specifies the status of the documentation element in the documentation set. More...
 
enum  ThreadSafeness : unsigned char { UnspecifiedSafeness , NonReentrant , Reentrant , ThreadSafe }
 An unsigned char that specifies the degree of thread-safeness of the element. More...
 
enum  SignatureOption : unsigned char { SignaturePlain = 0x0 , SignatureDefaultValues = 0x1 , SignatureReturnType = 0x2 , SignatureTemplateParams = 0x4 }
 
enum  LinkType : unsigned char { StartLink , NextLink , PreviousLink , ContentsLink }
 An unsigned char value that probably should be moved out of the Node base class. More...
 
enum  FlagValue { FlagValueDefault = -1 , FlagValueFalse = 0 , FlagValueTrue = 1 }
 A value used in PropertyNode and QmlPropertyNode that can be -1, 0, or +1. More...
 
typedef std::set< Node< _Tp > > Repository
 
typedef Repository::iterator iterator
 
typedef std::list< iterator >::iterator edge_iterator
 

Public Member Functions

 FunctionNode (Aggregate *parent, const QString &name)
 Construct a function node for a C++ function.
 
 FunctionNode (Metaness type, Aggregate *parent, const QString &name, bool attached=false)
 Construct a function node for a QML method or signal, specified by ther Metaness value type.
 
Nodeclone (Aggregate *parent) override
 Clone this node on the heap and make the clone a child of parent.
 
Metaness metaness () const
 
QString metanessString () const
 Returns a string representing the Metaness enum value for this function.
 
void setMetaness (Metaness metaness)
 
QString kindString () const
 Returns a string representing the kind of function this Function node represents, which depends on the Metaness value.
 
void setReturnType (const QString &type)
 
void setDeclaredReturnType (const QString &type)
 
void setVirtualness (const QString &value)
 Sets the function node's virtualness value based on the value of string value, which is the value of the function's {virtual} attribute in an index file.
 
void setVirtualness (Virtualness virtualness)
 
void setConst (bool b)
 
void setDefault (bool b)
 
void setStatic (bool b)
 
void setReimpFlag ()
 Sets the function node's reimp flag to true, which means the {\reimp} command was used in the qdoc comment.
 
void setOverridesThis (const QString &path)
 
const QStringreturnType () const
 
const std::optional< QString > & declaredReturnType () const
 
QString returnTypeString () const
 Returns the type of the function as a string.
 
QString virtualness () const
 Returns this function's virtualness value as a string for use as an attribute value in index files.
 
bool isConst () const
 
bool isDefault () const override
 Returns true if the QML property node is marked as default.
 
bool isStatic () const override
 Returns true if the FunctionNode represents a static function.
 
bool isOverload () const
 
bool isMarkedReimp () const override
 Returns true if the FunctionNode is marked as a reimplemented function.
 
bool isSomeCtor () const
 
bool isMacroWithParams () const
 
bool isMacroWithoutParams () const
 
bool isMacro () const override
 returns true if either FunctionNode::isMacroWithParams() or FunctionNode::isMacroWithoutParams() returns true.
 
bool isDeprecated () const override
 \reimp
 
void markExplicit ()
 
bool isExplicit () const
 
void markConstexpr ()
 
bool isConstexpr () const
 
void markNoexcept (QString expression="")
 
const std::optional< QString > & getNoexcept () const
 
bool isCppFunction () const
 
bool isSignal () const
 
bool isSlot () const
 
bool isCtor () const
 
bool isDtor () const
 
bool isCCtor () const
 
bool isMCtor () const
 
bool isCAssign () const
 
bool isMAssign () const
 
bool isQmlMethod () const
 
bool isQmlSignal () const
 
bool isQmlSignalHandler () const
 
bool isSpecialMemberFunction () const
 
bool isNonvirtual () const
 
bool isVirtual () const
 
bool isPureVirtual () const
 
bool returnsBool () const
 
Parametersparameters ()
 
const Parametersparameters () const
 
bool isPrivateSignal () const
 
void setParameters (const QString &signature)
 
QString signature (Node::SignatureOptions options) const override
 Reconstructs and returns the function's signature.
 
const QStringoverridesThis () const
 
const QList< PropertyNode * > & associatedProperties () const
 
bool hasAssociatedProperties () const
 
const PropertyNodeprimaryAssociatedProperty () const
 Returns the primary associated property, if this is an access function for one or more properties.
 
QString element () const override
 If this node is a QmlPropertyNode or a FunctionNode, this function returns the name of the parent node.
 
bool isAttached () const override
 Returns true if the QML property or QML method node is marked as attached.
 
QString qmlTypeName () const override
 If this is a QmlPropertyNode or a FunctionNode representing a QML method, this function returns the qmlTypeName() of the parent() node.
 
QString logicalModuleName () const override
 If this is a CollectionNode, this function returns the logical module name.
 
QString logicalModuleVersion () const override
 If this is a CollectionNode, this function returns the logical module version number.
 
QString logicalModuleIdentifier () const override
 If this is a CollectionNode, this function returns the logical module identifier.
 
void setFinal (bool b)
 
bool isFinal () const
 
void setOverride (bool b)
 
bool isOverride () const
 
void setRef (bool b)
 
bool isRef () const
 
void setRefRef (bool b)
 
bool isRefRef () const
 
void setInvokable (bool b)
 
bool isInvokable () const
 
bool hasTag (const QString &tag) const override
 If this node is a FunctionNode, the function returns true if the function has the tag t.
 
void setTag (const QString &tag)
 
const QStringtag () const
 
bool isIgnored () const
 In some cases, it is ok for a public function to be not documented.
 
bool hasOverloads () const
 Returns true if this function has overloads.
 
void setOverloadFlag ()
 
void setOverloadNumber (signed short number)
 Sets the function node's overload number to number.
 
signed short overloadNumber () const
 Returns the overload number for this function.
 
- Public Member Functions inherited from Node< _Tp >
std::pair< edge_iterator, bool > insertEdge (iterator other) const
 
edge_iterator begin () const
 
edge_iterator end () const
 
bool operator== (const Node< _Tp > &other) const
 
bool operator!= (const Node< _Tp > &other) const
 
bool operator< (const Node< _Tp > &other) const
 
virtual ~Node ()=default
 The default destructor is virtual so any subclass of Node can be deleted by deleting a pointer to Node.
 
virtual Treetree () const
 Returns a pointer to the Tree this node is in.
 
Aggregateroot () const
 
NodeType nodeType () const
 Returns this node's type.
 
QString nodeTypeString () const
 Returns this node's type as a string for use as an attribute value in XML or HTML.
 
Genus genus () const
 Returns this node's Genus.
 
void setGenus (Genus t)
 
bool isActive () const
 Returns true if this node's status is Active.
 
bool isClass () const
 Returns true if the node type is Class.
 
bool isCppNode () const
 Returns true if this node's Genus value is CPP.
 
bool isDontDocument () const
 Returns true if this node's status is DontDocument.
 
bool isEnumType () const
 Returns true if the node type is Enum.
 
bool isExample () const
 Returns true if the node type is Example.
 
bool isExternalPage () const
 Returns true if the node type is ExternalPage.
 
bool isFunction (Genus g=DontCare) const
 Returns true if this is a FunctionNode and its Genus is set to g.
 
bool isGroup () const
 Returns true if the node type is Group.
 
bool isHeader () const
 Returns true if the node type is HeaderFile.
 
bool isIndexNode () const
 Returns true if this node was created from something in an index file.
 
bool isModule () const
 Returns true if the node type is Module.
 
bool isNamespace () const
 Returns true if the node type is Namespace.
 
bool isPage () const
 Returns true if the node type is Page.
 
bool isPreliminary () const
 Returns true if this node's status is Preliminary.
 
bool isPrivate () const
 Returns true if this node's access is Private.
 
bool isProperty () const
 Returns true if the node type is Property.
 
bool isProxyNode () const
 Returns true if the node type is Proxy.
 
bool isPublic () const
 Returns true if this node's access is Public.
 
bool isProtected () const
 Returns true if this node's access is Protected.
 
bool isQmlBasicType () const
 Returns true if the node type is QmlBasicType.
 
bool isQmlModule () const
 Returns true if the node type is QmlModule.
 
bool isQmlNode () const
 Returns true if this node's Genus value is QML.
 
bool isQmlProperty () const
 Returns true if the node type is QmlProperty.
 
bool isQmlType () const
 Returns true if the node type is QmlType or QmlValueType.
 
bool isRelatedNonmember () const
 Returns true if this is a related nonmember of something.
 
bool isStruct () const
 Returns true if the node type is Struct.
 
bool isSharedCommentNode () const
 Returns true if the node type is SharedComment.
 
bool isTypeAlias () const
 Returns true if the node type is Typedef.
 
bool isTypedef () const
 Returns true if the node type is Typedef.
 
bool isUnion () const
 Returns true if the node type is Union.
 
bool isVariable () const
 Returns true if the node type is Variable.
 
bool isGenericCollection () const
 Returns true if the node type is Collection.
 
virtual bool isAbstract () const
 Returns true if the ClassNode or QmlTypeNode is marked abstract.
 
virtual bool isAggregate () const
 Returns true if this node is an aggregate, which means it inherits Aggregate and can therefore have children.
 
virtual bool isFirstClassAggregate () const
 Returns true if this Node is an Aggregate but not a ProxyNode.
 
virtual bool isAlias () const
 Returns true if this QML property is marked as an alias.
 
virtual bool isClassNode () const
 Returns true if this is an instance of ClassNode.
 
virtual bool isCollectionNode () const
 Returns true if this is an instance of CollectionNode.
 
virtual bool isInternal () const
 Returns true if the node's status is Internal, or if its parent is a class with Internal status.
 
virtual bool isPageNode () const
 Returns true if this node represents something that generates a documentation page.
 
virtual bool isRelatableType () const
 Returns true if this node is something you can relate things to with the relates command.
 
virtual bool isPropertyGroup () const
 Returns true if the node is a SharedCommentNode for documenting multiple C++ properties or multiple QML properties.
 
virtual bool isTextPageNode () const
 Returns true if the node is a PageNode but not an Aggregate.
 
virtual bool isWrapper () const
 Returns true if the node is a class node or a QML type node that is marked as being a wrapper class or wrapper QML type, or if it is a member of a wrapper class or type.
 
QString plainName () const
 Returns this node's name member.
 
QString plainFullName (const Node *relative=nullptr) const
 Constructs and returns the node's fully qualified name by recursively ascending the parent links and prepending each parent name + "::".
 
QString plainSignature () const
 Constructs and returns the node's fully qualified signature by recursively ascending the parent links and prepending each parent name + "::" to the plain signature.
 
QString fullName (const Node *relative=nullptr) const
 Constructs and returns this node's full name.
 
const QStringfileNameBase () const
 Returns the node's file name base string, which is built once, when Generator::fileBase() is called and stored in the Node.
 
bool hasFileNameBase () const
 Returns true if the node's file name base has been set.
 
void setFileNameBase (const QString &t)
 Sets the node's file name base to t.
 
void setAccess (Access t)
 Sets the node's access type to t.
 
void setLocation (const Location &t)
 Sets the node's declaration location, its definition location, or both, depending on the suffix of the file name from the file path in location t.
 
void setDoc (const Doc &doc, bool replace=false)
 Sets this Node's Doc to doc.
 
void setStatus (Status t)
 Sets the node's status to t.
 
void setThreadSafeness (ThreadSafeness t)
 Sets the node's thread safeness to t.
 
void setSince (const QString &since)
 Sets the information about the project and version a node was introduced in, unless the version is lower than the 'ignoresince.
 
void setPhysicalModuleName (const QString &name)
 Sets the node's physical module name.
 
void setUrl (const QString &url)
 Sets the node's URL to url, which is the url to the page that the node represents.
 
void setTemplateDecl (std::optional< RelaxedTemplateDeclaration > t)
 
void setReconstitutedBrief (const QString &t)
 When reading an index file, this function is called with the reconstituted brief clause t to set the node's brief clause.
 
void setParent (Aggregate *n)
 Sets the node's parent pointer to n.
 
void setIndexNodeFlag (bool isIndexNode=true)
 Sets a flag in this Node that indicates the node was created for something in an index file.
 
void setHadDoc ()
 
void setComparisonCategory (const ComparisonCategory &category)
 
ComparisonCategory comparisonCategory () const
 
virtual void setRelatedNonmember (bool b)
 Sets a flag in the node indicating whether this node is a related nonmember of something.
 
virtual void addMember (Node *)
 In a CollectionNode, this function adds node to the collection node's members list.
 
virtual bool hasNamespaces () const
 Returns true if this is a CollectionNode and its members list contains namespace nodes.
 
virtual bool hasClasses () const
 Returns true if this is a CollectionNode and its members list contains class nodes.
 
virtual void setAbstract (bool)
 If this node is a ClassNode or a QmlTypeNode, the node's abstract flag data member is set to b.
 
virtual void setWrapper ()
 If this node is a ClassNode or a QmlTypeNode, the node's wrapper flag data member is set to true.
 
virtual void setDataType (const QString &)
 If this node is a PropertyNode or a QmlPropertyNode, its data type data member is set to dataType.
 
virtual bool wasSeen () const
 Returns the seen flag data member of this node if it is a NamespaceNode or a CollectionNode.
 
virtual void appendGroupName (const QString &)
 
virtual bool docMustBeGenerated () const
 This function is called to perform a test to decide if the node must have documentation generated.
 
virtual QString title () const
 Returns a string that can be used to print a title in the documentation for whatever this Node is.
 
virtual QString subtitle () const
 Returns a string that can be used to print a subtitle in the documentation for whatever this Node is.
 
virtual QString fullTitle () const
 Returns a string that can be used as the full title for the documentation of this node.
 
virtual bool setTitle (const QString &)
 Sets the node's title, which is used for the title of the documentation page, if one is generated for this node.
 
virtual bool setSubtitle (const QString &)
 Sets the node's subtitle, which is used for the subtitle of the documentation page, if one is generated for this node.
 
void markInternal ()
 Sets the node's access to Private and its status to Internal.
 
virtual void markDefault ()
 If this node is a QmlPropertyNode, it is marked as the default property.
 
virtual void markReadOnly (bool)
 If this node is a QmlPropertyNode, then the property's read-only flag is set to flag.
 
Aggregateparent () const
 Returns the node's parent pointer.
 
const QStringname () const
 Returns the node's name data member.
 
QString physicalModuleName () const
 
QString url () const
 Returns the node's URL, which is the url of the documentation page created for the node or the url of an external page if the node is an ExternalPageNode.
 
virtual void setQtVariable (const QString &)
 If this node is a CollectionNode, its QT variable is set to v.
 
virtual QString qtVariable () const
 If this node is a CollectionNode, its QT variable is returned.
 
virtual void setCMakePackage (const QString &)
 
virtual void setCMakeComponent (const QString &)
 
virtual void setCMakeTargetItem (const QString &)
 
virtual QString cmakePackage () const
 
virtual QString cmakeComponent () const
 
virtual QString cmakeTargetItem () const
 
void setDeprecated (const QString &sinceVersion)
 Sets the Node status to Node::Deprecated, unless sinceVersion represents a future version.
 
const QStringdeprecatedSince () const
 
const QMap< LinkType, std::pair< QString, QString > > & links () const
 Returns a reference to this node's link map.
 
void setLink (LinkType linkType, const QString &link, const QString &desc)
 This function creates a pair that describes a link.
 
Access access () const
 Returns the node's Access setting, which can be Public, Protected, or Private.
 
const LocationdeclLocation () const
 Returns the Location where this node's declaration was seen.
 
const LocationdefLocation () const
 Returns the Location where this node's dedefinition was seen.
 
const Locationlocation () const
 If this node's definition location is empty, this function returns this node's declaration location.
 
const Docdoc () const
 Returns a reference to the node's Doc data member.
 
bool isInAPI () const
 
bool hasDoc () const
 Returns true if this node is documented, or it represents a documented node read from the index ('had doc'), or this node is sharing a non-empty doc with other nodes.
 
bool hadDoc () const
 
Status status () const
 Returns the node's status value.
 
ThreadSafeness threadSafeness () const
 Returns the thread safeness value for whatever this node represents.
 
ThreadSafeness inheritedThreadSafeness () const
 If this node has a parent, the parent's thread safeness value is returned.
 
QString since () const
 Returns the node's since string, which can be empty.
 
const std::optional< RelaxedTemplateDeclaration > & templateDecl () const
 
const QStringreconstitutedBrief () const
 
bool isSharingComment () const
 This function returns true if the node is sharing a comment with other nodes.
 
void setSharedCommentNode (SharedCommentNode *t)
 
SharedCommentNodesharedCommentNode ()
 
QString extractClassName (const QString &string) const
 Extract a class name from the type string and return it.
 
virtual QString qmlFullBaseName () const
 If this is a QmlTypeNode, this function returns the QML full base name.
 
virtual void setLogicalModuleInfo (const QStringList &)
 If this node is a CollectionNode, this function splits arg on the blank character to get a logical module name and version number.
 
virtual CollectionNodelogicalModule () const
 If this is a QmlTypeNode, a pointer to its QML module is returned, which is a pointer to a CollectionNode.
 
virtual void setQmlModule (CollectionNode *)
 If this is a QmlTypeNode, this function sets the QML type's QML module pointer to the CollectionNode t.
 
virtual ClassNodeclassNode ()
 If this is a QmlTypeNode, this function returns the pointer to the C++ ClassNode that this QML type represents.
 
virtual void setClassNode (ClassNode *)
 If this is a QmlTypeNode, this function sets the C++ class node to cn.
 
QString fullDocumentName () const
 Construct the full document name for this node and return it.
 
QString qualifyCppName ()
 Returns the CPP node's qualified name by prepending the namespaces name + "::" if there isw a namespace.
 
QString qualifyQmlName ()
 Returns the QML node's qualified name by prepending the logical module name.
 
QString qualifyWithParentName ()
 Return the name of this node qualified with the parent name and "::" if there is a parent name.
 

Static Public Member Functions

static Metaness getMetaness (const QString &value)
 This static function converts the string value to an enum value for the kind of function named by value.
 
static Metaness getMetanessFromTopic (const QString &topic)
 This static function converts the topic string topic to an enum value for the kind of function this FunctionNode represents.
 
static Genus getGenus (Metaness metaness)
 Determines the Genus value for this FunctionNode given the Metaness value metaness.
 
- Static Public Member Functions inherited from Node< _Tp >
static iterator get (_Tp data)
 
static iterator begin_nodes ()
 
static iterator end_nodes ()
 
static Repositoryrepository ()
 
static Genus getGenus (NodeType t)
 Determines the appropriate Genus value for the NodeType value t and returns that Genus value.
 
static FlagValue toFlagValue (bool b)
 Converts the boolean value b to an enum representation of the boolean type, which includes an enum value for the {default value} of the item, i.e.
 
static bool fromFlagValue (FlagValue fv, bool defaultValue)
 Converts the enum fv back to a boolean value.
 
static QString nodeTypeString (NodeType t)
 Returns the node type t as a string for use as an attribute value in XML or HTML.
 
static bool nodeNameLessThan (const Node *first, const Node *second)
 Returns true if the node n1 is less than node n2.
 
static bool nodeSortKeyOrNameLessThan (const Node *n1, const Node *n2)
 Returns true if node n1 is less than node n2 when comparing the sort keys, defined with.
 

Friends

class Aggregate
 
class PropertyNode
 
int compare (const FunctionNode *f1, const FunctionNode *f2)
 Compares FunctionNode f1 with f2, assumed to have identical names.
 

Additional Inherited Members

- Public Attributes inherited from Node< _Tp >
bool root
 Returns a pointer to the root of the Tree this node is in.
 
int dfn
 
_Tp data
 
std::list< iteratorouts
 
- Protected Member Functions inherited from Node< _Tp >
 Node ()
 
 Node (_Tp d)
 
 Node (NodeType type, Aggregate *parent, QString name)
 Construct a node with the given type and having the given parent and name.
 

Detailed Description

This node is used to represent any kind of function being documented.

It can represent a C++ class member function, a C++ global function, a QML method, or a macro, with or without parameters.

A C++ function can be a signal, a slot, a constructor of any kind, a destructor, a copy or move assignment operator, or just a plain old member function or a global function.

A QML method can be a plain old method, or a signal or signal handler.

If the function is an overload, its overload flag is true.

The function node also has an overload number. If the node's overload flag is set, this overload number is positive; otherwise, the overload number is 0.

Definition at line 18 of file functionnode.h.

Member Enumeration Documentation

◆ Metaness

Enumerator
Plain 
Signal 
Slot 
Ctor 
Dtor 
CCtor 
MCtor 
MacroWithParams 
MacroWithoutParams 
Native 
CAssign 
MAssign 
QmlSignal 
QmlSignalHandler 
QmlMethod 

Definition at line 23 of file functionnode.h.

◆ Virtualness

Enumerator
NonVirtual 
NormalVirtual 
PureVirtual 

Definition at line 21 of file functionnode.h.

Constructor & Destructor Documentation

◆ FunctionNode() [1/2]

FunctionNode::FunctionNode ( Aggregate * parent,
const QString & name )

Construct a function node for a C++ function.

It's parent is parent, and it's name is name.

Note
The function node's overload flag is set to false, and its overload number is set to 0. These data members are set in normalizeOverloads(), when all the overloads are known.

Definition at line 42 of file functionnode.cpp.

◆ FunctionNode() [2/2]

FunctionNode::FunctionNode ( Metaness kind,
Aggregate * parent,
const QString & name,
bool attached = false )

Construct a function node for a QML method or signal, specified by ther Metaness value type.

It's parent is parent, and it's name is name. If attached is true, it is an attached method or signal.

Note
The function node's overload flag is set to false, and its overload number is set to 0. These data members are set in normalizeOverloads(), when all the overloads are known.

Definition at line 74 of file functionnode.cpp.

References Node< _Tp >::Function.

Member Function Documentation

◆ associatedProperties()

const QList< PropertyNode * > & FunctionNode::associatedProperties ( ) const
inlinenodiscard

Definition at line 120 of file functionnode.h.

◆ clone()

Node * FunctionNode::clone ( Aggregate * parent)
overridevirtual

Clone this node on the heap and make the clone a child of parent.

Return the pointer to the clone.

Reimplemented from Node< _Tp >.

Definition at line 102 of file functionnode.cpp.

◆ declaredReturnType()

const std::optional< QString > & FunctionNode::declaredReturnType ( ) const
inlinenodiscard

Definition at line 64 of file functionnode.h.

◆ element()

QString FunctionNode::element ( ) const
inlinenodiscardoverridevirtual

If this node is a QmlPropertyNode or a FunctionNode, this function returns the name of the parent node.

Otherwise it returns an empty string.

Reimplemented from Node< _Tp >.

Definition at line 123 of file functionnode.h.

References Node< _Tp >::parent().

+ Here is the call graph for this function:

◆ getGenus()

Node::Genus FunctionNode::getGenus ( FunctionNode::Metaness metaness)
static

Determines the Genus value for this FunctionNode given the Metaness value metaness.

Returns the Genus value. metaness must be one of the values of Metaness. If not, Node::DontCare is returned.

Definition at line 184 of file functionnode.cpp.

References CAssign, CCtor, Node< _Tp >::CPP, Ctor, Node< _Tp >::DontCare, Dtor, MacroWithoutParams, MacroWithParams, MAssign, MCtor, Native, Plain, Node< _Tp >::QML, QmlMethod, QmlSignal, QmlSignalHandler, Signal, and Slot.

◆ getMetaness()

FunctionNode::Metaness FunctionNode::getMetaness ( const QString & value)
static

This static function converts the string value to an enum value for the kind of function named by value.

Definition at line 213 of file functionnode.cpp.

References buildMetanessMap(), and metanessMap_.

+ Here is the call graph for this function:

◆ getMetanessFromTopic()

FunctionNode::Metaness FunctionNode::getMetanessFromTopic ( const QString & topic)
static

This static function converts the topic string topic to an enum value for the kind of function this FunctionNode represents.

Definition at line 224 of file functionnode.cpp.

References buildTopicMetanessMap(), and topicMetanessMap_.

+ Here is the call graph for this function:

◆ getNoexcept()

const std::optional< QString > & FunctionNode::getNoexcept ( ) const
inline

Definition at line 88 of file functionnode.h.

◆ hasAssociatedProperties()

bool FunctionNode::hasAssociatedProperties ( ) const
inlinenodiscard

Definition at line 121 of file functionnode.h.

Referenced by DocBookGenerator::generateBody(), Generator::generateBody(), and DocBookGenerator::generateDocBookSynopsis().

+ Here is the caller graph for this function:

◆ hasOverloads()

bool FunctionNode::hasOverloads ( ) const
inlinenodiscard

Returns true if this function has overloads.

Definition at line 158 of file functionnode.h.

References Node< _Tp >::parent().

Referenced by Generator::getOverloadedSignalCode().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ hasTag()

bool FunctionNode::hasTag ( const QString & t) const
inlinenodiscardoverridevirtual

If this node is a FunctionNode, the function returns true if the function has the tag t.

Otherwise the function returns false. I don't know what the tag is used for.

Reimplemented from Node< _Tp >.

Definition at line 154 of file functionnode.h.

◆ isAttached()

bool FunctionNode::isAttached ( ) const
inlinenodiscardoverridevirtual

Returns true if the QML property or QML method node is marked as attached.

Reimplemented from Node< _Tp >.

Definition at line 124 of file functionnode.h.

◆ isCAssign()

bool FunctionNode::isCAssign ( ) const
inlinenodiscard

Definition at line 97 of file functionnode.h.

References CAssign.

Referenced by DocBookGenerator::generateBody(), Generator::generateBody(), and isSpecialMemberFunction().

+ Here is the caller graph for this function:

◆ isCCtor()

bool FunctionNode::isCCtor ( ) const
inlinenodiscard

Definition at line 95 of file functionnode.h.

References CCtor.

Referenced by DocBookGenerator::generateBody(), Generator::generateBody(), DocBookGenerator::generateDocBookSynopsis(), isSomeCtor(), isSpecialMemberFunction(), nodeToSynopsisTag(), and sortName().

+ Here is the caller graph for this function:

◆ isConst()

bool FunctionNode::isConst ( ) const
inlinenodiscard

Definition at line 67 of file functionnode.h.

Referenced by CppCodeMarker::markedUpSynopsis(), and Node< _Tp >::nodeNameLessThan().

+ Here is the caller graph for this function:

◆ isConstexpr()

bool FunctionNode::isConstexpr ( ) const
inline

Definition at line 85 of file functionnode.h.

Referenced by CodeMarker::extraSynopsis().

+ Here is the caller graph for this function:

◆ isCppFunction()

bool FunctionNode::isCppFunction ( ) const
inlinenodiscard

Definition at line 90 of file functionnode.h.

References Plain.

◆ isCtor()

bool FunctionNode::isCtor ( ) const
inlinenodiscard

Definition at line 93 of file functionnode.h.

References Ctor.

Referenced by DocBookGenerator::generateBody(), Generator::generateBody(), DocBookGenerator::generateDocBookSynopsis(), isSomeCtor(), isSpecialMemberFunction(), nodeToSynopsisTag(), and sortName().

+ Here is the caller graph for this function:

◆ isDefault()

bool FunctionNode::isDefault ( ) const
inlinenodiscardoverridevirtual

Returns true if the QML property node is marked as default.

Reimplemented from Node< _Tp >.

Definition at line 68 of file functionnode.h.

Referenced by CodeMarker::extraSynopsis(), and DocBookGenerator::generateDocBookSynopsis().

+ Here is the caller graph for this function:

◆ isDeprecated()

bool FunctionNode::isDeprecated ( ) const
nodiscardoverridevirtual

\reimp

Returns true if this is an access function for an obsolete property, otherwise calls the base implementation of isDeprecated().

Reimplemented from Node< _Tp >.

Definition at line 355 of file functionnode.cpp.

References Node< _Tp >::isDeprecated().

Referenced by Generator::generateBody(), keep(), and Generator::supplementAlsoList().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isDtor()

bool FunctionNode::isDtor ( ) const
inlinenodiscard

Definition at line 94 of file functionnode.h.

References Dtor.

Referenced by Generator::fullDocumentLocation(), DocBookGenerator::generateBody(), Generator::generateBody(), DocBookGenerator::generateDocBookSynopsis(), Section::insert(), isSpecialMemberFunction(), keep(), nodeToSynopsisTag(), and sortName().

+ Here is the caller graph for this function:

◆ isExplicit()

bool FunctionNode::isExplicit ( ) const
inline

Definition at line 82 of file functionnode.h.

Referenced by CodeMarker::extraSynopsis().

+ Here is the caller graph for this function:

◆ isFinal()

bool FunctionNode::isFinal ( ) const
inlinenodiscard

Definition at line 140 of file functionnode.h.

Referenced by CodeMarker::extraSynopsis(), DocBookGenerator::generateDocBookSynopsis(), and CppCodeMarker::markedUpSynopsis().

+ Here is the caller graph for this function:

◆ isIgnored()

bool FunctionNode::isIgnored ( ) const
nodiscard

In some cases, it is ok for a public function to be not documented.

For example, the macro Q_OBJECT adds several functions to the API of a class, but these functions are normally not meant to be documented. So if a function node doesn't have documentation, then if its name is in the list of functions that it is ok not to document, this function returns true. Otherwise, it returns false.

These are the member function names added by macros. Usually they are not documented, but they can be documented, so this test avoids reporting an error if they are not documented.

But maybe we should generate a standard text for each of them?

Definition at line 480 of file functionnode.cpp.

References Node< _Tp >::hasDoc().

Referenced by Generator::generateBody().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isInvokable()

bool FunctionNode::isInvokable ( ) const
inlinenodiscard

Definition at line 152 of file functionnode.h.

Referenced by CodeMarker::extraSynopsis(), DocBookGenerator::generateBody(), and Generator::generateBody().

+ Here is the caller graph for this function:

◆ isMacro()

bool FunctionNode::isMacro ( ) const
inlinenodiscardoverridevirtual

returns true if either FunctionNode::isMacroWithParams() or FunctionNode::isMacroWithoutParams() returns true.

Reimplemented from Node< _Tp >.

Definition at line 75 of file functionnode.h.

References isMacroWithoutParams(), and isMacroWithParams().

Referenced by DocBookGenerator::generateDocBookSynopsis().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isMacroWithoutParams()

bool FunctionNode::isMacroWithoutParams ( ) const
inlinenodiscard

Definition at line 74 of file functionnode.h.

References MacroWithoutParams.

Referenced by isMacro(), and CppCodeMarker::markedUpSynopsis().

+ Here is the caller graph for this function:

◆ isMacroWithParams()

bool FunctionNode::isMacroWithParams ( ) const
inlinenodiscard

Definition at line 73 of file functionnode.h.

References MacroWithParams.

Referenced by isMacro().

+ Here is the caller graph for this function:

◆ isMarkedReimp()

bool FunctionNode::isMarkedReimp ( ) const
inlinenodiscardoverridevirtual

Returns true if the FunctionNode is marked as a reimplemented function.

That means it is virtual in the base class and it is reimplemented in the subclass.

Reimplemented from Node< _Tp >.

Definition at line 71 of file functionnode.h.

Referenced by Generator::generateBody().

+ Here is the caller graph for this function:

◆ isMAssign()

bool FunctionNode::isMAssign ( ) const
inlinenodiscard

Definition at line 98 of file functionnode.h.

References MAssign.

Referenced by DocBookGenerator::generateBody(), Generator::generateBody(), and isSpecialMemberFunction().

+ Here is the caller graph for this function:

◆ isMCtor()

bool FunctionNode::isMCtor ( ) const
inlinenodiscard

Definition at line 96 of file functionnode.h.

References MCtor.

Referenced by DocBookGenerator::generateBody(), Generator::generateBody(), DocBookGenerator::generateDocBookSynopsis(), isSomeCtor(), isSpecialMemberFunction(), nodeToSynopsisTag(), and sortName().

+ Here is the caller graph for this function:

◆ isNonvirtual()

bool FunctionNode::isNonvirtual ( ) const
inlinenodiscard

Definition at line 108 of file functionnode.h.

References NonVirtual.

Referenced by CodeMarker::extraSynopsis(), and CppCodeMarker::markedUpSynopsis().

+ Here is the caller graph for this function:

◆ isOverload()

bool FunctionNode::isOverload ( ) const
inlinenodiscard

Definition at line 70 of file functionnode.h.

Referenced by Generator::generateBody(), DocBookGenerator::generateDocBookSynopsis(), and Aggregate::normalizeOverloads().

+ Here is the caller graph for this function:

◆ isOverride()

bool FunctionNode::isOverride ( ) const
inlinenodiscard

Definition at line 143 of file functionnode.h.

Referenced by CodeMarker::extraSynopsis(), DocBookGenerator::generateDocBookSynopsis(), and CppCodeMarker::markedUpSynopsis().

+ Here is the caller graph for this function:

◆ isPrivateSignal()

bool FunctionNode::isPrivateSignal ( ) const
inlinenodiscard

Definition at line 115 of file functionnode.h.

References Parameters::isPrivateSignal().

Referenced by DocBookGenerator::generateBody(), and Generator::generateBody().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isPureVirtual()

bool FunctionNode::isPureVirtual ( ) const
inlinenodiscard

Definition at line 110 of file functionnode.h.

References PureVirtual.

Referenced by CodeMarker::extraSynopsis(), DocBookGenerator::generateDocBookSynopsis(), and CppCodeMarker::markedUpSynopsis().

+ Here is the caller graph for this function:

◆ isQmlMethod()

bool FunctionNode::isQmlMethod ( ) const
inlinenodiscard

Definition at line 100 of file functionnode.h.

References QmlMethod.

◆ isQmlSignal()

bool FunctionNode::isQmlSignal ( ) const
inlinenodiscard

Definition at line 101 of file functionnode.h.

References QmlSignal.

Referenced by DocBookGenerator::generateBody(), and Generator::generateBody().

+ Here is the caller graph for this function:

◆ isQmlSignalHandler()

bool FunctionNode::isQmlSignalHandler ( ) const
inlinenodiscard

Definition at line 102 of file functionnode.h.

References QmlSignalHandler.

◆ isRef()

bool FunctionNode::isRef ( ) const
inlinenodiscard

Definition at line 146 of file functionnode.h.

Referenced by CppCodeMarker::markedUpSynopsis().

+ Here is the caller graph for this function:

◆ isRefRef()

bool FunctionNode::isRefRef ( ) const
inlinenodiscard

Definition at line 149 of file functionnode.h.

Referenced by CppCodeMarker::markedUpSynopsis().

+ Here is the caller graph for this function:

◆ isSignal()

bool FunctionNode::isSignal ( ) const
inlinenodiscard

Definition at line 91 of file functionnode.h.

References Signal.

Referenced by CodeMarker::extraSynopsis(), and Generator::getOverloadedSignalCode().

+ Here is the caller graph for this function:

◆ isSlot()

bool FunctionNode::isSlot ( ) const
inlinenodiscard

Definition at line 92 of file functionnode.h.

References Slot.

Referenced by CodeMarker::extraSynopsis().

+ Here is the caller graph for this function:

◆ isSomeCtor()

bool FunctionNode::isSomeCtor ( ) const
inlinenodiscard

Definition at line 72 of file functionnode.h.

References isCCtor(), isCtor(), and isMCtor().

Referenced by Section::insert(), and keep().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isSpecialMemberFunction()

bool FunctionNode::isSpecialMemberFunction ( ) const
inlinenodiscard

Definition at line 104 of file functionnode.h.

References isCAssign(), isCCtor(), isCtor(), isDtor(), isMAssign(), and isMCtor().

+ Here is the call graph for this function:

◆ isStatic()

bool FunctionNode::isStatic ( ) const
inlinenodiscardoverridevirtual

Returns true if the FunctionNode represents a static function.

Reimplemented from Node< _Tp >.

Definition at line 69 of file functionnode.h.

Referenced by CodeMarker::extraSynopsis().

+ Here is the caller graph for this function:

◆ isVirtual()

bool FunctionNode::isVirtual ( ) const
inlinenodiscard

Definition at line 109 of file functionnode.h.

References NormalVirtual.

Referenced by DocBookGenerator::generateBody(), and Generator::generateBody().

+ Here is the caller graph for this function:

◆ kindString()

QString FunctionNode::kindString ( ) const
nodiscard

Returns a string representing the kind of function this Function node represents, which depends on the Metaness value.

Definition at line 256 of file functionnode.cpp.

References QmlMethod, QmlSignal, and QmlSignalHandler.

◆ logicalModuleIdentifier()

QString FunctionNode::logicalModuleIdentifier ( ) const
inlinenodiscardoverridevirtual

If this is a CollectionNode, this function returns the logical module identifier.

Otherwise it returns an empty string.

Reimplemented from Node< _Tp >.

Definition at line 134 of file functionnode.h.

References Node< _Tp >::parent().

+ Here is the call graph for this function:

◆ logicalModuleName()

QString FunctionNode::logicalModuleName ( ) const
inlinenodiscardoverridevirtual

If this is a CollectionNode, this function returns the logical module name.

Otherwise it returns an empty string.

Reimplemented from Node< _Tp >.

Definition at line 126 of file functionnode.h.

References Node< _Tp >::parent().

+ Here is the call graph for this function:

◆ logicalModuleVersion()

QString FunctionNode::logicalModuleVersion ( ) const
inlinenodiscardoverridevirtual

If this is a CollectionNode, this function returns the logical module version number.

Otherwise it returns an empty string.

Reimplemented from Node< _Tp >.

Definition at line 130 of file functionnode.h.

References Node< _Tp >::parent().

+ Here is the call graph for this function:

◆ markConstexpr()

void FunctionNode::markConstexpr ( )
inline

Definition at line 84 of file functionnode.h.

◆ markExplicit()

void FunctionNode::markExplicit ( )
inline

Definition at line 81 of file functionnode.h.

◆ markNoexcept()

void FunctionNode::markNoexcept ( QString expression = "")
inline

Definition at line 87 of file functionnode.h.

◆ metaness()

Metaness FunctionNode::metaness ( ) const
inlinenodiscard

Definition at line 45 of file functionnode.h.

Referenced by Generator::fullDocumentLocation(), XmlGenerator::refForNode(), CodeMarker::taggedQmlNode(), and Generator::typeString().

+ Here is the caller graph for this function:

◆ metanessString()

QString FunctionNode::metanessString ( ) const
nodiscard

Returns a string representing the Metaness enum value for this function.

It is used in index files.

Definition at line 274 of file functionnode.cpp.

References CAssign, CCtor, Ctor, Dtor, MacroWithoutParams, MacroWithParams, MAssign, MCtor, Native, Plain, QmlMethod, QmlSignal, QmlSignalHandler, Signal, and Slot.

◆ overloadNumber()

signed short FunctionNode::overloadNumber ( ) const
inlinenodiscard

Returns the overload number for this function.

Definition at line 164 of file functionnode.h.

Referenced by Generator::supplementAlsoList().

+ Here is the caller graph for this function:

◆ overridesThis()

const QString & FunctionNode::overridesThis ( ) const
inlinenodiscard

Definition at line 119 of file functionnode.h.

Referenced by CppCodeParser::processMetaCommand().

+ Here is the caller graph for this function:

◆ parameters() [1/2]

Parameters & FunctionNode::parameters ( )
inline

Definition at line 113 of file functionnode.h.

Referenced by QmlSignatureParser::matchFunctionDecl(), QmlSignatureParser::matchParameter(), and FnCommandParser::operator()().

+ Here is the caller graph for this function:

◆ parameters() [2/2]

const Parameters & FunctionNode::parameters ( ) const
inlinenodiscard

Definition at line 114 of file functionnode.h.

Referenced by CodeMarker::extraSynopsis(), Aggregate::findFunctionChild(), DocBookGenerator::generateDocBookSynopsis(), Generator::getOverloadedSignalCode(), CppCodeMarker::markedUpQmlItem(), and CppCodeMarker::markedUpSynopsis().

+ Here is the caller graph for this function:

◆ primaryAssociatedProperty()

const PropertyNode * FunctionNode::primaryAssociatedProperty ( ) const
nodiscard

Returns the primary associated property, if this is an access function for one or more properties.

An associated property is considered a primary if this function's name starts with the property name. If there's no such property, return the first one available as a fallback.

If no associated properties exist, returns \nullptr.

Definition at line 333 of file functionnode.cpp.

Referenced by XmlGenerator::refForNode().

+ Here is the caller graph for this function:

◆ qmlTypeName()

QString FunctionNode::qmlTypeName ( ) const
inlinenodiscardoverridevirtual

If this is a QmlPropertyNode or a FunctionNode representing a QML method, this function returns the qmlTypeName() of the parent() node.

Otherwise it returns the name data member.

Reimplemented from Node< _Tp >.

Definition at line 125 of file functionnode.h.

References Node< _Tp >::parent().

+ Here is the call graph for this function:

◆ returnsBool()

bool FunctionNode::returnsBool ( ) const
inlinenodiscard

Definition at line 111 of file functionnode.h.

Referenced by Generator::generateBody().

+ Here is the caller graph for this function:

◆ returnType()

const QString & FunctionNode::returnType ( ) const
inlinenodiscard

Definition at line 63 of file functionnode.h.

◆ returnTypeString()

QString FunctionNode::returnTypeString ( ) const
nodiscard

Returns the type of the function as a string.

The returned string is either the type as declared in the header, or auto if that's the return type in the \\fn command for the function.

Definition at line 507 of file functionnode.cpp.

◆ setConst()

void FunctionNode::setConst ( bool b)
inline

Definition at line 57 of file functionnode.h.

◆ setDeclaredReturnType()

void FunctionNode::setDeclaredReturnType ( const QString & type)
inline

Definition at line 54 of file functionnode.h.

◆ setDefault()

void FunctionNode::setDefault ( bool b)
inline

Definition at line 58 of file functionnode.h.

◆ setFinal()

void FunctionNode::setFinal ( bool b)
inline

Definition at line 139 of file functionnode.h.

◆ setInvokable()

void FunctionNode::setInvokable ( bool b)
inline

Definition at line 151 of file functionnode.h.

◆ setMetaness()

void FunctionNode::setMetaness ( Metaness metaness)
inline

Definition at line 47 of file functionnode.h.

◆ setOverloadFlag()

void FunctionNode::setOverloadFlag ( )
inline

Definition at line 162 of file functionnode.h.

Referenced by CppCodeParser::processMetaCommand().

+ Here is the caller graph for this function:

◆ setOverloadNumber()

void FunctionNode::setOverloadNumber ( signed short number)

Sets the function node's overload number to number.

If number is 0, the function node's overload flag is set to false. If number is greater than 0, the overload flag is set to true.

Definition at line 236 of file functionnode.cpp.

◆ setOverride()

void FunctionNode::setOverride ( bool b)
inline

Definition at line 142 of file functionnode.h.

Referenced by setOverridesForFunction().

+ Here is the caller graph for this function:

◆ setOverridesThis()

void FunctionNode::setOverridesThis ( const QString & path)
inline

Definition at line 61 of file functionnode.h.

◆ setParameters()

void FunctionNode::setParameters ( const QString & signature)
inline

Definition at line 116 of file functionnode.h.

◆ setRef()

void FunctionNode::setRef ( bool b)
inline

Definition at line 145 of file functionnode.h.

◆ setRefRef()

void FunctionNode::setRefRef ( bool b)
inline

Definition at line 148 of file functionnode.h.

◆ setReimpFlag()

void FunctionNode::setReimpFlag ( )
inline

Sets the function node's reimp flag to true, which means the {\reimp} command was used in the qdoc comment.

It is supposed to mean that the function reimplements a virtual function in a base class.

Definition at line 60 of file functionnode.h.

Referenced by CppCodeParser::processMetaCommand().

+ Here is the caller graph for this function:

◆ setReturnType()

void FunctionNode::setReturnType ( const QString & type)
inline

Definition at line 53 of file functionnode.h.

◆ setStatic()

void FunctionNode::setStatic ( bool b)
inline

Definition at line 59 of file functionnode.h.

◆ setTag()

void FunctionNode::setTag ( const QString & tag)
inline

Definition at line 155 of file functionnode.h.

◆ setVirtualness() [1/2]

void FunctionNode::setVirtualness ( const QString & value)

Sets the function node's virtualness value based on the value of string value, which is the value of the function's {virtual} attribute in an index file.

If value is {pure}, and if the parent() is a C++ class, set the parent's abstract flag to {true}.

Definition at line 135 of file functionnode.cpp.

References NonVirtual, NormalVirtual, Node< _Tp >::parent(), and PureVirtual.

+ Here is the call graph for this function:

◆ setVirtualness() [2/2]

void FunctionNode::setVirtualness ( Virtualness virtualness)
inline

Definition at line 56 of file functionnode.h.

◆ signature()

QString FunctionNode::signature ( Node::SignatureOptions options) const
nodiscardoverridevirtual

Reconstructs and returns the function's signature.

Specific parts of the signature are included according to flags in options:

\value Node::SignaturePlain Plain signature \value Node::SignatureDefaultValues Include any default argument values \value Node::SignatureReturnType Include return type \value Node::SignatureTemplateParams Include {template <parameter_list>} if one exists

Reimplemented from Node< _Tp >.

Definition at line 385 of file functionnode.cpp.

◆ tag()

const QString & FunctionNode::tag ( ) const
inlinenodiscard

Definition at line 156 of file functionnode.h.

◆ virtualness()

QString FunctionNode::virtualness ( ) const
nodiscard

Returns this function's virtualness value as a string for use as an attribute value in index files.

Definition at line 114 of file functionnode.cpp.

References NonVirtual, NormalVirtual, and PureVirtual.

Friends And Related Symbol Documentation

◆ Aggregate

friend class Aggregate
friend

Definition at line 171 of file functionnode.h.

◆ compare

int compare ( const FunctionNode * f1,
const FunctionNode * f2 )
friend

Compares FunctionNode f1 with f2, assumed to have identical names.

Returns an integer less than, equal to, or greater than zero if f1 is considered less than, equal to, or greater than f2.

The main purpose is to provide stable ordering for function overloads.

Definition at line 422 of file functionnode.cpp.

Referenced by Aggregate::findFunctionChild(), and Aggregate::normalizeOverloads().

◆ PropertyNode

friend class PropertyNode
friend

Definition at line 172 of file functionnode.h.


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