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 Namespace Reference

Classes

class  Builder
 Assembles IR Documents from pre-extracted metadata. More...
struct  QmlTypeData
struct  CollectionData
struct  CppReferenceData
struct  NavigationData
struct  CatalogEntry
 A single entry in a catalog page such as the classes index, the examples index, or a group's members table. More...
struct  CatalogEntryGroup
 \variable IR::CatalogEntry::name Display name of the entry, as returned by node->fullName(relative) at extraction time. More...
struct  InlineContent
 Represents inline content within a documentation block. More...
struct  ContentBlock
 Represents a structural block element in documentation. More...
class  ContentBuilder
 Converts Atom chains to QList<IR::ContentBlock> trees. More...
struct  QmlTypeInfo
struct  CollectionInfo
struct  CppReferenceInfo
struct  NavigationInfo
struct  Document
 Intermediate representation for a documentation topic. More...
 Intermediate representation for a resolved hyperlink. More...
struct  ParameterIR
 Intermediate representation of a function parameter. More...
struct  EnumValueIR
 Intermediate representation of a single enum value. More...
struct  MemberIR
 Intermediate representation of a single documentable member. More...
struct  InheritedMembersIR
 Summary of members inherited from a single base class. More...
struct  SectionIR
 Intermediate representation of a member summary section. More...
struct  AllMemberEntry
 A single entry in an all-members listing page. More...
struct  MemberGroup
 Members grouped by originating QML type in an all-members listing. More...
struct  AllMembersIR
 Intermediate representation of the all-members listing page. More...
struct  SignatureSpan
 Represents a single span within a structured signature. More...
struct  AtomContext

Typedefs

using DiagnosticHandler = std::function<void(QtMsgType, const QString &)>

Enumerations

enum class  InlineType : unsigned char {
  Text , Code , Link , Bold ,
  Italic , Teletype , Underline , Strikethrough ,
  Subscript , Superscript , Parameter , LineBreak ,
  Image , Keyword , Target
}
enum class  LinkOrigin : unsigned char { Auto , Explicit , Synthesized }
enum class  LinkState : unsigned char {
  Unresolved , Resolved , External , Broken ,
  Suppressed , Ignored
}
enum class  BlockType : unsigned char {
  Paragraph , CodeBlock , List , ListItem ,
  Section , SectionHeading , Note , Warning ,
  Important , Details , Brief , Div ,
  Quotation , Legalese , HorizontalRule , Table ,
  TableRow , TableHeaderRow , TableCell , Raw ,
  DefinitionList , DefinitionTerm , DefinitionDescription , ListPlaceholder ,
  Catalog
}
enum class  BriefHandling { Skip , Include }
enum class  ListPlaceholderVariant : unsigned char { AnnotatedGroup , AnnotatedExamples , AnnotatedClasses , CompactClasses }
enum class  SpanRole : unsigned char {
  Text , Type , Name , Parameter ,
  Operator , Extra , TemplateDecl , Link ,
  ExternalRef
}

Functions

static void gatherBodyTocEntries (const QList< ContentBlock > &blocks, QList< NavigationInfo::TocEntry > &out)
static InlineContent makeTextInline (const QString &text)
static InlineContent makeTopicLink (const QString &topicName)
static InlineContent makeResolvedLink (const QString &name, const QString &href)
static void appendExceptionList (QList< InlineContent > &inlines, const QString &prefix, const QString &topicName, const QList< CppReferenceData::ThreadSafetyExceptionEntry > &exceptions)
static QList< ContentBlockbuildThreadSafetyAdmonition (const CppReferenceData::ThreadSafetyInfo &ts, const QString &typeWord)
static QString inlineTypeId (InlineType type)
static QString blockTypeId (BlockType type)
static InlineType formattingToInlineType (const QString &formatting)
static QJsonArray memberEntriesToJson (const QList< CollectionInfo::MemberEntry > &entries)
static QString crumbStateString (NavigationInfo::CrumbState state)
QJsonObject classificationObject (const QString &id, const QString &label)
std::optional< QJsonObjectnodeTypeToJson (NodeType t)
std::optional< QJsonObjectgenusToJson (Genus g)
QJsonObject statusToJson (Status s)
QJsonObject accessToJson (Access a)
QString toString (ListPlaceholderVariant variant)
std::optional< ListPlaceholderVariantparseListPlaceholderVariant (QStringView variant)
static QString spanRoleId (SpanRole role)

Typedef Documentation

◆ DiagnosticHandler

using IR::DiagnosticHandler = std::function<void(QtMsgType, const QString &)>

Definition at line 21 of file contentbuilder.h.

Enumeration Type Documentation

◆ BlockType

enum class IR::BlockType : unsigned char
strong
Enumerator
Paragraph 
CodeBlock 
List 
ListItem 
Section 
SectionHeading 
Note 
Warning 
Important 
Details 
Brief 
Div 
Quotation 
Legalese 
HorizontalRule 
Table 
TableRow 
TableHeaderRow 
TableCell 
Raw 
DefinitionList 
DefinitionTerm 
DefinitionDescription 
ListPlaceholder 
Catalog 

Definition at line 80 of file contentblock.h.

◆ BriefHandling

enum class IR::BriefHandling
strong
Enumerator
Skip 
Include 

Definition at line 37 of file contentbuilder.h.

◆ InlineType

enum class IR::InlineType : unsigned char
strong
Enumerator
Text 
Code 
Link 
Bold 
Italic 
Teletype 
Underline 
Strikethrough 
Subscript 
Superscript 
Parameter 
LineBreak 
Image 
Keyword 
Target 

Definition at line 17 of file contentblock.h.

◆ LinkOrigin

enum class IR::LinkOrigin : unsigned char
strong
Enumerator
Auto 
Explicit 
Synthesized 

Definition at line 35 of file contentblock.h.

◆ LinkState

enum class IR::LinkState : unsigned char
strong
Enumerator
Unresolved 
Resolved 
External 
Broken 
Suppressed 
Ignored 

Definition at line 41 of file contentblock.h.

◆ ListPlaceholderVariant

enum class IR::ListPlaceholderVariant : unsigned char
strong
Enumerator
AnnotatedGroup 
AnnotatedExamples 
AnnotatedClasses 
CompactClasses 

Definition at line 16 of file listplaceholder.h.

◆ SpanRole

enum class IR::SpanRole : unsigned char
strong
Enumerator
Text 
Type 
Name 
Parameter 
Operator 
Extra 
TemplateDecl 
Link 
ExternalRef 

Definition at line 15 of file signaturespan.h.

Function Documentation

◆ accessToJson()

QJsonObject IR::accessToJson ( Access a)
inline

Definition at line 130 of file classificationjson.h.

◆ appendExceptionList()

void IR::appendExceptionList ( QList< InlineContent > & inlines,
const QString & prefix,
const QString & topicName,
const QList< CppReferenceData::ThreadSafetyExceptionEntry > & exceptions )
static

Definition at line 84 of file builder.cpp.

◆ blockTypeId()

QString IR::blockTypeId ( BlockType type)
static

Definition at line 160 of file contentblock.cpp.

◆ buildThreadSafetyAdmonition()

QList< ContentBlock > IR::buildThreadSafetyAdmonition ( const CppReferenceData::ThreadSafetyInfo & ts,
const QString & typeWord )
static

Definition at line 107 of file builder.cpp.

References Paragraph, and IR::ContentBlock::type.

◆ classificationObject()

QJsonObject IR::classificationObject ( const QString & id,
const QString & label )
inline

Definition at line 25 of file classificationjson.h.

◆ crumbStateString()

QString IR::crumbStateString ( NavigationInfo::CrumbState state)
static

Definition at line 266 of file document.cpp.

◆ formattingToInlineType()

InlineType IR::formattingToInlineType ( const QString & formatting)
static

Definition at line 149 of file contentbuilder.cpp.

References Bold, Italic, Parameter, Subscript, Superscript, Teletype, Text, and Underline.

◆ gatherBodyTocEntries()

void IR::gatherBodyTocEntries ( const QList< ContentBlock > & blocks,
QList< NavigationInfo::TocEntry > & out )
static

Definition at line 16 of file builder.cpp.

◆ genusToJson()

std::optional< QJsonObject > IR::genusToJson ( Genus g)
inline

Definition at line 92 of file classificationjson.h.

◆ inlineTypeId()

QString IR::inlineTypeId ( InlineType type)
static

Definition at line 137 of file contentblock.cpp.

◆ makeResolvedLink()

InlineContent IR::makeResolvedLink ( const QString & name,
const QString & href )
static

Synthesizes a pre-resolved link inline pointing at href with name as its display text. Used for Builder-generated prose that already knows the target URL (such as exception-list items in the thread-safety admonition). The resulting link carries LinkOrigin::Synthesized for parity with makeTopicLink even though the link is already in LinkState::Resolved and bypasses the broken-link path.

Definition at line 74 of file builder.cpp.

References IR::InlineContent::LinkData::LinkData(), Link, Resolved, Synthesized, and IR::InlineContent::type.

Here is the call graph for this function:

◆ makeTextInline()

InlineContent IR::makeTextInline ( const QString & text)
static

Definition at line 35 of file builder.cpp.

References Text, and IR::InlineContent::type.

◆ makeTopicLink()

InlineContent IR::makeTopicLink ( const QString & topicName)
static

Synthesizes an unresolved link inline pointing at topicName. Used when a topic page is referenced from Builder-generated prose (such as the thread-safety admonition's pointer at the reentrant or thread-safe topic page) before that page has been resolved. The resulting link carries LinkOrigin::Synthesized so link resolution can attribute any broken-link warning to the page that triggered the synthesis, not to a non-existent author source line.

Definition at line 54 of file builder.cpp.

References IR::InlineContent::LinkData::LinkData(), Link, Synthesized, IR::InlineContent::type, and Unresolved.

Here is the call graph for this function:

◆ memberEntriesToJson()

QJsonArray IR::memberEntriesToJson ( const QList< CollectionInfo::MemberEntry > & entries)
static

Definition at line 76 of file document.cpp.

◆ nodeTypeToJson()

std::optional< QJsonObject > IR::nodeTypeToJson ( NodeType t)
inline

Definition at line 34 of file classificationjson.h.

References NoType.

◆ parseListPlaceholderVariant()

std::optional< ListPlaceholderVariant > IR::parseListPlaceholderVariant ( QStringView variant)
nodiscard

Reverse of {toString()}: maps the canonical kebab-case string back to a {ListPlaceholderVariant}, or {std::nullopt} for an unrecognized value. Used by the list-expander pass to dispatch on the placeholder block's {variant} attribute without introducing a parallel set of string literals.

Definition at line 66 of file listplaceholder.cpp.

References AnnotatedClasses, AnnotatedExamples, AnnotatedGroup, and CompactClasses.

◆ spanRoleId()

QString IR::spanRoleId ( SpanRole role)
static

Definition at line 55 of file signaturespan.cpp.

◆ statusToJson()

QJsonObject IR::statusToJson ( Status s)
inline

Definition at line 110 of file classificationjson.h.

◆ toString()

QString IR::toString ( ListPlaceholderVariant variant)
nodiscard

Returns the canonical kebab-case string used as the variant attribute of the placeholder block in JSON output. The string is the contract between the content builder, the list-expander pass, and the templates: every consumer matches on the same value, and {toString()} is the single source of truth.

Definition at line 44 of file listplaceholder.cpp.