Commit Graph

8 Commits

Author SHA1 Message Date
Jordan Rose
2ad0ffd6e4 Dependencies: teach the Driver about the new member-based dependencies.
If file A extends a common type (say, Dictionary), but only adds new members,
other files using Dictionary don't need to be recompiled if they definitively
don't use those members. That should be working now.

Swift SVN r30286
2015-07-16 23:36:33 +00:00
Jordan Rose
c79952389c Dependencies: rename entries in the .swiftdeps file to something sensible.
- (depends|provides)-top-level for top-level names.
- (depends|provides)-nominal for access into nominal types.
- (depends|provides)-dynamic-lookup for @objc members available on AnyObject.
- depends-external for cross-module file-based dependencies.

No functionality change.

Swift SVN r30283
2015-07-16 23:36:26 +00:00
Jordan Rose
5e889c0c8a [Driver] Load cross-module dependencies into the dependency graph.
We don't actually check them yet, but this fits them into the same dependency
structure as intra-module dependencies.

Part of rdar://problem/19270920

Swift SVN r24335
2015-01-10 00:38:10 +00:00
Jordan Rose
2c7a195832 [Driver] Honor dynamic lookup dependencies.
Swift SVN r24053
2014-12-20 01:59:11 +00:00
Jordan Rose
f711e1ba79 [unit] Add basic tests for DependencyGraph::markIntransitive.
Swift SVN r23856
2014-12-11 01:12:21 +00:00
Jordan Rose
8ea2a9710d [unit] Update DependencyGraphTests for API changes in prev. commits.
No functionality change.

Swift SVN r23855
2014-12-11 01:12:18 +00:00
Dmitri Hrybenko
bc18080546 Fix warnings about mixed-signedness comparisons
Swift SVN r23351
2014-11-15 03:44:11 +00:00
Jordan Rose
8b5d763e39 [Driver] Add a new DependencyGraph class.
...and some basic unit tests for it.

The purpose of this class is to track dependencies between opaque nodes.
The dependency edges are (kind, string) pairs, where the "kind"
distinguishes different kinds of dependencies (currently "top-level names"
and "types that we do lookup on"). The step is to make use of it in
running compile commands.

The YAML-based file format is only for bring-up and testing purposes.
I intend to switch it to a bitcode-based format in the long run.

Part of rdar://problem/15353101

Swift SVN r23223
2014-11-11 00:43:29 +00:00