Trees That Grow refactor for `ConPat` and `CoPat`
- `ConPat{In,Out}` -> `ConPat` - `CoPat` -> `XPat (CoPat ..)` Note that `GHC.HS.*` still uses `HsWrap`, but only when `p ~ GhcTc`. After this change, moving the type family instances out of `GHC.HS.*` is sufficient to break the cycle. Add XCollectPat class to decide how binders are collected from XXPat based on the pass. Previously we did this with IsPass, but that doesn't work for Haddock's DocNameI, and the constraint doesn't express what actual distinction is being made. Perhaps a class for collecting binders more generally is in order, but we haven't attempted this yet. Pure refactor of code around ConPat - InPat/OutPat synonyms removed - rename several identifiers - redundant constraints removed - move extension field in ConPat to be first - make ConPat use record syntax more consistently Fix T6145 (ConPatIn became ConPat) Add comments from SPJ. Add comment about haddock's use of CollectPass. Updates haddock submodule.
parent
bfde3b76
No related branches found
No related tags found
Pipeline #18165 failed
Stage: lint
Stage: quick-build
Stage: build
Stage: full-build
Stage: cleanup
Stage: packaging
Stage: testing
Showing
- compiler/GHC/Hs/Instances.hs 3 additions, 0 deletionscompiler/GHC/Hs/Instances.hs
- compiler/GHC/Hs/Pat.hs 173 additions, 104 deletionscompiler/GHC/Hs/Pat.hs
- compiler/GHC/Hs/Utils.hs 143 additions, 75 deletionscompiler/GHC/Hs/Utils.hs
- compiler/GHC/HsToCore/Arrows.hs 4 additions, 4 deletionscompiler/GHC/HsToCore/Arrows.hs
- compiler/GHC/HsToCore/Docs.hs 3 additions, 1 deletioncompiler/GHC/HsToCore/Docs.hs
- compiler/GHC/HsToCore/Expr.hs 10 additions, 7 deletionscompiler/GHC/HsToCore/Expr.hs
- compiler/GHC/HsToCore/ListComp.hs 1 addition, 1 deletioncompiler/GHC/HsToCore/ListComp.hs
- compiler/GHC/HsToCore/Match.hs 14 additions, 10 deletionscompiler/GHC/HsToCore/Match.hs
- compiler/GHC/HsToCore/Match/Constructor.hs 19 additions, 7 deletionscompiler/GHC/HsToCore/Match/Constructor.hs
- compiler/GHC/HsToCore/PmCheck.hs 9 additions, 7 deletionscompiler/GHC/HsToCore/PmCheck.hs
- compiler/GHC/HsToCore/Quote.hs 1 addition, 1 deletioncompiler/GHC/HsToCore/Quote.hs
- compiler/GHC/HsToCore/Utils.hs 5 additions, 5 deletionscompiler/GHC/HsToCore/Utils.hs
- compiler/GHC/Iface/Ext/Ast.hs 13 additions, 8 deletionscompiler/GHC/Iface/Ext/Ast.hs
- compiler/GHC/Rename/Expr.hs 3 additions, 3 deletionscompiler/GHC/Rename/Expr.hs
- compiler/GHC/Rename/HsType.hs 27 additions, 8 deletionscompiler/GHC/Rename/HsType.hs
- compiler/GHC/Rename/Pat.hs 15 additions, 8 deletionscompiler/GHC/Rename/Pat.hs
- compiler/GHC/Tc/Deriv/Generate.hs 7 additions, 3 deletionscompiler/GHC/Tc/Deriv/Generate.hs
- compiler/GHC/Tc/Gen/Arrow.hs 2 additions, 2 deletionscompiler/GHC/Tc/Gen/Arrow.hs
- compiler/GHC/Tc/Gen/Bind.hs 2 additions, 2 deletionscompiler/GHC/Tc/Gen/Bind.hs
- compiler/GHC/Tc/Gen/Pat.hs 31 additions, 21 deletionscompiler/GHC/Tc/Gen/Pat.hs
Loading
Please register or sign in to comment