def parse_build_file_family(self, build_file):
if build_file not in self._added_build_file_families:
for bf in build_file.family():
self.parse_build_file(bf)self._added_build_file_families.add(build_file)
def parse_build_file(self, build_file):
Capture TargetProxies from parsing `build_file`.
After Change
def parse_build_file_family(self, build_file):
family_address_map_by_build_file = {} // {build_file: {address: addressable}}
for bf in build_file.family():
bf_address_map = self.parse_build_file(bf)
for address, addressable in bf_address_map.items():
for sibling_build_file, sibling_address_map in family_address_map_by_build_file.items():
if address in sibling_address_map:
raise BuildFileParser.SiblingConflictException(