如何找到所有未指定访问级别的函数?

How can I find all functions that have no access level specified?

我们在遗留代码中有大量函数没有指定访问级别,因此它们都回到默认访问级别“Internal”。 我想将它们全部设为“Private”并查看是否存在任何构建错误,以便我可以快速判断其中一些是否应转换为 Private。 我找不到一个快速的方法来做到这一点。 有谁知道一个工具或技巧吗?也许 shell 脚本或具有此功能的 linter?

使用以下正则表达式。它匹配所有以 func.

开头的行
^\s*func
  • ^ 匹配行首

  • \s* 匹配任意数量的 space。 您可能有不同程度的缩进。

更新

您可以使用或 (|) 运算符来匹配 @objcmutating.

^\s*func|@objc|mutating

信息:

您可能不需要更改 SceneDelegateAppDelegate 中的访问修饰符。如果是这样,请单击 In Project,然后选择以下搜索范围。