mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
serialization: obfuscate the serialized search paths
We noticed some Swift clients rely on the serialized search paths in the module to find dependencies and droping these paths altogether can lead to build failures like rdar://85840921. This change teaches the serialization to obfuscate the search paths and the deserialization to recover them. This allows clients to keep accessing these paths without exposing them when shipping the module to other users.
This commit is contained in:
@@ -104,7 +104,7 @@ struct ValidationInfo {
|
||||
/// \sa validateSerializedAST()
|
||||
class ExtendedValidationInfo {
|
||||
SmallVector<StringRef, 4> ExtraClangImporterOpts;
|
||||
StringRef SDKPath;
|
||||
std::string SDKPath;
|
||||
StringRef ModuleABIName;
|
||||
struct {
|
||||
unsigned ArePrivateImportsEnabled : 1;
|
||||
@@ -121,7 +121,7 @@ public:
|
||||
ExtendedValidationInfo() : Bits() {}
|
||||
|
||||
StringRef getSDKPath() const { return SDKPath; }
|
||||
void setSDKPath(StringRef path) {
|
||||
void setSDKPath(std::string path) {
|
||||
assert(SDKPath.empty());
|
||||
SDKPath = path;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user