| 1498 | # PBXBuildFile. |
| 1499 | |
| 1500 | def PathHashables(self): |
| 1501 | # A PBXBuildFile that refers to this object will call this method to |
| 1502 | # obtain additional hashables specific to this XCFileLikeElement. Don't |
| 1503 | # just use this object's hashables, they're not specific and unique enough |
| 1504 | # on their own (without access to the parent hashables.) Instead, provide |
| 1505 | # hashables that identify this object by path by getting its hashables as |
| 1506 | # well as the hashables of ancestor XCHierarchicalElement objects. |
| 1507 | |
| 1508 | hashables = [] |
| 1509 | xche = self |
| 1510 | while isinstance(xche, XCHierarchicalElement): |
| 1511 | xche_hashables = xche.Hashables() |
| 1512 | for index, xche_hashable in enumerate(xche_hashables): |
| 1513 | hashables.insert(index, xche_hashable) |
| 1514 | xche = xche.parent |
| 1515 | return hashables |
| 1516 | |
| 1517 | |
| 1518 | class XCContainerPortal(XCObject): |