Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Jun 1, 2023. It is now read-only.

Commit aef1c49

Browse files
Lukas-Stuehrkmattt
andcommitted
Fix toplevel symbols (#260)
* Add failing tests for top level symbols. * Fix top level symbols. * Update Sources/SwiftDoc/Interface.swift * Remove print statement Co-authored-by: Mattt <mattt@me.com>
1 parent c0e49f7 commit aef1c49

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

‎Sources/SwiftDoc/Interface.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public final class Interface {
2424
return false
2525
}
2626

27-
return symbol.id.pathComponents.isEmpty
27+
return symbol.id.context.isEmpty
2828
}
2929

3030
self.relationships = {

‎Tests/SwiftDocTests/InterfaceTypeTests.swift

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -359,4 +359,33 @@ final class InterfaceTypeTests: XCTestCase {
359359
XCTAssertEqual(members[0].name, "someMethod()")
360360
XCTAssertEqual(members[1].name, "someExtensionMethod()")
361361
}
362+
363+
public func testToplevelSymbols() throws {
364+
let source = #"""
365+
public class SomeClass {
366+
public func someMethod() { }
367+
}
368+
369+
public infix operator ≠
370+
371+
public typealias OtherClass = SomeClass
372+
373+
public func someFunction() { }
374+
375+
public extension OtherClass {
376+
func someExtensionMethod() { }
377+
}
378+
"""#
379+
380+
let url = try temporaryFile(contents: source)
381+
let sourceFile = try SourceFile(file: url, relativeTo: url.deletingLastPathComponent())
382+
let module = Module(name: "Module", sourceFiles: [sourceFile])
383+
384+
XCTAssertEqual(module.interface.topLevelSymbols.count, 4)
385+
386+
XCTAssertEqual(module.interface.topLevelSymbols[0].name, "SomeClass")
387+
XCTAssertEqual(module.interface.topLevelSymbols[1].name, "")
388+
XCTAssertEqual(module.interface.topLevelSymbols[2].name, "OtherClass")
389+
XCTAssertEqual(module.interface.topLevelSymbols[3].name, "someFunction()")
390+
}
362391
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /