necessary.
"""
disjunctions = []
disjunctions_appended = False
for x in dep_struct:
if isinstance(x, list):
if x and x[0] == "||":
disjunctions.append(x)
disjunctions_appended = True
else:
for y in self._queue_disjunctive_deps(
pkg, dep_root, dep_priority, x):
# or whatever other metadata gets implemented for this
# purpose.
if x.cp.startswith('virtual/'):
if disjunctions_appended:
yield x