Skip to content

Commit 1f5fd7f

Browse files
committed
-
1 parent 0f7a856 commit 1f5fd7f

1 file changed

Lines changed: 15 additions & 15 deletions

File tree

Sources/PrincipleMacros/Syntax/Extensions/ClassDeclSyntax.swift

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,38 +10,38 @@ import SwiftSyntaxMacros
1010

1111
extension ClassDeclSyntax {
1212

13-
public var unverifiedInferredSuperclass: TypeSyntax? {
13+
public var unverifiedInferredSuperclassType: TypeSyntax? {
1414
inheritanceClause?.inheritedTypes.first?.type.trimmed
1515
}
1616

17-
public func inferredSuperclass() -> TypeSyntax? {
18-
let visitor = SubclassKeywordsVisitor(for: self)
19-
return visitor.verifiedSuperclass()
17+
public func inferredSuperclassType() -> TypeSyntax? {
18+
let verifier = SuperclassVerifier(for: self)
19+
return verifier.verifiedSuperclassType()
2020
}
2121

22-
public func inferredSuperclass(
22+
public func inferredSuperclassType(
2323
isExpected: Bool?
2424
) throws -> TypeSyntax? {
2525
switch isExpected {
26+
case nil:
27+
return inferredSuperclassType()
2628
case true:
27-
if let superclass = unverifiedInferredSuperclass {
28-
return superclass
29+
if let type = unverifiedInferredSuperclassType {
30+
return type
2931
}
3032
throw DiagnosticsError(
3133
node: self,
3234
message: "\(name.trimmed) should have a superclass"
3335
)
3436
case false:
3537
return nil
36-
case nil:
37-
return inferredSuperclass()
3838
}
3939
}
4040
}
4141

4242
extension ClassDeclSyntax {
4343

44-
private final class SubclassKeywordsVisitor: SyntaxVisitor {
44+
private final class SuperclassVerifier: SyntaxVisitor {
4545

4646
private let classDecl: ClassDeclSyntax
4747
private var didVerify = false
@@ -51,13 +51,13 @@ extension ClassDeclSyntax {
5151
super.init(viewMode: .sourceAccurate)
5252
}
5353

54-
func verifiedSuperclass() -> TypeSyntax? {
55-
guard let unverified = classDecl.unverifiedInferredSuperclass else {
54+
func verifiedSuperclassType() -> TypeSyntax? {
55+
if let unverified = classDecl.unverifiedInferredSuperclassType {
56+
walk(classDecl)
57+
return didVerify ? unverified : nil
58+
} else {
5659
return nil
5760
}
58-
59-
walk(classDecl)
60-
return didVerify ? unverified : nil
6161
}
6262

6363
override func visit(_ node: ClassDeclSyntax) -> SyntaxVisitorContinueKind {

0 commit comments

Comments
 (0)