SwiftDocCSymbolClassSymbolA programming symbol semantic type.final class SymbolDiscussionThis class’s properties are represented using DocumentationDataVariants values which encode the different variants for each piece of information about the symbol. For example, if a symbol is available in multiple programming languages, the titleVariants property represents the title of the symbol for each programming language it’s available in. Use a DocumentationDataVariantsTrait to access a specific variant.TopicsPropertiesvar titleVariants: DocumentationDataVariants<String>The title of the symbol in each language variant the symbol is available in.var subHeadingVariants: DocumentationDataVariants<[SymbolGraph.Symbol.DeclarationFragments.Fragment]>The simplified version of the symbol’s declaration in each language variant the symbol is available in.var navigatorVariants: DocumentationDataVariants<[SymbolGraph.Symbol.DeclarationFragments.Fragment]>The simplified version of this symbol’s declaration in each language variant the symbol is available in.var roleHeadingVariants: DocumentationDataVariants<String>The presentation-friendly version of the symbol’s kind in each language variant the symbol is available in.var kindVariants: DocumentationDataVariants<SymbolGraph.Symbol.Kind>The kind of the symbol in each language variant the symbol is available in.var platformNameVariants: DocumentationDataVariants<PlatformName>The symbol’s platform in each language variant the symbol is available in.var moduleReference: ResolvedTopicReferenceThe reference to the documentation node that represents this symbol’s module symbol.var extendedModuleVariants: DocumentationDataVariants<String>The name of the module extension in which the symbol is defined, in each language variant the symbol is available invar isRequiredVariants: DocumentationDataVariants<Bool>Whether the symbol is required in its context, in each language variant the symbol is available in.var externalIDVariants: DocumentationDataVariants<String>The symbol’s external identifier, if available, in each language variant the symbol is available in.var accessLevelVariants: DocumentationDataVariants<String>The symbol’s access level, if available, in each language variant the symbol is available in.var deprecatedSummaryVariants: DocumentationDataVariants<DeprecatedSection>The symbol’s deprecation information, if deprecated, in each language variant the symbol is available in.var declarationVariants: DocumentationDataVariants<[[PlatformName?] : SymbolGraph.Symbol.DeclarationFragments]>The symbol’s declarations in each language variant the symbol is available in.var attributesVariants: DocumentationDataVariants<[RenderAttribute.Kind : Any]>The symbol’s set of attributes in each language variant the symbol is available in.var locationVariants: DocumentationDataVariants<SymbolGraph.Symbol.Location>var constraintsVariants: DocumentationDataVariants<[SymbolGraph.Symbol.Swift.GenericConstraint]>The symbol’s availability or conformance constraints, in each language variant the symbol is available in.var originVariants: DocumentationDataVariants<SymbolGraph.Relationship.SourceOrigin>The inheritance information for the symbol in each language variant the symbol is available in.var availabilityVariants: DocumentationDataVariants<SymbolGraph.Symbol.Availability>The platforms on which the symbol is available in each language variant the symbol is available in.var relationshipsVariants: DocumentationDataVariants<RelationshipsSection>The presentation-friendly relationships of this symbol to other symbols, in each language variant the symbol is available in.var abstractSectionVariants: DocumentationDataVariants<AbstractSection>An optional, abstract summary for the symbol, in each language variant the symbol is available in.var discussionVariants: DocumentationDataVariants<DiscussionSection>An optional discussion for the symbol, in each language variant the symbol is available in.var topicsVariants: DocumentationDataVariants<TopicsSection>The topics task groups for the symbol, in each language variant the symbol is available in.var defaultImplementationsVariants: DocumentationDataVariants<DefaultImplementationsSection>Any default implementations of the symbol, if the symbol is a protocol requirement, in each language variant the symbol is available in.var seeAlsoVariants: DocumentationDataVariants<SeeAlsoSection>Any See Also groups of the symbol, in each language variant the symbol is available in.var returnsSectionVariants: DocumentationDataVariants<ReturnsSection>Any return value information of the symbol, if the symbol returns, in each language variant the symbol is available in.var parametersSectionVariants: DocumentationDataVariants<ParametersSection>Any parameters of the symbol, if the symbol accepts parameters, in each language variant the symbol is available in.var abstractVariants: DocumentationDataVariants<Paragraph>The symbol’s abstract summary as a single paragraph, in each language variant the symbol is available in.var isDeprecatedVariants: DocumentationDataVariants<Bool>Whether the symbol is deprecated, in each language variant the symbol is available in.var isSPIVariants: DocumentationDataVariants<Bool>Whether the symbol is declared as an SPI, in each language variant the symbol is available in.First Variant AccessorsConvenience APIs for accessing the first variant of the symbol’s properties.var kind: SymbolGraph.Symbol.KindThe kind of the first variant of this symbol, such as protocol or variable.var title: StringThe title of the first variant of this symbol, usually a simplified version of the declaration.var subHeading: [SymbolGraph.Symbol.DeclarationFragments.Fragment]?The simplified version of the first variant of this symbol’s declaration to use inside groups that may contain multiple links.var navigator: [SymbolGraph.Symbol.DeclarationFragments.Fragment]?The simplified version of the first variant of this symbol’s declaration to use in navigation UI.var roleHeading: StringThe presentation-friendly version of the first variant of the symbol’s kind.var platformName: PlatformName?The first variant of the symbol’s platform, if available.var isRequired: BoolWhether the first variant of the symbol is required in its context.var externalID: String?The first variant of the symbol’s external identifier, if available.var deprecatedSummary: DeprecatedSection?The first variant of the symbol’s deprecation information, if deprecated.var declaration: [[PlatformName?] : SymbolGraph.Symbol.DeclarationFragments]The first variant of the symbol’s declarations.var location: SymbolGraph.Symbol.Location?The place where the first variant of the symbol was originally declared in a source file.var constraints: [SymbolGraph.Symbol.Swift.GenericConstraint]?The first variant of the symbol’s availability or conformance constraints.var origin: SymbolGraph.Relationship.SourceOrigin?The inheritance information for the first variant of the symbol.var availability: SymbolGraph.Symbol.Availability?The platforms on which the first variant of the symbol is available.var relationships: RelationshipsSectionThe presentation-friendly relationships of the first variant of this symbol to other symbols.var accessLevel: String?The first variant of the symbol’s access level, if available.var discussion: DiscussionSection?An optional discussion for the first variant of the symbol.var abstractSection: AbstractSection?An optional, abstract summary for the first variant of the symbol.var topics: TopicsSection?The topics task groups for the first variant of the symbol.var defaultImplementations: DefaultImplementationsSectionAny default implementations of the first variant of the symbol, if the symbol is a protocol requirement.var seeAlso: SeeAlsoSection?Any See Also groups of the first variant of the symbol.var redirects: [Redirect]?Any redirect information of the symbol, if the symbol has been moved from another location.var returnsSection: ReturnsSection?Any return value information of the first variant of the symbol, if the symbol returns.var parametersSection: ParametersSection?Any parameters of the first variant of the symbol, if the symbol accepts parameters.var abstract: Paragraph?The first variant of the symbol’s abstract summary as a single paragraph.var isDeprecated: BoolWhether the first variant of the symbol is deprecated.var isSPI: BoolWhether the first variant of the symbol is declared as an SPI.Variantsstruct DocumentationDataVariantsA model type that encapsulates variants of documentation node data.struct DocumentationDataVariantsTraitThe trait associated with a variant of some piece of information about a documentation node.Instance Propertiesvar alternateDeclarationVariants: DocumentationDataVariants<[[PlatformName?] : [SymbolGraph.Symbol.DeclarationFragments]]>The symbol’s alternate declarations in each language variant the symbol is available in.var alternateSignatureVariants: DocumentationDataVariants<[[PlatformName?] : [SymbolGraph.Symbol.FunctionSignature]]>The symbol’s alternate function signature in each language variant the symbol is available in.var crossImportOverlayModule: (declaringModule: String, bystanderModules: [String])?Optional cross-import module names of the symbol.var dictionaryKeysSection: DictionaryKeysSection?Any dictionary keys of the symbol, if the symbol accepts keys.var httpBodySection: HTTPBodySection?The upload body of an HTTP request.var httpEndpointSection: HTTPEndpointSection?The HTTP endpoint of an HTTP request.var httpParametersSection: HTTPParametersSection?The parameters of an HTTP request.var httpResponsesSection: HTTPResponsesSection?The responses of an HTTP request.var possibleValuesSection: PropertyListPossibleValuesSection?The symbol’s possible values, if the symbol is a property list element with possible values.Instance Methodsfunc accept<V>(inout V) -> V.Resultfunc addSwiftExtensionConstraint(extendedModule: String, extendedSymbolKind: SymbolGraph.Symbol.KindIdentifier?, constraint: SymbolGraph.Symbol.Swift.GenericConstraint)Append a new generic constraint for the given extended module