We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 3e565d4 commit 310be1bCopy full SHA for 310be1b
1 file changed
Sources/PrincipleMacros/Syntax/Extensions/ClassDeclSyntax.swift
@@ -18,6 +18,25 @@ extension ClassDeclSyntax {
18
let visitor = SubclassKeywordsVisitor(for: self)
19
return visitor.verifiedSuperclass()
20
}
21
+
22
+ public func inferredSuperclass(
23
+ expectation: Bool?
24
+ ) throws -> TypeSyntax? {
25
+ switch expectation {
26
+ case true:
27
+ if let superclass = unverifiedInferredSuperclass {
28
+ return superclass
29
+ }
30
+ throw DiagnosticsError(
31
+ node: self,
32
+ message: "\(name.trimmed) should have a superclass"
33
+ )
34
+ case false:
35
+ return nil
36
+ case nil:
37
+ return inferredSuperclass()
38
39
40
41
42
extension ClassDeclSyntax {
0 commit comments