File tree Expand file tree Collapse file tree 2 files changed +37
-2
lines changed
Tests/SwiftParserTest/translated Expand file tree Collapse file tree 2 files changed +37
-2
lines changed Original file line number Diff line number Diff line change @@ -106,7 +106,7 @@ extension TokenConsumer {
106106 }
107107
108108 var extra : [ Token ] = [ ]
109- while self . isAtModuleSelector ( ) {
109+ while ! self . currentToken . isAtStartOfLine && self . isAtModuleSelector ( ) {
110110 if !self . at ( . colonColon) {
111111 extra. append ( self . consumeAnyToken ( ) )
112112 }
Original file line number Diff line number Diff line change 1010//
1111//===----------------------------------------------------------------------===//
1212
13- // This test file has been translated from swift/test/NameLookup /module_selector.swift
13+ // This test file has been translated from swift/test/Parse /module_selector.swift
1414
1515@_spi ( ExperimentalLanguageFeatures) import SwiftParser
1616@_spi ( ExperimentalLanguageFeatures) import SwiftSyntax
@@ -2257,6 +2257,41 @@ final class ModuleSelectorTests: ParserTestCase {
22572257 )
22582258 )
22592259 }
2260+
2261+ func testModuleSelectorSubmodule( ) {
2262+ assertParse (
2263+ " _ = Foundation::1️⃣NSData::NSData() " ,
2264+ diagnostics: [
2265+ DiagnosticSpec ( message: " unexpected code 'NSData::' in module selector " )
2266+ ]
2267+ )
2268+
2269+ assertParse (
2270+ " _ = Foundation::1️⃣NSData::Fnord::NSData() " ,
2271+ diagnostics: [
2272+ DiagnosticSpec ( message: " unexpected code 'NSData::Fnord::' in module selector " )
2273+ ]
2274+ )
2275+
2276+ assertParse (
2277+ """
2278+ _ = Foundation::1️⃣NSData::2️⃣
2279+ Fnord::NSData()
2280+ """ ,
2281+ diagnostics: [
2282+ DiagnosticSpec ( message: " unexpected code 'NSData::' in module selector " ) ,
2283+ DiagnosticSpec (
2284+ locationMarker: " 2️⃣ " ,
2285+ message: " expected identifier " ,
2286+ fixIts: [ " insert identifier " ]
2287+ ) ,
2288+ ] ,
2289+ fixedSource: """
2290+ _ = Foundation::NSData::<#identifier#>
2291+ Fnord::NSData()
2292+ """
2293+ )
2294+ }
22602295}
22612296
22622297// MARK: - Syntax tree construction helpers
You can’t perform that action at this time.
0 commit comments