diff options
author | Edward Z. Yang <ezyang@cs.stanford.edu> | 2015-12-18 12:09:36 -0800 |
---|---|---|
committer | Edward Z. Yang <ezyang@cs.stanford.edu> | 2015-12-22 14:22:40 -0800 |
commit | 998739df630cbee7d006329a76786239e3e2c0be (patch) | |
tree | 72836cb094294d8b575edf76139fce1834a9f19c /libraries/filepath | |
parent | 21b25dffc72fdc45c3c621922e376958f2070058 (diff) | |
download | haskell-998739df630cbee7d006329a76786239e3e2c0be.tar.gz |
Refactor package flags into several distinct types.
Summary:
Previously, all package flags (-package, -trust-package,
-ignore-package) were bundled up into a single packageFlags
field in DynFlags, under a single type. This commit separates
them based on what they do.
This is a nice improvement, because it means that Packages can
then be refactored so that a number of functions are "tighter":
- We know longer have to partition PackageFlags into
the ignore flag and other flags; ignore flags are just
put into their own field.
- Trust flags modify the package database, but exposed
flags do not (they modify the visibility map); now
applyPackageFlag and applyTrustFlag have tighter signatures
which reflect this.
This patch was motivated by the need to have a separate visibility
map for plugin packages, which will be in a companion patch.
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Test Plan: validate
Reviewers: austin, bgamari, duncan
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D1659
Diffstat (limited to 'libraries/filepath')
0 files changed, 0 insertions, 0 deletions