mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Add basic reference tracking based on name lookups.
This tracks top-level qualified and unqualified lookups in the primary source file, meaning we see all top-level names used in the file. This is part of the intra-module dependency tracking work that can enable incremental rebuilds. This doesn't quite cover all of a file's dependencies. In particular, it misses cases involving extensions defined in terms of typealiases, and it doesn't yet track operator lookups. The whole scheme is also very dependent on being used to track file-level dependencies; if C is a subclass of B and B is a subclass of A, C doesn't appear to depend on A. It only works because changing A will mark B as dirty. Part of rdar://problem/15353101 Swift SVN r22925
This commit is contained in:
@@ -478,6 +478,10 @@ static bool ParseFrontendArgs(FrontendOptions &Opts, ArgList &Args,
|
||||
OPT_emit_dependencies,
|
||||
OPT_emit_dependencies_path,
|
||||
"d", false);
|
||||
determineOutputFilename(Opts.ReferenceDependenciesFilePath,
|
||||
OPT_emit_reference_dependencies,
|
||||
OPT_emit_reference_dependencies_path,
|
||||
"swiftdeps", false);
|
||||
determineOutputFilename(Opts.SerializedDiagnosticsPath,
|
||||
OPT_serialize_diagnostics,
|
||||
OPT_serialize_diagnostics_path,
|
||||
|
||||
Reference in New Issue
Block a user