Skip to content

Commit fa523c7

Browse files
committed
refactor SignatureSyntax.Encoder into an Encoder, a Builder, and a generic Visitor
1 parent 3c20ec4 commit fa523c7

11 files changed

+444
-376
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
protocol SignatureParameter
2+
{
3+
static func += (signature:inout SignatureSyntax.Encoder, self:Self)
4+
}

Sources/MarkdownPluginSwift/Signatures/SignatureParameterFormat.swift

Lines changed: 0 additions & 9 deletions
This file was deleted.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
enum SignatureParameterType
2+
{
3+
case `func`
4+
case `subscript`
5+
}

Sources/MarkdownPluginSwift/Signatures/SignatureSyntax.AbridgedParameter.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ extension SignatureSyntax
77
private
88
let syntax:FunctionParameterSyntax
99
private
10-
let `func`:Bool
10+
let type:SignatureParameterType
1111

12-
init(syntax:FunctionParameterSyntax, func:Bool)
12+
init(syntax:FunctionParameterSyntax, type:SignatureParameterType)
1313
{
1414
self.syntax = syntax
15-
self.func = `func`
15+
self.type = type
1616
}
1717
}
1818
}
@@ -27,7 +27,7 @@ extension SignatureSyntax.AbridgedParameter
2727
}
2828
else if
2929
case nil = self.syntax.secondName,
30-
case false = self.func
30+
case .subscript = self.type
3131
{
3232
true
3333
}
@@ -37,10 +37,10 @@ extension SignatureSyntax.AbridgedParameter
3737
}
3838
}
3939
}
40-
extension SignatureSyntax.AbridgedParameter:SignatureParameterFormat
40+
extension SignatureSyntax.AbridgedParameter:SignatureParameter
4141
{
4242
static
43-
func += (signature:inout SignatureSyntax.Encoder<Self>, self:Self)
43+
func += (signature:inout SignatureSyntax.Encoder, self:Self)
4444
{
4545
if self.unlabeled
4646
{
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import SwiftSyntax
2+
3+
extension SignatureSyntax
4+
{
5+
struct AbridgedVisitor
6+
{
7+
}
8+
}
9+
extension SignatureSyntax.AbridgedVisitor:SignatureVisitor
10+
{
11+
mutating
12+
func register(
13+
parameter:FunctionParameterSyntax,
14+
type:SignatureParameterType) -> SignatureSyntax.AbridgedParameter
15+
{
16+
.init(syntax: parameter, type: type)
17+
}
18+
19+
mutating
20+
func register(returns:TypeSyntax)
21+
{
22+
}
23+
}

0 commit comments

Comments
 (0)