def __init__()

in tools/dependency_summary.py [0:0]


    def __init__(self, metadata):
        self.metadata = metadata
        self.pkgInfoById = {}
        self.pkgInfoByManifestPath = {}
        self.workspaceMembersByName = {}
        for info in metadata["packages"]:
            if info["name"] in EXCLUDED_PACKAGES:
                continue
            # Apply any hand-rolled fixups, carefully checking that they haven't been invalidated.
            if info["name"] in PACKAGE_METADATA_FIXUPS:
                fixups = PACKAGE_METADATA_FIXUPS[info["name"]]
                for key, change in fixups.items():
                    if info.get(key) != change.get("check"):
                        assert False, "Fixup check failed for {}.{}: {} != {}".format(
                            info["name"], key, info.get(key, None), change["check"]
                        )
                    if "fixup" in change:
                        info[key] = change["fixup"]
            # Index packages for fast lookup.
            assert info["id"] not in self.pkgInfoById
            self.pkgInfoById[info["id"]] = info
            assert info["manifest_path"] not in self.pkgInfoByManifestPath
            self.pkgInfoByManifestPath[info["manifest_path"]] = info
        # Add fake packages for things managed outside of cargo.
        for name, info in EXTRA_PACKAGE_METADATA.items():
            assert name not in self.pkgInfoById
            self.pkgInfoById[name] = info.copy()
        for id in metadata["workspace_members"]:
            name = self.pkgInfoById[id]["name"]
            assert name not in self.workspaceMembersByName
            self.workspaceMembersByName[name] = id