summaryrefslogtreecommitdiff
path: root/src/compiler/GF/Compile/GeneratePMCFG.hs
diff options
context:
space:
mode:
authorInari Listenmaa <inari.listenmaa@gmail.com>2020-06-04 19:57:55 +0200
committerInari Listenmaa <inari.listenmaa@gmail.com>2020-06-04 19:57:55 +0200
commit414c2a1a5f22b80d538a7e695b028908a5e6502f (patch)
tree787c90c95fc2fc24c4b57ef5132efdaf0843e146 /src/compiler/GF/Compile/GeneratePMCFG.hs
parentdca1fcd7febf59728819736a08eb572d5d10b3c6 (diff)
Add clarification to Internal error in GeneratePMCFG
Diffstat (limited to 'src/compiler/GF/Compile/GeneratePMCFG.hs')
-rw-r--r--src/compiler/GF/Compile/GeneratePMCFG.hs16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/compiler/GF/Compile/GeneratePMCFG.hs b/src/compiler/GF/Compile/GeneratePMCFG.hs
index f0c256775..0558715c6 100644
--- a/src/compiler/GF/Compile/GeneratePMCFG.hs
+++ b/src/compiler/GF/Compile/GeneratePMCFG.hs
@@ -614,6 +614,20 @@ mkArray lst = listArray (0,length lst-1) lst
mkSetArray map = array (0,Map.size map-1) [(v,k) | (k,v) <- Map.toList map]
bug msg = ppbug msg
-ppbug msg = error . render $ hang "Internal error in GeneratePMCFG:" 4 msg
+ppbug msg = error completeMsg
+ where
+ originalMsg = render $ hang "Internal error in GeneratePMCFG:" 4 msg
+ completeMsg =
+ unlines [originalMsg
+ ,""
+ ,"1) Check that you are not trying to pattern match a /runtime string/."
+ ," These are illegal:"
+ ," lin Test foo = case foo.s of {"
+ ," \"str\" => … } ; <- explicit matching argument of a lin"
+ ," lin Test foo = opThatMatches foo <- calling an oper that pattern matches"
+ ,""
+ ,"2) Not about pattern matching? Submit a bug report and we update the error message."
+ ," https://github.com/GrammaticalFramework/gf-core/issues"
+ ]
ppU = ppTerm Unqualified