Skip to content

Commit 7ef269f

Browse files
committed
[BasicFormat] Handle some additional cases for self + Self
1 parent dd25371 commit 7ef269f

File tree

2 files changed

+33
-1
lines changed

2 files changed

+33
-1
lines changed

Sources/SwiftBasicFormat/BasicFormat.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,11 @@ open class BasicFormat: SyntaxRewriter {
307307
(.keyword(.`init`), .leftAngle), // init<T>()
308308
(.keyword(.`init`), .leftParen), // init()
309309
(.keyword(.self), .period), // self.someProperty
310-
(.keyword(.Self), .period), // self.someProperty
310+
(.keyword(.self), .leftParen), // self()
311+
(.keyword(.self), .leftSquare), // self[]
312+
(.keyword(.Self), .period), // Self.someProperty
313+
(.keyword(.Self), .leftParen), // Self()
314+
(.keyword(.Self), .leftSquare), // Self[]
311315
(.keyword(.set), .leftParen), // var mVar: Int { set(value) {} }
312316
(.keyword(.subscript), .leftParen), // subscript(x: Int)
313317
(.keyword(.super), .period), // super.someProperty

Tests/SwiftBasicFormatTest/BasicFormatTests.swift

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,34 @@ final class BasicFormatTest: XCTestCase {
190190
)
191191
}
192192

193+
func testSelfCall1() {
194+
assertFormatted(
195+
source: "self(0)",
196+
expected: "self(0)"
197+
)
198+
}
199+
200+
func testSelfCall2() {
201+
assertFormatted(
202+
source: "Self(0)",
203+
expected: "Self(0)"
204+
)
205+
}
206+
207+
func testSelfSubscript1() {
208+
assertFormatted(
209+
source: "self[0]",
210+
expected: "self[0]"
211+
)
212+
}
213+
214+
func testSelfSubscript2() {
215+
assertFormatted(
216+
source: "Self[0]",
217+
expected: "Self[0]"
218+
)
219+
}
220+
193221
func testCustomIndentationInBlockThatDoesntHaveNewline() {
194222
assertFormatted(
195223
source: """

0 commit comments

Comments
 (0)