This replaces the `process_fine_grained_swiftdeps_with_fingerprints`
helper with a python script that mimics the shell behaviour. Adjust the
generated interface diffs to use unified formats. This allows us to
enable these tests on Windows.
Ensure that we use the correct python to run the python based tools.
This also allows these tools to run on Windows which will not
necessarily associate the python script with an interpreter (python).
We'd really like to say that private decls can't affect other files,
but we don't have enough information at parse-time:
- Private members of non-private classes still show up in vtables,
which affects subclasses and callers in other files.
- Private stored properties of non-private structs change the
layout of the struct.
- Private types may be used in private stored properties, affecting
the layout of the containing struct.
- Private decls of /any kind/ can be used as the initial value of a
stored property without an explicit type.
private class Evil {
class func defaultAlignment() -> Alignment { return .evil }
}
public struct Character {
// Inferred type here!
private var alignment = Evil.defaultAlignment()
}
To be safe and correct, go back to only ignoring method bodies.
https://bugs.swift.org/browse/SR-1030