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
IR::MemberIR Struct Reference

Intermediate representation of a single documentable member. More...

#include <member.h>

Collaboration diagram for IR::MemberIR:

Public Member Functions

QJsonObject toJson () const
 \variable IR::MemberIR::name Unqualified member name.

Public Attributes

QString name
QString fullName
QString signature
QString href
QString brief
NodeType nodeType { NodeType::NoType }
Access access { Access::Public }
Status status { Status::Active }
QList< ParameterIRparameters
int overloadNumber { 0 }
bool isPrimaryOverload { true }
QList< EnumValueIRenumValues
bool isStatic { false }
bool isConst { false }
bool isVirtual { false }
bool isSignal { false }
bool isSlot { false }
bool isAttached { false }
bool isDefault { false }
bool isReadOnly { false }
bool isRequired { false }
QString dataType
QString anchorId
QString synopsis
QString since
QString threadSafety
QString comparisonCategory
bool isNoexcept { false }
QString noexceptNote
QList< ContentBlockbody
QList< ContentBlockalsoList

Detailed Description

Intermediate representation of a single documentable member.

MemberIR captures identity, classification, and type-specific metadata for one member of an aggregate (such as a class, namespace, or QML type). Function members carry parameter lists and overload metadata; enum members carry value listings. Templates use this to render summary tables and detail sections.

JSON output omits parameters and enumValues when the respective lists are empty. The nodeType field is omitted when set to NoType.

Definition at line 34 of file member.h.

Member Function Documentation

◆ toJson()

QJsonObject IR::MemberIR::toJson ( ) const
nodiscard

\variable IR::MemberIR::name Unqualified member name.

\variable IR::MemberIR::fullName Fully qualified name including the enclosing scope.

\variable IR::MemberIR::signature Display signature for synopsis rendering. The format depends on the member type: functions include return type and default values, properties use "name : type", and enums include the scoped or unscoped distinction.

\variable IR::MemberIR::href URL of the member's detailed documentation.

\variable IR::MemberIR::brief One-line summary extracted from the member's doc comment, empty if none.

\variable IR::MemberIR::nodeType Classification of the member's entity type (function, property, enum, and so on). Defaults to NoType.

\variable IR::MemberIR::access Access level (public, protected, or private). Defaults to Public.

\variable IR::MemberIR::status Documentation status (active, deprecated, preliminary, or internal). Defaults to Active.

\variable IR::MemberIR::parameters Parameter list for function members. Empty for non-functions.

\variable IR::MemberIR::overloadNumber Zero-based overload index. Zero indicates the primary overload.

\variable IR::MemberIR::isPrimaryOverload Whether this is the primary (first) overload of its name. Defaults to true.

\variable IR::MemberIR::enumValues Value list for enum members. Empty for non-enums.

\variable IR::MemberIR::isStatic Whether the member is declared static.

\variable IR::MemberIR::isConst Whether the member is declared const.

\variable IR::MemberIR::isVirtual Whether the member is virtual (including pure virtual and override).

\variable IR::MemberIR::isSignal Whether the member is a Qt signal.

\variable IR::MemberIR::isSlot Whether the member is a Qt slot.

Converts the member to a QJsonObject for template rendering.

Emits identity fields (name, fullName, signature, href), classification as {id, label} objects, overload metadata, and qualifier flags. The brief, parameters, and enumValues fields are omitted when empty. The nodeType field is omitted when NoType.

Definition at line 221 of file member.cpp.

Member Data Documentation

◆ access

Access IR::MemberIR::access { Access::Public }

Definition at line 42 of file member.h.

Referenced by NodeExtractor::extractMemberIR().

◆ alsoList

QList<ContentBlock> IR::MemberIR::alsoList

Definition at line 73 of file member.h.

◆ anchorId

QString IR::MemberIR::anchorId

Definition at line 65 of file member.h.

◆ body

QList<ContentBlock> IR::MemberIR::body

Definition at line 72 of file member.h.

◆ brief

QString IR::MemberIR::brief

Definition at line 39 of file member.h.

◆ comparisonCategory

QString IR::MemberIR::comparisonCategory

Definition at line 69 of file member.h.

◆ dataType

QString IR::MemberIR::dataType

Definition at line 62 of file member.h.

◆ enumValues

QList<EnumValueIR> IR::MemberIR::enumValues

Definition at line 49 of file member.h.

◆ fullName

QString IR::MemberIR::fullName

Definition at line 36 of file member.h.

◆ href

QString IR::MemberIR::href

Definition at line 38 of file member.h.

◆ isAttached

bool IR::MemberIR::isAttached { false }

Definition at line 58 of file member.h.

Referenced by NodeExtractor::extractMemberIR().

◆ isConst

bool IR::MemberIR::isConst { false }

Definition at line 52 of file member.h.

Referenced by NodeExtractor::extractMemberIR().

◆ isDefault

bool IR::MemberIR::isDefault { false }

Definition at line 59 of file member.h.

Referenced by NodeExtractor::extractMemberIR().

◆ isNoexcept

bool IR::MemberIR::isNoexcept { false }

Definition at line 70 of file member.h.

Referenced by NodeExtractor::extractMemberIR().

◆ isPrimaryOverload

bool IR::MemberIR::isPrimaryOverload { true }

Definition at line 47 of file member.h.

Referenced by NodeExtractor::extractMemberIR().

◆ isReadOnly

bool IR::MemberIR::isReadOnly { false }

Definition at line 60 of file member.h.

Referenced by NodeExtractor::extractMemberIR().

◆ isRequired

bool IR::MemberIR::isRequired { false }

Definition at line 61 of file member.h.

Referenced by NodeExtractor::extractMemberIR().

◆ isSignal

bool IR::MemberIR::isSignal { false }

Definition at line 54 of file member.h.

Referenced by NodeExtractor::extractMemberIR().

◆ isSlot

bool IR::MemberIR::isSlot { false }

Definition at line 55 of file member.h.

Referenced by NodeExtractor::extractMemberIR().

◆ isStatic

bool IR::MemberIR::isStatic { false }

Definition at line 51 of file member.h.

Referenced by NodeExtractor::extractMemberIR().

◆ isVirtual

bool IR::MemberIR::isVirtual { false }

Definition at line 53 of file member.h.

Referenced by NodeExtractor::extractMemberIR().

◆ name

QString IR::MemberIR::name

Definition at line 35 of file member.h.

Referenced by testing.tools.encode_pdf_filter._PdfStream::RegisterByName().

◆ nodeType

NodeType IR::MemberIR::nodeType { NodeType::NoType }

Definition at line 41 of file member.h.

Referenced by NodeExtractor::extractMemberIR().

◆ noexceptNote

QString IR::MemberIR::noexceptNote

Definition at line 71 of file member.h.

◆ overloadNumber

int IR::MemberIR::overloadNumber { 0 }

Definition at line 46 of file member.h.

Referenced by NodeExtractor::extractMemberIR().

◆ parameters

QList<ParameterIR> IR::MemberIR::parameters

Definition at line 45 of file member.h.

◆ signature

QString IR::MemberIR::signature

Definition at line 37 of file member.h.

◆ since

QString IR::MemberIR::since

Definition at line 67 of file member.h.

◆ status

Status IR::MemberIR::status { Status::Active }

Definition at line 43 of file member.h.

Referenced by NodeExtractor::extractMemberIR().

◆ synopsis

QString IR::MemberIR::synopsis

Definition at line 66 of file member.h.

◆ threadSafety

QString IR::MemberIR::threadSafety

Definition at line 68 of file member.h.


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