Skip to content

Commit 9fc9848

Browse files
authored
Merge pull request #1205 from theMomax/add-extension-block-symbols-flags
Add support for -emit-extension-block-symbols and -omit-extension-block-symbols flags
2 parents f5e1c37 + 585f0db commit 9fc9848

File tree

4 files changed

+7
-0
lines changed

4 files changed

+7
-0
lines changed

Sources/SwiftDriver/Jobs/CompileJob.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -375,6 +375,7 @@ extension Driver {
375375
try commandLine.appendLast(.emitSymbolGraphDir, from: &parsedOptions)
376376
}
377377
try commandLine.appendLast(.includeSpiSymbols, from: &parsedOptions)
378+
try commandLine.appendLast(.emitExtensionBlockSymbols, .omitExtensionBlockSymbols, from: &parsedOptions)
378379
try commandLine.appendLast(.symbolGraphMinimumAccessLevel, from: &parsedOptions)
379380

380381
addJobOutputs(outputs)

Sources/SwiftDriver/Jobs/EmitModuleJob.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ extension Driver {
102102
try commandLine.appendLast(.emitSymbolGraph, from: &parsedOptions)
103103
try commandLine.appendLast(.emitSymbolGraphDir, from: &parsedOptions)
104104
try commandLine.appendLast(.includeSpiSymbols, from: &parsedOptions)
105+
try commandLine.appendLast(.emitExtensionBlockSymbols, .omitExtensionBlockSymbols, from: &parsedOptions)
105106
try commandLine.appendLast(.symbolGraphMinimumAccessLevel, from: &parsedOptions)
106107
try commandLine.appendLast(.checkApiAvailabilityOnly, from: &parsedOptions)
107108

Sources/SwiftDriver/Jobs/MergeModuleJob.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ extension Driver {
6262
try commandLine.appendLast(.emitSymbolGraph, from: &parsedOptions)
6363
try commandLine.appendLast(.emitSymbolGraphDir, from: &parsedOptions)
6464
try commandLine.appendLast(.includeSpiSymbols, from: &parsedOptions)
65+
try commandLine.appendLast(.emitExtensionBlockSymbols, .omitExtensionBlockSymbols, from: &parsedOptions)
6566
try commandLine.appendLast(.symbolGraphMinimumAccessLevel, from: &parsedOptions)
6667

6768
// Propagate the disable flag for cross-module incremental builds

Sources/SwiftOptions/Options.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -331,6 +331,7 @@ extension Option {
331331
public static let enableExperimentalFeature: Option = Option("-enable-experimental-feature", .separate, attributes: [.frontend], helpText: "Enable an experimental feature")
332332
public static let enableExperimentalFlowSensitiveConcurrentCaptures: Option = Option("-enable-experimental-flow-sensitive-concurrent-captures", .flag, attributes: [.helpHidden, .frontend, .noDriver, .moduleInterface], helpText: "Enable flow-sensitive concurrent captures")
333333
public static let enableExperimentalForwardModeDifferentiation: Option = Option("-enable-experimental-forward-mode-differentiation", .flag, attributes: [.frontend], helpText: "Enable experimental forward mode differentiation")
334+
public static let enableExperimentalImplicitSome: Option = Option("-enable-experimental-implicit-some", .flag, attributes: [.helpHidden, .frontend, .noDriver], helpText: "Enable experimental implicit some")
334335
public static let enableExperimentalMoveOnly: Option = Option("-enable-experimental-move-only", .flag, attributes: [.helpHidden, .frontend, .noDriver, .moduleInterface], helpText: "Enable experimental move only")
335336
public static let enableExperimentalNamedOpaqueTypes: Option = Option("-enable-experimental-named-opaque-types", .flag, attributes: [.helpHidden, .frontend, .noDriver], helpText: "Enable experimental support for named opaque result types")
336337
public static let enableExperimentalOpaqueTypeErasure: Option = Option("-enable-experimental-opaque-type-erasure", .flag, attributes: [.helpHidden, .frontend, .noDriver], helpText: "Type-erases opaque types that conform to @_typeEraser protocols")
@@ -522,6 +523,7 @@ extension Option {
522523
public static let nostartfiles: Option = Option("-nostartfiles", .flag, attributes: [.helpHidden, .frontend, .noInteractive, .doesNotAffectIncrementalBuild], helpText: "Do not link in the Swift language startup routines")
523524
public static let nostdimport: Option = Option("-nostdimport", .flag, attributes: [.frontend], helpText: "Don't search the standard library import path for modules")
524525
public static let numThreads: Option = Option("-num-threads", .separate, attributes: [.frontend, .doesNotAffectIncrementalBuild], metaVar: "<n>", helpText: "Enable multi-threading and specify number of threads")
526+
public static let omitExtensionBlockSymbols: Option = Option("-omit-extension-block-symbols", .flag, attributes: [.helpHidden, .frontend, .noInteractive, .supplementaryOutput], helpText: "Directly associate members and conformances with the extended nominal when generating symbol graphs instead of emitting 'swift.extension' symbols for extensions to external types")
525527
public static let extraClangOptionsOnly: Option = Option("-only-use-extra-clang-opts", .flag, attributes: [.helpHidden, .frontend, .noDriver], helpText: "Options passed via -Xcc are sufficient for Clang configuration")
526528
public static let Onone: Option = Option("-Onone", .flag, attributes: [.frontend, .moduleInterface], helpText: "Compile without any optimization", group: .O)
527529
public static let Oplayground: Option = Option("-Oplayground", .flag, attributes: [.helpHidden, .frontend, .moduleInterface], helpText: "Compile with optimizations appropriate for a playground", group: .O)
@@ -1058,6 +1060,7 @@ extension Option {
10581060
Option.enableExperimentalFeature,
10591061
Option.enableExperimentalFlowSensitiveConcurrentCaptures,
10601062
Option.enableExperimentalForwardModeDifferentiation,
1063+
Option.enableExperimentalImplicitSome,
10611064
Option.enableExperimentalMoveOnly,
10621065
Option.enableExperimentalNamedOpaqueTypes,
10631066
Option.enableExperimentalOpaqueTypeErasure,
@@ -1249,6 +1252,7 @@ extension Option {
12491252
Option.nostartfiles,
12501253
Option.nostdimport,
12511254
Option.numThreads,
1255+
Option.omitExtensionBlockSymbols,
12521256
Option.extraClangOptionsOnly,
12531257
Option.Onone,
12541258
Option.Oplayground,

0 commit comments

Comments
 (0)