• Sylvain Henry's avatar
    Store ComponentId details · e54500c1
    Sylvain Henry authored
    As far as GHC is concerned, installed package components ("units") are
    identified by an opaque ComponentId string provided by Cabal. But we
    don't want to display it to users (as it contains a hash) so GHC queries
    the database to retrieve some infos about the original source package
    (name, version, component name).
    
    This patch caches these infos in the ComponentId itself so that we don't
    need to provide DynFlags (which contains installed package informations)
    to print a ComponentId.
    
    In the future we want GHC to support several independent package states
    (e.g. for plugins and for target code), hence we need to avoid
    implicitly querying a single global package state.
    e54500c1
Code owners : Ben Gamari
Main.hs 38.6 KB