Files
Sourcery/docs/Enums/Composer.html
T
2025-09-17 15:43:31 +02:00

356 lines
16 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en">
<head>
<title>Composer Enumeration Reference</title>
<link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="../css/highlight.css" />
<meta charset='utf-8'>
<script src="../js/jquery.min.js" defer></script>
<script src="../js/jazzy.js" defer></script>
<script src="../js/lunr.min.js" defer></script>
<script src="../js/typeahead.jquery.js" defer></script>
<script src="../js/jazzy.search.js" defer></script>
</head>
<body>
<a name="//apple_ref/swift/Enum/Composer" class="dashAnchor"></a>
<a title="Composer Enumeration Reference"></a>
<header>
<div class="content-wrapper">
<p><a href="../index.html">Sourcery 2.3.0 Docs</a> (100% documented)</p>
<p class="header-right"><a href="https://github.com/krzysztofzablocki/Sourcery"><img src="../img/gh.png"/>View on GitHub</a></p>
<p class="header-right">
<form role="search" action="../search.json">
<input type="text" placeholder="Search documentation" data-typeahead>
</form>
</p>
</div>
</header>
<div class="content-wrapper">
<p id="breadcrumbs">
<a href="../index.html">Sourcery Reference</a>
<img id="carat" src="../img/carat.png" />
Composer Enumeration Reference
</p>
</div>
<div class="content-wrapper">
<nav class="sidebar">
<ul class="nav-groups">
<li class="nav-group-name">
<a href="../Guides.html">Guides</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../installing.html">Installing</a>
</li>
<li class="nav-group-task">
<a href="../usage.html">Usage</a>
</li>
<li class="nav-group-task">
<a href="../writing-templates.html">Writing templates</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Examples.html">Examples</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../equatable.html">Equatable</a>
</li>
<li class="nav-group-task">
<a href="../hashable.html">Hashable</a>
</li>
<li class="nav-group-task">
<a href="../enum-cases.html">Enum cases</a>
</li>
<li class="nav-group-task">
<a href="../lenses.html">Lenses</a>
</li>
<li class="nav-group-task">
<a href="../mocks.html">Mocks</a>
</li>
<li class="nav-group-task">
<a href="../codable.html">Codable</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/Diffable.html">Diffable</a>
</li>
<li class="nav-group-task">
<a href="../diffable.html">Diffable</a>
</li>
<li class="nav-group-task">
<a href="../linuxmain.html">LinuxMain</a>
</li>
<li class="nav-group-task">
<a href="../decorator.html">Decorator</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Types.html">Types</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Classes/Types.html">Types</a>
</li>
<li class="nav-group-task">
<a href="../Classes/Type.html">Type</a>
</li>
<li class="nav-group-task">
<a href="../Classes/Protocol.html">Protocol</a>
</li>
<li class="nav-group-task">
<a href="../Classes/Class.html">Class</a>
</li>
<li class="nav-group-task">
<a href="../Classes/Struct.html">Struct</a>
</li>
<li class="nav-group-task">
<a href="../Classes/Enum.html">Enum</a>
</li>
<li class="nav-group-task">
<a href="../Classes/EnumCase.html">EnumCase</a>
</li>
<li class="nav-group-task">
<a href="../Classes/AssociatedValue.html">AssociatedValue</a>
</li>
<li class="nav-group-task">
<a href="../Classes/AssociatedType.html">AssociatedType</a>
</li>
<li class="nav-group-task">
<a href="../Classes/Variable.html">Variable</a>
</li>
<li class="nav-group-task">
<a href="../Classes/Method.html">Method</a>
</li>
<li class="nav-group-task">
<a href="../Classes/MethodParameter.html">MethodParameter</a>
</li>
<li class="nav-group-task">
<a href="../Classes/Subscript.html">Subscript</a>
</li>
<li class="nav-group-task">
<a href="../Classes/TypeName.html">TypeName</a>
</li>
<li class="nav-group-task">
<a href="../Classes/TupleType.html">TupleType</a>
</li>
<li class="nav-group-task">
<a href="../Classes/TupleElement.html">TupleElement</a>
</li>
<li class="nav-group-task">
<a href="../Classes/ArrayType.html">ArrayType</a>
</li>
<li class="nav-group-task">
<a href="../Classes/DictionaryType.html">DictionaryType</a>
</li>
<li class="nav-group-task">
<a href="../Classes/ClosureType.html">ClosureType</a>
</li>
<li class="nav-group-task">
<a href="../Classes/GenericType.html">GenericType</a>
</li>
<li class="nav-group-task">
<a href="../Classes/GenericTypeParameter.html">GenericTypeParameter</a>
</li>
<li class="nav-group-task">
<a href="../Classes/Attribute.html">Attribute</a>
</li>
<li class="nav-group-task">
<a href="../Classes/ProtocolComposition.html">ProtocolComposition</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Other%20Classes.html">Other Classes</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Classes/Actor.html">Actor</a>
</li>
<li class="nav-group-task">
<a href="../Classes/ClosureParameter.html">ClosureParameter</a>
</li>
<li class="nav-group-task">
<a href="../Classes/DiffableResult.html">DiffableResult</a>
</li>
<li class="nav-group-task">
<a href="../Classes/GenericParameter.html">GenericParameter</a>
</li>
<li class="nav-group-task">
<a href="../Classes/GenericRequirement.html">GenericRequirement</a>
</li>
<li class="nav-group-task">
<a href="../Classes/GenericRequirement/Relationship.html"> Relationship</a>
</li>
<li class="nav-group-task">
<a href="../Classes/Import.html">Import</a>
</li>
<li class="nav-group-task">
<a href="../Classes/Modifier.html">Modifier</a>
</li>
<li class="nav-group-task">
<a href="../Classes/SetType.html">SetType</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Other%20Enums.html">Other Enumerations</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Enums/Composer.html">Composer</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Other%20Extensions.html">Other Extensions</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Extensions/Array.html">Array</a>
</li>
<li class="nav-group-task">
<a href="../Other%20Extensions.html#/c:@M@SourceryRuntime@objc(cs)BytesRange">BytesRange</a>
</li>
<li class="nav-group-task">
<a href="../Other%20Extensions.html#/c:@M@SourceryRuntime@objc(cs)FileParserResult">FileParserResult</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/String.html">String</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/StringProtocol.html">StringProtocol</a>
</li>
<li class="nav-group-task">
<a href="../Extensions/Typealias.html">Typealias</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Other%20Protocols.html">Other Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Protocols/Annotated.html">Annotated</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/Definition.html">Definition</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/Documented.html">Documented</a>
</li>
<li class="nav-group-task">
<a href="../Protocols/Typed.html">Typed</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a href="../Other%20Typealiases.html">Other Type Aliases</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a href="../Other%20Typealiases.html#/s:15SourceryRuntime11Annotationsa">Annotations</a>
</li>
<li class="nav-group-task">
<a href="../Other%20Typealiases.html#/s:15SourceryRuntime13Documentationa">Documentation</a>
</li>
<li class="nav-group-task">
<a href="../Other%20Typealiases.html#/s:15SourceryRuntime0A8Modifiera">SourceryModifier</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section>
<section class="section">
<h1>Composer</h1>
<div class="declaration">
<div class="language">
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">enum</span> <span class="kt">Composer</span></code></pre>
</div>
</div>
<p>Responsible for composing results of <code>FileParser</code>.</p>
</section>
<section class="section task-group-section">
<div class="task-group">
<ul>
<li class="item">
<div>
<code>
<a name="/s:15SourceryRuntime8ComposerO23uniqueTypesAndFunctions_6serialSayAA4TypeCG5types_SayAA6MethodCG9functionsSayAA9TypealiasCG11typealiasestAA16FileParserResultC_SbtFZ"></a>
<a name="//apple_ref/swift/Method/uniqueTypesAndFunctions(_:serial:)" class="dashAnchor"></a>
<a class="token" href="#/s:15SourceryRuntime8ComposerO23uniqueTypesAndFunctions_6serialSayAA4TypeCG5types_SayAA6MethodCG9functionsSayAA9TypealiasCG11typealiasestAA16FileParserResultC_SbtFZ">uniqueTypesAndFunctions(_:<wbr>serial:<wbr>)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Performs final processing of discovered types:</p>
<ul>
<li>extends types with their corresponding extensions;</li>
<li>replaces typealiases with actual types</li>
<li>finds actual types for variables and enums raw values</li>
<li><p>filters out any private types and extensions</p></li>
</ul>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">uniqueTypesAndFunctions</span><span class="p">(</span><span class="n">_</span> <span class="nv">parserResult</span><span class="p">:</span> <span class="kt">FileParserResult</span><span class="p">,</span> <span class="nv">serial</span><span class="p">:</span> <span class="kt">Bool</span> <span class="o">=</span> <span class="kc">false</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="p">(</span><span class="nv">types</span><span class="p">:</span> <span class="p">[</span><span class="k">Type</span><span class="p">],</span> <span class="nv">functions</span><span class="p">:</span> <span class="p">[</span><span class="kt">SourceryMethod</span><span class="p">],</span> <span class="nv">typealiases</span><span class="p">:</span> <span class="p">[</span><span class="kt">Typealias</span><span class="p">])</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>parserResult</em>
</code>
</td>
<td>
<div>
<p>Result of parsing source code.</p>
</div>
</td>
</tr>
<tr>
<td>
<code>
<em>serial</em>
</code>
</td>
<td>
<div>
<p>Whether to process results serially instead of concurrently</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div>
<h4>Return Value</h4>
<p>Final types and extensions of unknown types.</p>
</div>
</section>
</div>
</li>
</ul>
</div>
</section>
</section>
<section id="footer">
<p>Copyright © 2016-2021 Pixle. All rights reserved.</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="noopener" rel="external">jazzy ♪♫ v0.14.0</a>, a <a class="link" href="https://realm.io" target="_blank" rel="noopener" rel="external">Realm</a> project.</p>
</section>
</article>
</div>
</body>
</html>