Add proper GHCHints for most PsMessage constructors
This commit adds proper hints to most diagnostic types in the `GHC.Parser.Errors.Types` module. By "proper" we mean that previous to this commit the hints were bundled together with the diagnostic message, whereas now we moved most of them as proper `[GhcHint]` in the implementation of `diagnosticHints`. More specifically, this is the list of constructors which now has proper hints: * PsErrIllegalBangPattern * PsWarnOperatorWhitespaceExtConflict * PsErrLambdaCase * PsErrIllegalPatSynExport * PsWarnOperatorWhitespace * PsErrMultiWayIf * PsErrIllegalQualifiedDo * PsErrNumUnderscores * PsErrLinearFunction * PsErrIllegalTraditionalRecordSyntax * PsErrIllegalExplicitNamespace * PsErrOverloadedRecordUpdateNotEnabled * PsErrIllegalDataTypeContext * PsErrSemiColonsInCondExpr * PsErrSemiColonsInCondCmd * PsWarnStarIsType * PsWarnImportPreQualified * PsErrImportPostQualified * PsErrEmptyDoubleQuotes * PsErrIllegalRoleName * PsWarnStarBinder For some reason, this patch increases the peak_megabyte_allocated of the T11545 test to 90 (from a baseline of 80) but that particular test doesn't emit any parsing diagnostic or hint and the metric increase happens only for the `aarch64-linux-deb10`. Metric Increase: T11545
Showing
- compiler/GHC/Parser/Errors/Basic.hs 22 additions, 0 deletionscompiler/GHC/Parser/Errors/Basic.hs
- compiler/GHC/Parser/Errors/Ppr.hs 68 additions, 92 deletionscompiler/GHC/Parser/Errors/Ppr.hs
- compiler/GHC/Parser/Errors/Types.hs 1 addition, 12 deletionscompiler/GHC/Parser/Errors/Types.hs
- compiler/GHC/Parser/Lexer.x 1 addition, 0 deletionscompiler/GHC/Parser/Lexer.x
- compiler/GHC/Types/Hint.hs 76 additions, 2 deletionscompiler/GHC/Types/Hint.hs
- compiler/GHC/Types/Hint/Ppr.hs 29 additions, 0 deletionscompiler/GHC/Types/Hint/Ppr.hs
- compiler/ghc.cabal.in 1 addition, 0 deletionscompiler/ghc.cabal.in
- testsuite/tests/count-deps/CountDepsAst.stdout 2 additions, 1 deletiontestsuite/tests/count-deps/CountDepsAst.stdout
- testsuite/tests/count-deps/CountDepsParser.stdout 2 additions, 1 deletiontestsuite/tests/count-deps/CountDepsParser.stdout
- testsuite/tests/linear/should_fail/LinearNoExt.stderr 2 additions, 1 deletiontestsuite/tests/linear/should_fail/LinearNoExt.stderr
- testsuite/tests/linear/should_fail/LinearNoExtU.stderr 2 additions, 1 deletiontestsuite/tests/linear/should_fail/LinearNoExtU.stderr
- testsuite/tests/module/mod182.stderr 3 additions, 2 deletionstestsuite/tests/module/mod182.stderr
- testsuite/tests/module/mod184.stderr 3 additions, 2 deletionstestsuite/tests/module/mod184.stderr
- testsuite/tests/module/mod98.stderr 2 additions, 1 deletiontestsuite/tests/module/mod98.stderr
- testsuite/tests/parser/should_compile/T18834a.stderr 3 additions, 3 deletionstestsuite/tests/parser/should_compile/T18834a.stderr
- testsuite/tests/parser/should_compile/T18834b.stderr 3 additions, 3 deletionstestsuite/tests/parser/should_compile/T18834b.stderr
- testsuite/tests/parser/should_fail/NoDoAndIfThenElse.stderr 1 addition, 1 deletiontestsuite/tests/parser/should_fail/NoDoAndIfThenElse.stderr
- testsuite/tests/parser/should_fail/NoNumericUnderscores0.stderr 2 additions, 1 deletion...ite/tests/parser/should_fail/NoNumericUnderscores0.stderr
- testsuite/tests/parser/should_fail/NoNumericUnderscores1.stderr 2 additions, 1 deletion...ite/tests/parser/should_fail/NoNumericUnderscores1.stderr
- testsuite/tests/parser/should_fail/NoPatternSynonyms.stderr 1 addition, 1 deletiontestsuite/tests/parser/should_fail/NoPatternSynonyms.stderr
Loading
Please register or sign in to comment