| ... |
... |
@@ -783,10 +783,7 @@ lexprCtOrigin (L _ e) = exprCtOrigin e |
|
783
|
783
|
|
|
784
|
784
|
exprCtOrigin :: HsExpr GhcRn -> CtOrigin
|
|
785
|
785
|
exprCtOrigin (HsVar _ (L _ (WithUserRdr _ name))) = OccurrenceOf name
|
|
786
|
|
-exprCtOrigin e@(HsGetField _ _ (L _ _)) = ExpansionOrigin (OrigExpr e)
|
|
787
|
|
- -- GetFieldOrigin (field_label $ unLoc $ dfoLabel f)
|
|
788
|
786
|
exprCtOrigin (HsOverLabel _ l) = OverLabelOrigin l
|
|
789
|
|
-exprCtOrigin (ExplicitList {}) = ListOrigin
|
|
790
|
787
|
exprCtOrigin (HsIPVar _ ip) = IPOccOrigin ip
|
|
791
|
788
|
exprCtOrigin (HsOverLit _ lit) = LiteralOrigin lit
|
|
792
|
789
|
exprCtOrigin (HsLit {}) = Shouldn'tHappenOrigin "concrete literal"
|
| ... |
... |
@@ -796,18 +793,15 @@ exprCtOrigin (HsAppType _ e1 _) = lexprCtOrigin e1 |
|
796
|
793
|
exprCtOrigin (OpApp _ _ op _) = lexprCtOrigin op
|
|
797
|
794
|
exprCtOrigin (NegApp _ e _) = lexprCtOrigin e
|
|
798
|
795
|
exprCtOrigin (HsPar _ e) = lexprCtOrigin e
|
|
799
|
|
-exprCtOrigin e@(HsProjection _ _) = ExpansionOrigin (OrigExpr e)
|
|
800
|
796
|
exprCtOrigin (SectionL _ _ _) = SectionOrigin
|
|
801
|
797
|
exprCtOrigin (SectionR _ _ _) = SectionOrigin
|
|
802
|
798
|
exprCtOrigin (ExplicitTuple {}) = Shouldn'tHappenOrigin "explicit tuple"
|
|
803
|
799
|
exprCtOrigin ExplicitSum{} = Shouldn'tHappenOrigin "explicit sum"
|
|
804
|
800
|
exprCtOrigin (HsCase _ _ matches) = matchesCtOrigin matches
|
|
805
|
|
-exprCtOrigin (HsIf {}) = IfThenElseOrigin
|
|
806
|
801
|
exprCtOrigin (HsMultiIf _ rhs) = lGRHSCtOrigin rhs
|
|
807
|
802
|
exprCtOrigin (HsLet _ _ e) = lexprCtOrigin e
|
|
808
|
803
|
exprCtOrigin (HsDo {}) = DoStmtOrigin
|
|
809
|
804
|
exprCtOrigin (RecordCon {}) = Shouldn'tHappenOrigin "record construction"
|
|
810
|
|
-exprCtOrigin (RecordUpd{}) = RecordUpdOrigin
|
|
811
|
805
|
exprCtOrigin (ExprWithTySig {}) = ExprSigOrigin
|
|
812
|
806
|
exprCtOrigin (ArithSeq {}) = Shouldn'tHappenOrigin "arithmetic sequence"
|
|
813
|
807
|
exprCtOrigin (HsPragE _ _ e) = lexprCtOrigin e
|
| ... |
... |
@@ -822,6 +816,12 @@ exprCtOrigin (HsHole _) = Shouldn'tHappenOrigin "hole expression" |
|
822
|
816
|
exprCtOrigin (HsForAll {}) = Shouldn'tHappenOrigin "forall telescope" -- See Note [Types in terms]
|
|
823
|
817
|
exprCtOrigin (HsQual {}) = Shouldn'tHappenOrigin "constraint context" -- See Note [Types in terms]
|
|
824
|
818
|
exprCtOrigin (HsFunArr {}) = Shouldn'tHappenOrigin "function arrow" -- See Note [Types in terms]
|
|
|
819
|
+exprCtOrigin e@(HsProjection _ _) = ExpansionOrigin (OrigExpr e)
|
|
|
820
|
+exprCtOrigin e@(ExplicitList {}) = ExpansionOrigin (OrigExpr e)
|
|
|
821
|
+exprCtOrigin e@(HsIf {}) = ExpansionOrigin (OrigExpr e)
|
|
|
822
|
+exprCtOrigin e@(RecordUpd{}) = ExpansionOrigin (OrigExpr e)
|
|
|
823
|
+exprCtOrigin e@(HsGetField{}) = ExpansionOrigin (OrigExpr e)
|
|
|
824
|
+ -- GetFieldOrigin (field_label $ unLoc $ dfoLabel f)
|
|
825
|
825
|
exprCtOrigin (XExpr (ExpandedThingRn o _)) = ExpansionOrigin o
|
|
826
|
826
|
exprCtOrigin (XExpr (PopErrCtxt e)) = exprCtOrigin e
|
|
827
|
827
|
exprCtOrigin (XExpr (HsRecSelRn f)) = OccurrenceOfRecSel (foExt f)
|
| ... |
... |
@@ -869,7 +869,9 @@ pprCtOrigin (ExpansionOrigin o) |
|
869
|
869
|
hsep [text "selecting the field", quotes (ppr f)]
|
|
870
|
870
|
OrigExpr (HsOverLabel _ l) ->
|
|
871
|
871
|
hsep [text "the overloaded label" ,quotes (char '#' <> ppr l)]
|
|
872
|
|
- OrigExpr e@(RecordUpd{}) -> hsep [text "a record update" <+> quotes (ppr e) ]
|
|
|
872
|
+ OrigExpr (RecordUpd{}) -> hsep [text "a record update"]
|
|
|
873
|
+ OrigExpr (ExplicitList{}) -> text "an overloaded list"
|
|
|
874
|
+ OrigExpr (HsIf{}) -> text "an if-then-else expression"
|
|
873
|
875
|
OrigExpr e -> text "the expression" <+> (ppr e)
|
|
874
|
876
|
|
|
875
|
877
|
pprCtOrigin (GivenSCOrigin sk d blk)
|