@@ -49,12 +49,11 @@ SourceFileDepGraph::getNode(size_t sequenceNumber) const {
49
49
50
50
InterfaceAndImplementationPair<SourceFileDepGraphNode>
51
51
SourceFileDepGraph::getSourceFileNodePair () const {
52
- assert (getNode (0 )->getKey ().getKind () == NodeKind::sourceFileProvide &&
53
- " First node must be sourceFileProvide." );
54
- assert (getNode (1 )->getKey ().getKind () == NodeKind::sourceFileProvide &&
55
- " Second node must be sourceFileProvide." );
56
- return InterfaceAndImplementationPair<SourceFileDepGraphNode>(getNode (0 ),
57
- getNode (1 ));
52
+ return InterfaceAndImplementationPair<SourceFileDepGraphNode>(
53
+ getNode (
54
+ SourceFileDepGraphNode::sourceFileProvidesInterfaceSequenceNumber),
55
+ getNode (SourceFileDepGraphNode::
56
+ sourceFileProvidesImplementationSequenceNumber));
58
57
}
59
58
60
59
StringRef SourceFileDepGraph::getSwiftDepsOfJobThatProducedThisGraph () const {
@@ -82,13 +81,16 @@ SourceFileDepGraph::findExistingNodePairOrCreateAndAddIfNew(
82
81
const std::string &name = std::get<1 >(contextNameFingerprint);
83
82
const Optional<std::string> &fingerprint =
84
83
std::get<2 >(contextNameFingerprint);
84
+ auto *interfaceNode = findExistingNodeOrCreateIfNew (
85
+ DependencyKey (k, DeclAspect::interface, context, name), fingerprint,
86
+ true /* = isProvides */ );
87
+ auto *implementationNode = findExistingNodeOrCreateIfNew (
88
+ DependencyKey (k, DeclAspect::implementation, context, name), fingerprint,
89
+ true /* = isProvides */ );
90
+
85
91
InterfaceAndImplementationPair<SourceFileDepGraphNode> nodePair{
86
- findExistingNodeOrCreateIfNew (
87
- DependencyKey (k, DeclAspect::interface, context, name), fingerprint,
88
- true /* = isProvides */ ),
89
- findExistingNodeOrCreateIfNew (
90
- DependencyKey (k, DeclAspect::implementation, context, name),
91
- fingerprint, true /* = isProvides */ )};
92
+ interfaceNode, implementationNode};
93
+
92
94
// if interface changes, have to rebuild implementation.
93
95
// This dependency used to be represented by
94
96
// addArc(nodePair.getInterface(), nodePair.getImplementation());
0 commit comments