@@ -434,18 +434,18 @@ exposing =
434 Space.chompAndCheckIndent E.ExposingSpace E.ExposingIndentEnd
434 Space.chompAndCheckIndent E.ExposingSpace E.ExposingIndentEnd
435 word1 0x29 {-)-} E.ExposingEnd
435 word1 0x29 {-)-} E.ExposingEnd
436 return Src.Open
436 return Src.Open
437− , do exposed <- addLocation chompExposed
437+ , do exposed <- chompExposed
438 Space.chompAndCheckIndent E.ExposingSpace E.ExposingIndentEnd
438 Space.chompAndCheckIndent E.ExposingSpace E.ExposingIndentEnd
439 exposingHelp [exposed]
439 exposingHelp [exposed]
443−exposingHelp :: [A.Located Src.Exposed] -> Parser E.Exposing Src.Exposing
443+exposingHelp :: [Src.Exposed] -> Parser E.Exposing Src.Exposing
444exposingHelp revExposed =
444exposingHelp revExposed =
445 oneOf E.ExposingEnd
445 oneOf E.ExposingEnd
446 [ do word1 0x2C {-,-} E.ExposingEnd
446 [ do word1 0x2C {-,-} E.ExposingEnd
447 Space.chompAndCheckIndent E.ExposingSpace E.ExposingIndentValue
447 Space.chompAndCheckIndent E.ExposingSpace E.ExposingIndentValue
448− exposed <- addLocation chompExposed
448+ exposed <- chompExposed
449 Space.chompAndCheckIndent E.ExposingSpace E.ExposingIndentEnd
449 Space.chompAndCheckIndent E.ExposingSpace E.ExposingIndentEnd
450 exposingHelp (exposed:revExposed)
450 exposingHelp (exposed:revExposed)
451 , do word1 0x29 {-)-} E.ExposingEnd
451 , do word1 0x29 {-)-} E.ExposingEnd
@@ -455,16 +455,21 @@ exposingHelp revExposed =
456chompExposed :: Parser E.Exposing Src.Exposed
456chompExposed :: Parser E.Exposing Src.Exposed
457chompExposed =
457chompExposed =
458+ do start <- getPosition
458− oneOf E.ExposingValue
459+ oneOf E.ExposingValue
459− [ Src.Lower <$> Var.lower E.ExposingValue
460+ [ do name <- Var.lower E.ExposingValue
462+ return $ Src.Lower $ A.at start end name
460− , do word1 0x28 {-(-} E.ExposingValue
463+ , do word1 0x28 {-(-} E.ExposingValue
461− op <- Symbol.operator E.ExposingOperator E.ExposingOperatorReserved
464+ op <- Symbol.operator E.ExposingOperator E.ExposingOperatorReserved
462− word1 0x29 {-)-} E.ExposingOperatorRightParen
465+ word1 0x29 {-)-} E.ExposingOperatorRightParen
463− return (Src.Operator op)
467+ return $ Src.Operator (A.Region start end) op
464− , do name <- Var.upper E.ExposingValue
468+ , do name <- Var.upper E.ExposingValue
465− Space.chompAndCheckIndent E.ExposingSpace E.ExposingIndentEnd
470+ Space.chompAndCheckIndent E.ExposingSpace E.ExposingIndentEnd
466− Src.Upper name <$> privacy
471+ Src.Upper (A.at start end name) <$> privacy
470privacy :: Parser E.Exposing Src.Privacy
475privacy :: Parser E.Exposing Src.Privacy
@@ -472,9 +477,11 @@ privacy =
472 oneOfWithFallback
477 oneOfWithFallback
473 [ do word1 0x28 {-(-} E.ExposingTypePrivacy
478 [ do word1 0x28 {-(-} E.ExposingTypePrivacy
474 Space.chompAndCheckIndent E.ExposingSpace E.ExposingTypePrivacy
479 Space.chompAndCheckIndent E.ExposingSpace E.ExposingTypePrivacy
480+ start <- getPosition
475 word2 0x2E 0x2E {-..-} E.ExposingTypePrivacy
481 word2 0x2E 0x2E {-..-} E.ExposingTypePrivacy
476 Space.chompAndCheckIndent E.ExposingSpace E.ExposingTypePrivacy
483 Space.chompAndCheckIndent E.ExposingSpace E.ExposingTypePrivacy
477 word1 0x29 {-)-} E.ExposingTypePrivacy
484 word1 0x29 {-)-} E.ExposingTypePrivacy
478− return Src.Public
485+ return $ Src.Public (A.Region start end)
480 Src.Private
487 Src.Private