Merge pull request #76244 from swiftlang/elsh/do-not-print-package-name

Do not print package-name in non-package interface by default.
This commit is contained in:
Ellie Shin
2024-09-05 15:45:06 -07:00
committed by GitHub
5 changed files with 10 additions and 12 deletions

View File

@@ -70,10 +70,6 @@ struct ModuleInterfaceOptions {
/// Print imports that are missing from the source and used in API. /// Print imports that are missing from the source and used in API.
bool PrintMissingImports = true; bool PrintMissingImports = true;
/// If true, package-name flag is not printed in either public or private
/// interface file.
bool DisablePackageNameForNonPackageInterface = false;
/// Intentionally print invalid syntax into the file. /// Intentionally print invalid syntax into the file.
bool DebugPrintInvalidSyntax = false; bool DebugPrintInvalidSyntax = false;

View File

@@ -728,7 +728,11 @@ def disable_bridging_pch : Flag<["-"], "disable-bridging-pch">,
def disable_print_package_name_for_non_package_interface : def disable_print_package_name_for_non_package_interface :
Flag<["-"], "disable-print-package-name-for-non-package-interface">, Flag<["-"], "disable-print-package-name-for-non-package-interface">,
Flags<[FrontendOption, NoDriverOption, HelpHidden]>, Flags<[FrontendOption, NoDriverOption, HelpHidden]>,
HelpText<"Disable adding package name to public or private interface">; HelpText<"No op; package name is only printed in package interface by default">;
def print_package_name_in_non_package_interface :
Flag<["-"], "print-package-name-in-non-package-interface">,
Flags<[FrontendOption, NoDriverOption, HelpHidden]>,
HelpText<"Print package name in public or private interface">;
def lto : Joined<["-"], "lto=">, def lto : Joined<["-"], "lto=">,
Flags<[FrontendOption, NoInteractiveOption]>, Flags<[FrontendOption, NoInteractiveOption]>,

View File

@@ -525,7 +525,6 @@ static void ParseModuleInterfaceArgs(ModuleInterfaceOptions &Opts,
Args.hasArg(OPT_debug_emit_invalid_swiftinterface_syntax); Args.hasArg(OPT_debug_emit_invalid_swiftinterface_syntax);
Opts.PrintMissingImports = Opts.PrintMissingImports =
!Args.hasArg(OPT_disable_print_missing_imports_in_module_interface); !Args.hasArg(OPT_disable_print_missing_imports_in_module_interface);
Opts.DisablePackageNameForNonPackageInterface |= Args.hasArg(OPT_disable_print_package_name_for_non_package_interface);
if (const Arg *A = Args.getLastArg(OPT_library_level)) { if (const Arg *A = Args.getLastArg(OPT_library_level)) {
StringRef contents = A->getValue(); StringRef contents = A->getValue();
@@ -557,8 +556,8 @@ static bool ShouldIncludeModuleInterfaceArg(const Arg *A) {
static bool IsPackageInterfaceFlag(const Arg *A, ArgList &Args) { static bool IsPackageInterfaceFlag(const Arg *A, ArgList &Args) {
return A->getOption().matches(options::OPT_package_name) && return A->getOption().matches(options::OPT_package_name) &&
Args.hasArg( !Args.hasArg(
options::OPT_disable_print_package_name_for_non_package_interface); options::OPT_print_package_name_in_non_package_interface);
} }
static bool IsPrivateInterfaceFlag(const Arg *A, ArgList &Args) { static bool IsPrivateInterfaceFlag(const Arg *A, ArgList &Args) {

View File

@@ -23,7 +23,6 @@ public enum PubEnum {
case red, green case red, green
} }
// CHECK: -package-name barpkg
// CHECK: public enum PubEnum { // CHECK: public enum PubEnum {
// CHECK: case red, green // CHECK: case red, green
// CHECK: public static func == (a: Bar.PubEnum, b: Bar.PubEnum) -> Swift.Bool // CHECK: public static func == (a: Bar.PubEnum, b: Bar.PubEnum) -> Swift.Bool

View File

@@ -1,12 +1,11 @@
// RUN: %empty-directory(%t) // RUN: %empty-directory(%t)
// RUN: split-file %s %t // RUN: split-file %s %t
/// Do not print package-name for public or private interfaces /// By default, package-name is only printed in package interface
// RUN: %target-build-swift -emit-module %t/Bar.swift -I %t \ // RUN: %target-build-swift -emit-module %t/Bar.swift -I %t \
// RUN: -module-name Bar -package-name foopkg \ // RUN: -module-name Bar -package-name foopkg \
// RUN: -enable-library-evolution -swift-version 6 \ // RUN: -enable-library-evolution -swift-version 6 \
// RUN: -package-name barpkg \ // RUN: -package-name barpkg \
// RUN: -Xfrontend -disable-print-package-name-for-non-package-interface \
// RUN: -emit-module-interface-path %t/Bar.swiftinterface \ // RUN: -emit-module-interface-path %t/Bar.swiftinterface \
// RUN: -emit-private-module-interface-path %t/Bar.private.swiftinterface \ // RUN: -emit-private-module-interface-path %t/Bar.private.swiftinterface \
// RUN: -emit-package-module-interface-path %t/Bar.package.swiftinterface // RUN: -emit-package-module-interface-path %t/Bar.package.swiftinterface
@@ -44,10 +43,11 @@
// RUN: rm -rf %t/Bar.private.swiftinterface // RUN: rm -rf %t/Bar.private.swiftinterface
// RUN: rm -rf %t/Bar.package.swiftinterface // RUN: rm -rf %t/Bar.package.swiftinterface
/// By default, -package-name is printed in all interfaces. /// Print -package-name in public or private interface.
// RUN: %target-build-swift -emit-module %t/Bar.swift -I %t \ // RUN: %target-build-swift -emit-module %t/Bar.swift -I %t \
// RUN: -module-name Bar -package-name barpkg \ // RUN: -module-name Bar -package-name barpkg \
// RUN: -enable-library-evolution -swift-version 6 \ // RUN: -enable-library-evolution -swift-version 6 \
// RUN: -Xfrontend -print-package-name-in-non-package-interface \
// RUN: -emit-module-interface-path %t/Bar.swiftinterface \ // RUN: -emit-module-interface-path %t/Bar.swiftinterface \
// RUN: -emit-private-module-interface-path %t/Bar.private.swiftinterface \ // RUN: -emit-private-module-interface-path %t/Bar.private.swiftinterface \
// RUN: -emit-package-module-interface-path %t/Bar.package.swiftinterface // RUN: -emit-package-module-interface-path %t/Bar.package.swiftinterface