Recover splicing semantic
This commit is contained in:
parent
0d6a5c0f06
commit
00c04bd36a
@ -547,7 +547,10 @@ virtual_condition_holds(node(Y, A2), Virtual)
|
|||||||
% if a package is assigned a hash, it's concrete.
|
% if a package is assigned a hash, it's concrete.
|
||||||
concrete(PackageNode) :- attr("hash", PackageNode, _), attr("node", PackageNode).
|
concrete(PackageNode) :- attr("hash", PackageNode, _), attr("node", PackageNode).
|
||||||
|
|
||||||
:- concrete(PackageNode), depends_on(PackageNode, DependencyNode), not concrete(DependencyNode).
|
:- concrete(PackageNode),
|
||||||
|
depends_on(PackageNode, DependencyNode),
|
||||||
|
not concrete(DependencyNode),
|
||||||
|
not abi_splice_conditions_hold(_, DependencyNode, _, _).
|
||||||
|
|
||||||
%-----------------------------------------------------------------------------
|
%-----------------------------------------------------------------------------
|
||||||
% Dependency semantics
|
% Dependency semantics
|
||||||
@ -592,6 +595,13 @@ virtual_edge_needed(ParentNode, ChildNode, node(X, Virtual)) :-
|
|||||||
provider(ChildNode, node(X, Virtual)),
|
provider(ChildNode, node(X, Virtual)),
|
||||||
attr("virtual_on_edge", ParentNode, ChildNode, Virtual).
|
attr("virtual_on_edge", ParentNode, ChildNode, Virtual).
|
||||||
|
|
||||||
|
virtual_edge_needed(ParentNode, ChildNode, node(X, Virtual)) :-
|
||||||
|
concrete(ParentNode),
|
||||||
|
abi_splice_conditions_hold(_, ChildNode, _, _),
|
||||||
|
provider(ChildNode, node(X, Virtual)),
|
||||||
|
attr("virtual_on_edge", ParentNode, ChildNode, Virtual).
|
||||||
|
|
||||||
|
|
||||||
edge_needed(ParentNode, ChildNode) :- virtual_edge_needed(ParentNode, ChildNode, _).
|
edge_needed(ParentNode, ChildNode) :- virtual_edge_needed(ParentNode, ChildNode, _).
|
||||||
provider_needed(ChildNode, VirtualNode) :- virtual_edge_needed(_, ChildNode, VirtualNode).
|
provider_needed(ChildNode, VirtualNode) :- virtual_edge_needed(_, ChildNode, VirtualNode).
|
||||||
provider_needed(ChildNode, VirtualNode) :- attr("virtual_root", VirtualNode), provider(ChildNode, VirtualNode).
|
provider_needed(ChildNode, VirtualNode) :- attr("virtual_root", VirtualNode), provider(ChildNode, VirtualNode).
|
||||||
|
Loading…
Reference in New Issue
Block a user