diff options
author | Alan Zimmerman <alan.zimm@gmail.com> | 2015-11-01 10:18:25 +0100 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2015-11-01 10:18:37 +0100 |
commit | c3b02150b516963422ed4b9b200a38814a35b535 (patch) | |
tree | 769cc5b7982ab077bf580a5db8e29acb80300df4 | |
parent | 31bcf9b62ceaed98bdd3b7605e68d315bcff0c8a (diff) | |
download | haskell-c3b02150b516963422ed4b9b200a38814a35b535.tar.gz |
Provide a utility to check API Annotations docs
A utility to check API Annotations was provided in
https://git.haskell.org/ghc.git/commitdiff/43751b2436f370d956d8021b3cdd3
eb77801470b
This commit had poor documentation.
This patch improves the output generated by the utility as well as
supplying better documentation
Test Plan: ./validate
Reviewers: simonpj, austin, bgamari
Reviewed By: austin, bgamari
Subscribers: thomie, mpickering
Differential Revision: https://phabricator.haskell.org/D1397
GHC Trac Issues: #10917
19 files changed, 974 insertions, 1710 deletions
diff --git a/compiler/parser/Parser.y b/compiler/parser/Parser.y index d9da3c8a90..67d2adeb64 100644 --- a/compiler/parser/Parser.y +++ b/compiler/parser/Parser.y @@ -312,6 +312,11 @@ See https://ghc.haskell.org/trac/ghc/wiki/GhcAstAnnotations for some background. +If you modify the parser and want to ensure that the API annotations are processed +correctly, see the README in (REPO)/utils/check-api-annotations for details on +how to set up a test using the check-api-annotations utility, and interpret the +output it generates. + -- ----------------------------------------------------------------------------- -} diff --git a/testsuite/tests/ghc-api/annotations/Makefile b/testsuite/tests/ghc-api/annotations/Makefile index 7ccb2a8c71..d1819af884 100644 --- a/testsuite/tests/ghc-api/annotations/Makefile +++ b/testsuite/tests/ghc-api/annotations/Makefile @@ -62,7 +62,8 @@ T10280: .PHONY: T10269 T10269: - $(CHECK_API_ANNOTATIONS) "`'$(TEST_HC)' $(TEST_HC_OPTS) --print-libdir | tr -d '\r'`" Test10269 + # Ignore result code, we have an unattached (superfluous) AnnVal + - $(CHECK_API_ANNOTATIONS) "`'$(TEST_HC)' $(TEST_HC_OPTS) --print-libdir | tr -d '\r'`" Test10269 .PHONY: T10312 T10312: diff --git a/testsuite/tests/ghc-api/annotations/T10255.stdout b/testsuite/tests/ghc-api/annotations/T10255.stdout index 47318bdee6..494136d48c 100644 --- a/testsuite/tests/ghc-api/annotations/T10255.stdout +++ b/testsuite/tests/ghc-api/annotations/T10255.stdout @@ -1,40 +1,23 @@ ----Problems--------------------- +---Problems (should be empty list)--- +[] +---Annotations----------------------- +-- SrcSpan the annotation is attached to, AnnKeywordId, +-- list of locations the keyword item appears in [ -(AK <no location info> AnnEofPos = [Test10255.hs:8:1]) -] - ----Problems'-------------------- -[(AnnEofPos, Test10255.hs:8:1)] --------------------------------- -[ -(AK Test10255.hs:1:1 AnnModule = [Test10255.hs:2:1-6]) - -(AK Test10255.hs:1:1 AnnWhere = [Test10255.hs:2:18-22]) - -(AK Test10255.hs:4:1-17 AnnImport = [Test10255.hs:4:1-6]) - -(AK Test10255.hs:4:1-17 AnnSemi = [Test10255.hs:6:1]) - -(AK Test10255.hs:(6,1)-(7,11) AnnEqual = [Test10255.hs:6:29]) - -(AK Test10255.hs:(6,1)-(7,11) AnnFunId = [Test10255.hs:6:1-3]) - -(AK Test10255.hs:(6,1)-(7,11) AnnSemi = [Test10255.hs:8:1]) - -(AK Test10255.hs:6:5-27 AnnCloseP = [Test10255.hs:6:27]) - -(AK Test10255.hs:6:5-27 AnnOpenP = [Test10255.hs:6:5]) - -(AK Test10255.hs:6:6-26 AnnDcolon = [Test10255.hs:6:8-9]) - -(AK Test10255.hs:6:11-26 AnnCloseP = [Test10255.hs:6:26]) - -(AK Test10255.hs:6:11-26 AnnOpenP = [Test10255.hs:6:11]) - -(AK Test10255.hs:6:12-18 AnnRarrow = [Test10255.hs:6:20-21]) - -(AK Test10255.hs:6:12-25 AnnRarrow = [Test10255.hs:6:20-21]) - -(AK <no location info> AnnEofPos = [Test10255.hs:8:1]) +((Test10255.hs:1:1,AnnModule), [Test10255.hs:2:1-6]), +((Test10255.hs:1:1,AnnWhere), [Test10255.hs:2:18-22]), +((Test10255.hs:4:1-17,AnnImport), [Test10255.hs:4:1-6]), +((Test10255.hs:4:1-17,AnnSemi), [Test10255.hs:6:1]), +((Test10255.hs:(6,1)-(7,11),AnnEqual), [Test10255.hs:6:29]), +((Test10255.hs:(6,1)-(7,11),AnnFunId), [Test10255.hs:6:1-3]), +((Test10255.hs:(6,1)-(7,11),AnnSemi), [Test10255.hs:8:1]), +((Test10255.hs:6:5-27,AnnCloseP), [Test10255.hs:6:27]), +((Test10255.hs:6:5-27,AnnOpenP), [Test10255.hs:6:5]), +((Test10255.hs:6:6-26,AnnDcolon), [Test10255.hs:6:8-9]), +((Test10255.hs:6:11-26,AnnCloseP), [Test10255.hs:6:26]), +((Test10255.hs:6:11-26,AnnOpenP), [Test10255.hs:6:11]), +((Test10255.hs:6:12-18,AnnRarrow), [Test10255.hs:6:20-21]), +((Test10255.hs:6:12-25,AnnRarrow), [Test10255.hs:6:20-21]), +((<no location info>,AnnEofPos), [Test10255.hs:8:1]) ] diff --git a/testsuite/tests/ghc-api/annotations/T10268.stdout b/testsuite/tests/ghc-api/annotations/T10268.stdout index 8c77efd472..78337330cb 100644 --- a/testsuite/tests/ghc-api/annotations/T10268.stdout +++ b/testsuite/tests/ghc-api/annotations/T10268.stdout @@ -1,57 +1,32 @@ ----Problems--------------------- -[ -] - ----Problems'-------------------- +---Problems (should be empty list)--- [] --------------------------------- +---Annotations----------------------- +-- SrcSpan the annotation is attached to, AnnKeywordId, +-- list of locations the keyword item appears in [ -(AK Test10268.hs:1:1 AnnModule = [Test10268.hs:3:1-6]) - -(AK Test10268.hs:1:1 AnnWhere = [Test10268.hs:3:18-22]) - -(AK Test10268.hs:5:1-17 AnnEqual = [Test10268.hs:5:4]) - -(AK Test10268.hs:5:1-17 AnnFunId = [Test10268.hs:5:1-2]) - -(AK Test10268.hs:5:1-17 AnnSemi = [Test10268.hs:7:1]) - -(AK Test10268.hs:5:6-17 AnnThIdSplice = [Test10268.hs:5:6-17]) - -(AK Test10268.hs:7:1-27 AnnDcolon = [Test10268.hs:7:6-7]) - -(AK Test10268.hs:7:1-27 AnnSemi = [Test10268.hs:8:1]) - -(AK Test10268.hs:7:9-27 AnnRarrow = [Test10268.hs:7:11-12]) - -(AK Test10268.hs:7:22-25 AnnCloseS = [Test10268.hs:7:25]) - -(AK Test10268.hs:7:22-25 AnnOpenS = [Test10268.hs:7:23]) - -(AK Test10268.hs:7:22-25 AnnSimpleQuote = [Test10268.hs:7:22]) - -(AK Test10268.hs:8:1-16 AnnEqual = [Test10268.hs:8:6]) - -(AK Test10268.hs:8:1-16 AnnFunId = [Test10268.hs:8:1-4]) - -(AK Test10268.hs:8:1-16 AnnSemi = [Test10268.hs:10:1]) - -(AK Test10268.hs:10:1-22 AnnDcolon = [Test10268.hs:10:7-8]) - -(AK Test10268.hs:10:1-22 AnnSemi = [Test10268.hs:11:1]) - -(AK Test10268.hs:10:18-20 AnnCloseS = [Test10268.hs:10:20]) - -(AK Test10268.hs:10:18-20 AnnOpenS = [Test10268.hs:10:19]) - -(AK Test10268.hs:10:18-20 AnnSimpleQuote = [Test10268.hs:10:18]) - -(AK Test10268.hs:11:1-17 AnnEqual = [Test10268.hs:11:7]) - -(AK Test10268.hs:11:1-17 AnnFunId = [Test10268.hs:11:1-5]) - -(AK Test10268.hs:11:1-17 AnnSemi = [Test10268.hs:12:1]) - -(AK <no location info> AnnEofPos = [Test10268.hs:12:1]) +((Test10268.hs:1:1,AnnModule), [Test10268.hs:3:1-6]), +((Test10268.hs:1:1,AnnWhere), [Test10268.hs:3:18-22]), +((Test10268.hs:5:1-17,AnnEqual), [Test10268.hs:5:4]), +((Test10268.hs:5:1-17,AnnFunId), [Test10268.hs:5:1-2]), +((Test10268.hs:5:1-17,AnnSemi), [Test10268.hs:7:1]), +((Test10268.hs:5:6-17,AnnThIdSplice), [Test10268.hs:5:6-17]), +((Test10268.hs:7:1-27,AnnDcolon), [Test10268.hs:7:6-7]), +((Test10268.hs:7:1-27,AnnSemi), [Test10268.hs:8:1]), +((Test10268.hs:7:9-27,AnnRarrow), [Test10268.hs:7:11-12]), +((Test10268.hs:7:22-25,AnnCloseS), [Test10268.hs:7:25]), +((Test10268.hs:7:22-25,AnnOpenS), [Test10268.hs:7:23]), +((Test10268.hs:7:22-25,AnnSimpleQuote), [Test10268.hs:7:22]), +((Test10268.hs:8:1-16,AnnEqual), [Test10268.hs:8:6]), +((Test10268.hs:8:1-16,AnnFunId), [Test10268.hs:8:1-4]), +((Test10268.hs:8:1-16,AnnSemi), [Test10268.hs:10:1]), +((Test10268.hs:10:1-22,AnnDcolon), [Test10268.hs:10:7-8]), +((Test10268.hs:10:1-22,AnnSemi), [Test10268.hs:11:1]), +((Test10268.hs:10:18-20,AnnCloseS), [Test10268.hs:10:20]), +((Test10268.hs:10:18-20,AnnOpenS), [Test10268.hs:10:19]), +((Test10268.hs:10:18-20,AnnSimpleQuote), [Test10268.hs:10:18]), +((Test10268.hs:11:1-17,AnnEqual), [Test10268.hs:11:7]), +((Test10268.hs:11:1-17,AnnFunId), [Test10268.hs:11:1-5]), +((Test10268.hs:11:1-17,AnnSemi), [Test10268.hs:12:1]), +((<no location info>,AnnEofPos), [Test10268.hs:12:1]) ] diff --git a/testsuite/tests/ghc-api/annotations/T10269.stdout b/testsuite/tests/ghc-api/annotations/T10269.stdout index 199504a860..679ac6d887 100644 --- a/testsuite/tests/ghc-api/annotations/T10269.stdout +++ b/testsuite/tests/ghc-api/annotations/T10269.stdout @@ -1,38 +1,19 @@ ----Problems--------------------- +---Problems (should be empty list)--- +[(AnnVal, Test10269.hs:4:4-6)] +---Annotations----------------------- +-- SrcSpan the annotation is attached to, AnnKeywordId, +-- list of locations the keyword item appears in [ -(AK Test10269.hs:4:1-9 AnnCloseP = [Test10269.hs:4:9]) - -(AK Test10269.hs:4:1-9 AnnOpenP = [Test10269.hs:4:1]) - -(AK Test10269.hs:4:2-8 AnnVal = [Test10269.hs:4:4-6]) - -(AK <no location info> AnnEofPos = [Test10269.hs:5:1]) -] - ----Problems'-------------------- -[(AnnVal, Test10269.hs:4:4-6), (AnnEofPos, Test10269.hs:5:1)] --------------------------------- -[ -(AK Test10269.hs:1:1 AnnModule = [Test10269.hs:1:1-6]) - -(AK Test10269.hs:1:1 AnnWhere = [Test10269.hs:1:18-22]) - -(AK Test10269.hs:4:1-9 AnnCloseP = [Test10269.hs:4:9]) - -(AK Test10269.hs:4:1-9 AnnOpenP = [Test10269.hs:4:1]) - -(AK Test10269.hs:4:1-26 AnnCloseP = [Test10269.hs:4:9]) - -(AK Test10269.hs:4:1-26 AnnEqual = [Test10269.hs:4:16]) - -(AK Test10269.hs:4:1-26 AnnFunId = [Test10269.hs:4:4-6]) - -(AK Test10269.hs:4:1-26 AnnOpenP = [Test10269.hs:4:1]) - -(AK Test10269.hs:4:1-26 AnnSemi = [Test10269.hs:5:1]) - -(AK Test10269.hs:4:2-8 AnnVal = [Test10269.hs:4:4-6]) - -(AK <no location info> AnnEofPos = [Test10269.hs:5:1]) +((Test10269.hs:1:1,AnnModule), [Test10269.hs:1:1-6]), +((Test10269.hs:1:1,AnnWhere), [Test10269.hs:1:18-22]), +((Test10269.hs:4:1-9,AnnCloseP), [Test10269.hs:4:9]), +((Test10269.hs:4:1-9,AnnOpenP), [Test10269.hs:4:1]), +((Test10269.hs:4:1-26,AnnCloseP), [Test10269.hs:4:9]), +((Test10269.hs:4:1-26,AnnEqual), [Test10269.hs:4:16]), +((Test10269.hs:4:1-26,AnnFunId), [Test10269.hs:4:4-6]), +((Test10269.hs:4:1-26,AnnOpenP), [Test10269.hs:4:1]), +((Test10269.hs:4:1-26,AnnSemi), [Test10269.hs:5:1]), +((Test10269.hs:4:2-8,AnnVal), [Test10269.hs:4:4-6]), +((<no location info>,AnnEofPos), [Test10269.hs:5:1]) ] diff --git a/testsuite/tests/ghc-api/annotations/T10278.stdout b/testsuite/tests/ghc-api/annotations/T10278.stdout index 4c10d26aca..46767575b1 100644 --- a/testsuite/tests/ghc-api/annotations/T10278.stdout +++ b/testsuite/tests/ghc-api/annotations/T10278.stdout @@ -1,171 +1,89 @@ ----Problems--------------------- -[ -] - ----Problems'-------------------- +---Problems (should be empty list)--- [] --------------------------------- +---Annotations----------------------- +-- SrcSpan the annotation is attached to, AnnKeywordId, +-- list of locations the keyword item appears in [ -(AK Test10278.hs:1:1 AnnModule = [Test10278.hs:2:1-6]) - -(AK Test10278.hs:1:1 AnnWhere = [Test10278.hs:2:18-22]) - -(AK Test10278.hs:4:1-61 AnnDcolon = [Test10278.hs:4:16-17]) - -(AK Test10278.hs:4:1-61 AnnSemi = [Test10278.hs:5:1]) - -(AK Test10278.hs:4:19-61 AnnDot = [Test10278.hs:4:29]) - -(AK Test10278.hs:4:19-61 AnnForall = [Test10278.hs:4:19-24]) - -(AK Test10278.hs:4:31-61 AnnDot = [Test10278.hs:4:42]) - -(AK Test10278.hs:4:31-61 AnnForall = [Test10278.hs:4:31-36]) - -(AK Test10278.hs:4:44-61 AnnRarrow = [Test10278.hs:4:48-49]) - -(AK Test10278.hs:4:51-61 AnnRarrow = [Test10278.hs:4:56-57]) - -(AK Test10278.hs:5:1-26 AnnEqual = [Test10278.hs:5:16]) - -(AK Test10278.hs:5:1-26 AnnFunId = [Test10278.hs:5:1-14]) - -(AK Test10278.hs:5:1-26 AnnSemi = [Test10278.hs:7:1]) - -(AK Test10278.hs:(7,1)-(11,33) AnnDcolon = [Test10278.hs:7:17-18]) - -(AK Test10278.hs:(7,1)-(11,33) AnnSemi = [Test10278.hs:12:1]) - -(AK Test10278.hs:7:20-39 AnnCloseP = [Test10278.hs:7:39, Test10278.hs:7:39]) - -(AK Test10278.hs:7:20-39 AnnDarrow = [Test10278.hs:7:41-42]) - -(AK Test10278.hs:7:20-39 AnnOpenP = [Test10278.hs:7:20, Test10278.hs:7:20]) - -(AK Test10278.hs:7:21-24 AnnComma = [Test10278.hs:7:25]) - -(AK Test10278.hs:(8,19)-(10,58) AnnCloseP = [Test10278.hs:10:58]) - -(AK Test10278.hs:(8,19)-(10,58) AnnOpenP = [Test10278.hs:8:19]) - -(AK Test10278.hs:(8,19)-(11,33) AnnRarrow = [Test10278.hs:11:23-24]) - -(AK Test10278.hs:(8,20)-(10,57) AnnDot = [Test10278.hs:8:30]) - -(AK Test10278.hs:(8,20)-(10,57) AnnForall = [Test10278.hs:8:20-25]) - -(AK Test10278.hs:(8,32)-(10,57) AnnDot = [Test10278.hs:8:43]) - -(AK Test10278.hs:(8,32)-(10,57) AnnForall = [Test10278.hs:8:32-37]) - -(AK Test10278.hs:9:27-50 AnnRarrow = [Test10278.hs:10:31-32]) - -(AK Test10278.hs:(9,27)-(10,57) AnnRarrow = [Test10278.hs:10:31-32]) - -(AK Test10278.hs:9:38-50 AnnCloseP = [Test10278.hs:9:50]) - -(AK Test10278.hs:9:38-50 AnnOpenP = [Test10278.hs:9:38]) - -(AK Test10278.hs:10:45-57 AnnCloseP = [Test10278.hs:10:57]) - -(AK Test10278.hs:10:45-57 AnnOpenP = [Test10278.hs:10:45]) - -(AK Test10278.hs:11:26-33 AnnRarrow = [Test10278.hs:11:28-29]) - -(AK Test10278.hs:11:31-33 AnnCloseS = [Test10278.hs:11:33]) - -(AK Test10278.hs:11:31-33 AnnOpenS = [Test10278.hs:11:31]) - -(AK Test10278.hs:12:1-47 AnnEqual = [Test10278.hs:12:22]) - -(AK Test10278.hs:12:1-47 AnnFunId = [Test10278.hs:12:1-15]) - -(AK Test10278.hs:12:1-47 AnnSemi = [Test10278.hs:14:1]) - -(AK Test10278.hs:12:35-44 AnnCloseP = [Test10278.hs:12:44]) - -(AK Test10278.hs:12:35-44 AnnOpenP = [Test10278.hs:12:35]) - -(AK Test10278.hs:(14,1)-(17,80) AnnData = [Test10278.hs:14:1-4]) - -(AK Test10278.hs:(14,1)-(17,80) AnnSemi = [Test10278.hs:21:1]) - -(AK Test10278.hs:(14,1)-(17,80) AnnWhere = [Test10278.hs:14:21-25]) - -(AK Test10278.hs:15:5-64 AnnDcolon = [Test10278.hs:15:11-12]) - -(AK Test10278.hs:15:5-64 AnnSemi = [Test10278.hs:16:5]) - -(AK Test10278.hs:15:14-64 AnnDot = [Test10278.hs:15:23]) - -(AK Test10278.hs:15:14-64 AnnForall = [Test10278.hs:15:14-19]) - -(AK Test10278.hs:15:25-40 AnnCloseP = [Test10278.hs:15:40, Test10278.hs:15:40]) - -(AK Test10278.hs:15:25-40 AnnDarrow = [Test10278.hs:15:42-43]) - -(AK Test10278.hs:15:25-40 AnnOpenP = [Test10278.hs:15:25, Test10278.hs:15:25]) - -(AK Test10278.hs:15:27-30 AnnComma = [Test10278.hs:15:31]) - -(AK Test10278.hs:15:45-46 AnnBang = [Test10278.hs:15:45]) - -(AK Test10278.hs:15:45-46 AnnRarrow = [Test10278.hs:15:48-49]) - -(AK Test10278.hs:15:45-64 AnnRarrow = [Test10278.hs:15:48-49]) - -(AK Test10278.hs:16:5-64 AnnDcolon = [Test10278.hs:16:11-12]) - -(AK Test10278.hs:16:5-64 AnnSemi = [Test10278.hs:17:5]) - -(AK Test10278.hs:16:14-64 AnnDot = [Test10278.hs:16:23]) - -(AK Test10278.hs:16:14-64 AnnForall = [Test10278.hs:16:14-19]) - -(AK Test10278.hs:16:25-40 AnnCloseP = [Test10278.hs:16:40, Test10278.hs:16:40]) - -(AK Test10278.hs:16:25-40 AnnDarrow = [Test10278.hs:16:42-43]) - -(AK Test10278.hs:16:25-40 AnnOpenP = [Test10278.hs:16:25, Test10278.hs:16:25]) - -(AK Test10278.hs:16:27-30 AnnComma = [Test10278.hs:16:31]) - -(AK Test10278.hs:16:45-46 AnnBang = [Test10278.hs:16:45]) - -(AK Test10278.hs:16:45-46 AnnRarrow = [Test10278.hs:16:48-49]) - -(AK Test10278.hs:16:45-64 AnnRarrow = [Test10278.hs:16:48-49]) - -(AK Test10278.hs:17:5-80 AnnDcolon = [Test10278.hs:17:12-13]) - -(AK Test10278.hs:17:15-20 AnnCloseP = [Test10278.hs:17:20]) - -(AK Test10278.hs:17:15-20 AnnDarrow = [Test10278.hs:17:22-23]) - -(AK Test10278.hs:17:15-20 AnnOpenP = [Test10278.hs:17:15]) - -(AK Test10278.hs:17:25-80 AnnDot = [Test10278.hs:17:34]) - -(AK Test10278.hs:17:25-80 AnnForall = [Test10278.hs:17:25-30]) - -(AK Test10278.hs:17:36-51 AnnCloseP = [Test10278.hs:17:51, Test10278.hs:17:51]) - -(AK Test10278.hs:17:36-51 AnnDarrow = [Test10278.hs:17:53-54]) - -(AK Test10278.hs:17:36-51 AnnOpenP = [Test10278.hs:17:36, Test10278.hs:17:36]) - -(AK Test10278.hs:17:38-41 AnnComma = [Test10278.hs:17:42]) - -(AK Test10278.hs:17:56-57 AnnBang = [Test10278.hs:17:56]) - -(AK Test10278.hs:17:56-57 AnnRarrow = [Test10278.hs:17:59-60]) - -(AK Test10278.hs:17:56-80 AnnRarrow = [Test10278.hs:17:59-60]) - -(AK Test10278.hs:17:62 AnnRarrow = [Test10278.hs:17:64-65]) - -(AK Test10278.hs:17:62-80 AnnRarrow = [Test10278.hs:17:64-65]) - -(AK <no location info> AnnEofPos = [Test10278.hs:21:1]) +((Test10278.hs:1:1,AnnModule), [Test10278.hs:2:1-6]), +((Test10278.hs:1:1,AnnWhere), [Test10278.hs:2:18-22]), +((Test10278.hs:4:1-61,AnnDcolon), [Test10278.hs:4:16-17]), +((Test10278.hs:4:1-61,AnnSemi), [Test10278.hs:5:1]), +((Test10278.hs:4:19-61,AnnDot), [Test10278.hs:4:29]), +((Test10278.hs:4:19-61,AnnForall), [Test10278.hs:4:19-24]), +((Test10278.hs:4:31-61,AnnDot), [Test10278.hs:4:42]), +((Test10278.hs:4:31-61,AnnForall), [Test10278.hs:4:31-36]), +((Test10278.hs:4:44-61,AnnRarrow), [Test10278.hs:4:48-49]), +((Test10278.hs:4:51-61,AnnRarrow), [Test10278.hs:4:56-57]), +((Test10278.hs:5:1-26,AnnEqual), [Test10278.hs:5:16]), +((Test10278.hs:5:1-26,AnnFunId), [Test10278.hs:5:1-14]), +((Test10278.hs:5:1-26,AnnSemi), [Test10278.hs:7:1]), +((Test10278.hs:(7,1)-(11,33),AnnDcolon), [Test10278.hs:7:17-18]), +((Test10278.hs:(7,1)-(11,33),AnnSemi), [Test10278.hs:12:1]), +((Test10278.hs:7:20-39,AnnCloseP), [Test10278.hs:7:39, Test10278.hs:7:39]), +((Test10278.hs:7:20-39,AnnDarrow), [Test10278.hs:7:41-42]), +((Test10278.hs:7:20-39,AnnOpenP), [Test10278.hs:7:20, Test10278.hs:7:20]), +((Test10278.hs:7:21-24,AnnComma), [Test10278.hs:7:25]), +((Test10278.hs:(8,19)-(10,58),AnnCloseP), [Test10278.hs:10:58]), +((Test10278.hs:(8,19)-(10,58),AnnOpenP), [Test10278.hs:8:19]), +((Test10278.hs:(8,19)-(11,33),AnnRarrow), [Test10278.hs:11:23-24]), +((Test10278.hs:(8,20)-(10,57),AnnDot), [Test10278.hs:8:30]), +((Test10278.hs:(8,20)-(10,57),AnnForall), [Test10278.hs:8:20-25]), +((Test10278.hs:(8,32)-(10,57),AnnDot), [Test10278.hs:8:43]), +((Test10278.hs:(8,32)-(10,57),AnnForall), [Test10278.hs:8:32-37]), +((Test10278.hs:9:27-50,AnnRarrow), [Test10278.hs:10:31-32]), +((Test10278.hs:(9,27)-(10,57),AnnRarrow), [Test10278.hs:10:31-32]), +((Test10278.hs:9:38-50,AnnCloseP), [Test10278.hs:9:50]), +((Test10278.hs:9:38-50,AnnOpenP), [Test10278.hs:9:38]), +((Test10278.hs:10:45-57,AnnCloseP), [Test10278.hs:10:57]), +((Test10278.hs:10:45-57,AnnOpenP), [Test10278.hs:10:45]), +((Test10278.hs:11:26-33,AnnRarrow), [Test10278.hs:11:28-29]), +((Test10278.hs:11:31-33,AnnCloseS), [Test10278.hs:11:33]), +((Test10278.hs:11:31-33,AnnOpenS), [Test10278.hs:11:31]), +((Test10278.hs:12:1-47,AnnEqual), [Test10278.hs:12:22]), +((Test10278.hs:12:1-47,AnnFunId), [Test10278.hs:12:1-15]), +((Test10278.hs:12:1-47,AnnSemi), [Test10278.hs:14:1]), +((Test10278.hs:12:35-44,AnnCloseP), [Test10278.hs:12:44]), +((Test10278.hs:12:35-44,AnnOpenP), [Test10278.hs:12:35]), +((Test10278.hs:(14,1)-(17,80),AnnData), [Test10278.hs:14:1-4]), +((Test10278.hs:(14,1)-(17,80),AnnSemi), [Test10278.hs:21:1]), +((Test10278.hs:(14,1)-(17,80),AnnWhere), [Test10278.hs:14:21-25]), +((Test10278.hs:15:5-64,AnnDcolon), [Test10278.hs:15:11-12]), +((Test10278.hs:15:5-64,AnnSemi), [Test10278.hs:16:5]), +((Test10278.hs:15:14-64,AnnDot), [Test10278.hs:15:23]), +((Test10278.hs:15:14-64,AnnForall), [Test10278.hs:15:14-19]), +((Test10278.hs:15:25-40,AnnCloseP), [Test10278.hs:15:40, Test10278.hs:15:40]), +((Test10278.hs:15:25-40,AnnDarrow), [Test10278.hs:15:42-43]), +((Test10278.hs:15:25-40,AnnOpenP), [Test10278.hs:15:25, Test10278.hs:15:25]), +((Test10278.hs:15:27-30,AnnComma), [Test10278.hs:15:31]), +((Test10278.hs:15:45-46,AnnBang), [Test10278.hs:15:45]), +((Test10278.hs:15:45-46,AnnRarrow), [Test10278.hs:15:48-49]), +((Test10278.hs:15:45-64,AnnRarrow), [Test10278.hs:15:48-49]), +((Test10278.hs:16:5-64,AnnDcolon), [Test10278.hs:16:11-12]), +((Test10278.hs:16:5-64,AnnSemi), [Test10278.hs:17:5]), +((Test10278.hs:16:14-64,AnnDot), [Test10278.hs:16:23]), +((Test10278.hs:16:14-64,AnnForall), [Test10278.hs:16:14-19]), +((Test10278.hs:16:25-40,AnnCloseP), [Test10278.hs:16:40, Test10278.hs:16:40]), +((Test10278.hs:16:25-40,AnnDarrow), [Test10278.hs:16:42-43]), +((Test10278.hs:16:25-40,AnnOpenP), [Test10278.hs:16:25, Test10278.hs:16:25]), +((Test10278.hs:16:27-30,AnnComma), [Test10278.hs:16:31]), +((Test10278.hs:16:45-46,AnnBang), [Test10278.hs:16:45]), +((Test10278.hs:16:45-46,AnnRarrow), [Test10278.hs:16:48-49]), +((Test10278.hs:16:45-64,AnnRarrow), [Test10278.hs:16:48-49]), +((Test10278.hs:17:5-80,AnnDcolon), [Test10278.hs:17:12-13]), +((Test10278.hs:17:15-20,AnnCloseP), [Test10278.hs:17:20]), +((Test10278.hs:17:15-20,AnnDarrow), [Test10278.hs:17:22-23]), +((Test10278.hs:17:15-20,AnnOpenP), [Test10278.hs:17:15]), +((Test10278.hs:17:25-80,AnnDot), [Test10278.hs:17:34]), +((Test10278.hs:17:25-80,AnnForall), [Test10278.hs:17:25-30]), +((Test10278.hs:17:36-51,AnnCloseP), [Test10278.hs:17:51, Test10278.hs:17:51]), +((Test10278.hs:17:36-51,AnnDarrow), [Test10278.hs:17:53-54]), +((Test10278.hs:17:36-51,AnnOpenP), [Test10278.hs:17:36, Test10278.hs:17:36]), +((Test10278.hs:17:38-41,AnnComma), [Test10278.hs:17:42]), +((Test10278.hs:17:56-57,AnnBang), [Test10278.hs:17:56]), +((Test10278.hs:17:56-57,AnnRarrow), [Test10278.hs:17:59-60]), +((Test10278.hs:17:56-80,AnnRarrow), [Test10278.hs:17:59-60]), +((Test10278.hs:17:62,AnnRarrow), [Test10278.hs:17:64-65]), +((Test10278.hs:17:62-80,AnnRarrow), [Test10278.hs:17:64-65]), +((<no location info>,AnnEofPos), [Test10278.hs:21:1]) ] diff --git a/testsuite/tests/ghc-api/annotations/T10280.stdout b/testsuite/tests/ghc-api/annotations/T10280.stdout index 2258d48966..559e6f65c0 100644 --- a/testsuite/tests/ghc-api/annotations/T10280.stdout +++ b/testsuite/tests/ghc-api/annotations/T10280.stdout @@ -1,38 +1,22 @@ ----Problems--------------------- +---Problems (should be empty list)--- +[] +---Annotations----------------------- +-- SrcSpan the annotation is attached to, AnnKeywordId, +-- list of locations the keyword item appears in [ -(AK <no location info> AnnEofPos = [Test10280.hs:5:1]) -] - ----Problems'-------------------- -[(AnnEofPos, Test10280.hs:5:1)] --------------------------------- -[ -(AK Test10280.hs:1:1 AnnModule = [Test10280.hs:2:1-6]) - -(AK Test10280.hs:1:1 AnnWhere = [Test10280.hs:2:18-22]) - -(AK Test10280.hs:4:1-45 AnnEqual = [Test10280.hs:4:6]) - -(AK Test10280.hs:4:1-45 AnnFunId = [Test10280.hs:4:1-4]) - -(AK Test10280.hs:4:1-45 AnnSemi = [Test10280.hs:5:1]) - -(AK Test10280.hs:4:35-45 AnnCloseP = [Test10280.hs:4:45]) - -(AK Test10280.hs:4:35-45 AnnOpenP = [Test10280.hs:4:35]) - -(AK Test10280.hs:4:36-40 AnnCloseP = [Test10280.hs:4:40]) - -(AK Test10280.hs:4:36-40 AnnOpenP = [Test10280.hs:4:36]) - -(AK Test10280.hs:4:36-44 AnnVal = [Test10280.hs:4:42]) - -(AK Test10280.hs:4:37 AnnComma = [Test10280.hs:4:37]) - -(AK Test10280.hs:4:38-39 AnnCloseP = [Test10280.hs:4:39]) - -(AK Test10280.hs:4:38-39 AnnOpenP = [Test10280.hs:4:38]) - -(AK <no location info> AnnEofPos = [Test10280.hs:5:1]) +((Test10280.hs:1:1,AnnModule), [Test10280.hs:2:1-6]), +((Test10280.hs:1:1,AnnWhere), [Test10280.hs:2:18-22]), +((Test10280.hs:4:1-45,AnnEqual), [Test10280.hs:4:6]), +((Test10280.hs:4:1-45,AnnFunId), [Test10280.hs:4:1-4]), +((Test10280.hs:4:1-45,AnnSemi), [Test10280.hs:5:1]), +((Test10280.hs:4:35-45,AnnCloseP), [Test10280.hs:4:45]), +((Test10280.hs:4:35-45,AnnOpenP), [Test10280.hs:4:35]), +((Test10280.hs:4:36-40,AnnCloseP), [Test10280.hs:4:40]), +((Test10280.hs:4:36-40,AnnOpenP), [Test10280.hs:4:36]), +((Test10280.hs:4:36-44,AnnVal), [Test10280.hs:4:42]), +((Test10280.hs:4:37,AnnComma), [Test10280.hs:4:37]), +((Test10280.hs:4:38-39,AnnCloseP), [Test10280.hs:4:39]), +((Test10280.hs:4:38-39,AnnOpenP), [Test10280.hs:4:38]), +((<no location info>,AnnEofPos), [Test10280.hs:5:1]) ] diff --git a/testsuite/tests/ghc-api/annotations/T10307.stdout b/testsuite/tests/ghc-api/annotations/T10307.stdout index 891fcb2e94..48cbca6cd0 100644 --- a/testsuite/tests/ghc-api/annotations/T10307.stdout +++ b/testsuite/tests/ghc-api/annotations/T10307.stdout @@ -1,38 +1,22 @@ ----Problems--------------------- -[ -(AK Test10307.hs:6:8-34 AnnEqual = [Test10307.hs:6:31]) -] - ----Problems'-------------------- +---Problems (should be empty list)--- [] --------------------------------- +---Annotations----------------------- +-- SrcSpan the annotation is attached to, AnnKeywordId, +-- list of locations the keyword item appears in [ -(AK Test10307.hs:1:1 AnnModule = [Test10307.hs:2:1-6]) - -(AK Test10307.hs:1:1 AnnWhere = [Test10307.hs:2:18-22]) - -(AK Test10307.hs:(4,1)-(6,34) AnnClass = [Test10307.hs:4:1-5]) - -(AK Test10307.hs:(4,1)-(6,34) AnnSemi = [Test10307.hs:7:1]) - -(AK Test10307.hs:(4,1)-(6,34) AnnWhere = [Test10307.hs:4:18-22]) - -(AK Test10307.hs:5:3-34 AnnDcolon = [Test10307.hs:5:31-32]) - -(AK Test10307.hs:5:3-34 AnnSemi = [Test10307.hs:6:3]) - -(AK Test10307.hs:5:3-34 AnnType = [Test10307.hs:5:3-6]) - -(AK Test10307.hs:6:3-34 AnnEqual = [Test10307.hs:6:31]) - -(AK Test10307.hs:6:3-34 AnnType = [Test10307.hs:6:3-6]) - -(AK Test10307.hs:6:8-34 AnnEqual = [Test10307.hs:6:31]) - -(AK Test10307.hs:6:33-34 AnnCloseP = [Test10307.hs:6:34]) - -(AK Test10307.hs:6:33-34 AnnOpenP = [Test10307.hs:6:33]) - -(AK <no location info> AnnEofPos = [Test10307.hs:7:1]) +((Test10307.hs:1:1,AnnModule), [Test10307.hs:2:1-6]), +((Test10307.hs:1:1,AnnWhere), [Test10307.hs:2:18-22]), +((Test10307.hs:(4,1)-(6,34),AnnClass), [Test10307.hs:4:1-5]), +((Test10307.hs:(4,1)-(6,34),AnnSemi), [Test10307.hs:7:1]), +((Test10307.hs:(4,1)-(6,34),AnnWhere), [Test10307.hs:4:18-22]), +((Test10307.hs:5:3-34,AnnDcolon), [Test10307.hs:5:31-32]), +((Test10307.hs:5:3-34,AnnSemi), [Test10307.hs:6:3]), +((Test10307.hs:5:3-34,AnnType), [Test10307.hs:5:3-6]), +((Test10307.hs:6:3-34,AnnEqual), [Test10307.hs:6:31]), +((Test10307.hs:6:3-34,AnnType), [Test10307.hs:6:3-6]), +((Test10307.hs:6:8-34,AnnEqual), [Test10307.hs:6:31]), +((Test10307.hs:6:33-34,AnnCloseP), [Test10307.hs:6:34]), +((Test10307.hs:6:33-34,AnnOpenP), [Test10307.hs:6:33]), +((<no location info>,AnnEofPos), [Test10307.hs:7:1]) ] diff --git a/testsuite/tests/ghc-api/annotations/T10309.stdout b/testsuite/tests/ghc-api/annotations/T10309.stdout index 8e2e495d03..6f77d83b7a 100644 --- a/testsuite/tests/ghc-api/annotations/T10309.stdout +++ b/testsuite/tests/ghc-api/annotations/T10309.stdout @@ -1,40 +1,23 @@ ----Problems--------------------- -[ -(AK Test10309.hs:(5,20)-(6,34) AnnRarrow = [Test10309.hs:6:22-23]) -] - ----Problems'-------------------- +---Problems (should be empty list)--- [] --------------------------------- +---Annotations----------------------- +-- SrcSpan the annotation is attached to, AnnKeywordId, +-- list of locations the keyword item appears in [ -(AK Test10309.hs:1:1 AnnModule = [Test10309.hs:2:1-6]) - -(AK Test10309.hs:1:1 AnnWhere = [Test10309.hs:2:18-22]) - -(AK Test10309.hs:(4,1)-(6,34) AnnData = [Test10309.hs:4:1-4]) - -(AK Test10309.hs:(4,1)-(6,34) AnnSemi = [Test10309.hs:7:1]) - -(AK Test10309.hs:(4,1)-(6,34) AnnWhere = [Test10309.hs:4:13-17]) - -(AK Test10309.hs:(5,3)-(6,34) AnnDcolon = [Test10309.hs:5:6-7]) - -(AK Test10309.hs:5:9-15 AnnCloseP = [Test10309.hs:5:15]) - -(AK Test10309.hs:5:9-15 AnnDarrow = [Test10309.hs:5:17-18]) - -(AK Test10309.hs:5:9-15 AnnOpenP = [Test10309.hs:5:9]) - -(AK Test10309.hs:(5,20)-(6,20) AnnCloseC = [Test10309.hs:6:20]) - -(AK Test10309.hs:(5,20)-(6,20) AnnOpenC = [Test10309.hs:5:20]) - -(AK Test10309.hs:(5,20)-(6,20) AnnRarrow = [Test10309.hs:6:22-23]) - -(AK Test10309.hs:(5,20)-(6,34) AnnRarrow = [Test10309.hs:6:22-23]) - -(AK Test10309.hs:5:22-31 AnnDcolon = [Test10309.hs:5:28-29]) - -(AK <no location info> AnnEofPos = [Test10309.hs:7:1]) +((Test10309.hs:1:1,AnnModule), [Test10309.hs:2:1-6]), +((Test10309.hs:1:1,AnnWhere), [Test10309.hs:2:18-22]), +((Test10309.hs:(4,1)-(6,34),AnnData), [Test10309.hs:4:1-4]), +((Test10309.hs:(4,1)-(6,34),AnnSemi), [Test10309.hs:7:1]), +((Test10309.hs:(4,1)-(6,34),AnnWhere), [Test10309.hs:4:13-17]), +((Test10309.hs:(5,3)-(6,34),AnnDcolon), [Test10309.hs:5:6-7]), +((Test10309.hs:5:9-15,AnnCloseP), [Test10309.hs:5:15]), +((Test10309.hs:5:9-15,AnnDarrow), [Test10309.hs:5:17-18]), +((Test10309.hs:5:9-15,AnnOpenP), [Test10309.hs:5:9]), +((Test10309.hs:(5,20)-(6,20),AnnCloseC), [Test10309.hs:6:20]), +((Test10309.hs:(5,20)-(6,20),AnnOpenC), [Test10309.hs:5:20]), +((Test10309.hs:(5,20)-(6,20),AnnRarrow), [Test10309.hs:6:22-23]), +((Test10309.hs:(5,20)-(6,34),AnnRarrow), [Test10309.hs:6:22-23]), +((Test10309.hs:5:22-31,AnnDcolon), [Test10309.hs:5:28-29]), +((<no location info>,AnnEofPos), [Test10309.hs:7:1]) ] diff --git a/testsuite/tests/ghc-api/annotations/T10312.stdout b/testsuite/tests/ghc-api/annotations/T10312.stdout index e6d22a6877..00f25444cc 100644 --- a/testsuite/tests/ghc-api/annotations/T10312.stdout +++ b/testsuite/tests/ghc-api/annotations/T10312.stdout @@ -1,489 +1,248 @@ ----Problems--------------------- -[ -] - ----Problems'-------------------- +---Problems (should be empty list)--- [] --------------------------------- +---Annotations----------------------- +-- SrcSpan the annotation is attached to, AnnKeywordId, +-- list of locations the keyword item appears in [ -(AK Test10312.hs:1:1 AnnModule = [Test10312.hs:4:1-6]) - -(AK Test10312.hs:1:1 AnnWhere = [Test10312.hs:4:18-22]) - -(AK Test10312.hs:8:1-15 AnnImport = [Test10312.hs:8:1-6]) - -(AK Test10312.hs:8:1-15 AnnSemi = [Test10312.hs:9:1]) - -(AK Test10312.hs:9:1-30 AnnAs = [Test10312.hs:9:27-28]) - -(AK Test10312.hs:9:1-30 AnnImport = [Test10312.hs:9:1-6]) - -(AK Test10312.hs:9:1-30 AnnQualified = [Test10312.hs:9:8-16]) - -(AK Test10312.hs:9:1-30 AnnSemi = [Test10312.hs:10:1]) - -(AK Test10312.hs:9:1-30 AnnVal = [Test10312.hs:9:30]) - -(AK Test10312.hs:10:1-27 AnnImport = [Test10312.hs:10:1-6]) - -(AK Test10312.hs:10:1-27 AnnSemi = [Test10312.hs:11:1]) - -(AK Test10312.hs:10:17-27 AnnCloseP = [Test10312.hs:10:27]) - -(AK Test10312.hs:10:17-27 AnnOpenP = [Test10312.hs:10:17]) - -(AK Test10312.hs:11:1-25 AnnImport = [Test10312.hs:11:1-6]) - -(AK Test10312.hs:11:1-25 AnnSemi = [Test10312.hs:15:1]) - -(AK Test10312.hs:11:18-25 AnnCloseP = [Test10312.hs:11:25]) - -(AK Test10312.hs:11:18-25 AnnOpenP = [Test10312.hs:11:18]) - -(AK Test10312.hs:15:1-24 AnnDcolon = [Test10312.hs:15:17-18]) - -(AK Test10312.hs:15:1-24 AnnSemi = [Test10312.hs:16:1]) - -(AK Test10312.hs:15:20-24 AnnCloseS = [Test10312.hs:15:24]) - -(AK Test10312.hs:15:20-24 AnnOpenS = [Test10312.hs:15:20]) - -(AK Test10312.hs:(16,1)-(20,19) AnnEqual = [Test10312.hs:16:17]) - -(AK Test10312.hs:(16,1)-(20,19) AnnFunId = [Test10312.hs:16:1-15]) - -(AK Test10312.hs:(16,1)-(20,19) AnnSemi = [Test10312.hs:22:1]) - -(AK Test10312.hs:(16,19)-(20,19) AnnCloseS = [Test10312.hs:20:19]) - -(AK Test10312.hs:(16,19)-(20,19) AnnOpenS = [Test10312.hs:16:19]) - -(AK Test10312.hs:(16,19)-(20,19) AnnVbar = [Test10312.hs:17:19]) - -(AK Test10312.hs:16:21-25 AnnVal = [Test10312.hs:16:23]) - -(AK Test10312.hs:16:21-29 AnnVal = [Test10312.hs:16:27]) - -(AK Test10312.hs:17:21-32 AnnComma = [Test10312.hs:18:19]) - -(AK Test10312.hs:17:21-32 AnnLarrow = [Test10312.hs:17:23-24]) - -(AK Test10312.hs:17:26-32 AnnCloseS = [Test10312.hs:17:32]) - -(AK Test10312.hs:17:26-32 AnnDotdot = [Test10312.hs:17:28-29]) - -(AK Test10312.hs:17:26-32 AnnOpenS = [Test10312.hs:17:26]) - -(AK Test10312.hs:18:21-33 AnnComma = [Test10312.hs:19:19]) - -(AK Test10312.hs:18:21-33 AnnLarrow = [Test10312.hs:18:23-24]) - -(AK Test10312.hs:18:26-33 AnnCloseS = [Test10312.hs:18:33]) - -(AK Test10312.hs:18:26-33 AnnDotdot = [Test10312.hs:18:29-30]) - -(AK Test10312.hs:18:26-33 AnnOpenS = [Test10312.hs:18:26]) - -(AK Test10312.hs:19:21-33 AnnLarrow = [Test10312.hs:19:23-24]) - -(AK Test10312.hs:19:26-33 AnnCloseS = [Test10312.hs:19:33]) - -(AK Test10312.hs:19:26-33 AnnDotdot = [Test10312.hs:19:29-30]) - -(AK Test10312.hs:19:26-33 AnnOpenS = [Test10312.hs:19:26]) - -(AK Test10312.hs:22:1-25 AnnDcolon = [Test10312.hs:22:18-19]) - -(AK Test10312.hs:22:1-25 AnnSemi = [Test10312.hs:23:1]) - -(AK Test10312.hs:22:21-25 AnnCloseS = [Test10312.hs:22:25]) - -(AK Test10312.hs:22:21-25 AnnOpenS = [Test10312.hs:22:21]) - -(AK Test10312.hs:(23,1)-(27,20) AnnEqual = [Test10312.hs:23:18]) - -(AK Test10312.hs:(23,1)-(27,20) AnnFunId = [Test10312.hs:23:1-16]) - -(AK Test10312.hs:(23,1)-(27,20) AnnSemi = [Test10312.hs:32:1]) - -(AK Test10312.hs:(23,20)-(27,20) AnnCloseS = [Test10312.hs:27:20]) - -(AK Test10312.hs:(23,20)-(27,20) AnnOpenS = [Test10312.hs:23:20]) - -(AK Test10312.hs:(23,20)-(27,20) AnnVbar = [Test10312.hs:24:20]) - -(AK Test10312.hs:23:22-26 AnnVal = [Test10312.hs:23:24]) - -(AK Test10312.hs:23:22-30 AnnVal = [Test10312.hs:23:28]) - -(AK Test10312.hs:24:22-33 AnnLarrow = [Test10312.hs:24:24-25]) - -(AK Test10312.hs:24:22-33 AnnVbar = [Test10312.hs:25:20]) - -(AK Test10312.hs:24:27-33 AnnCloseS = [Test10312.hs:24:33]) - -(AK Test10312.hs:24:27-33 AnnDotdot = [Test10312.hs:24:29-30]) - -(AK Test10312.hs:24:27-33 AnnOpenS = [Test10312.hs:24:27]) - -(AK Test10312.hs:25:22-34 AnnLarrow = [Test10312.hs:25:24-25]) - -(AK Test10312.hs:25:22-34 AnnVbar = [Test10312.hs:26:20]) - -(AK Test10312.hs:25:27-34 AnnCloseS = [Test10312.hs:25:34]) - -(AK Test10312.hs:25:27-34 AnnDotdot = [Test10312.hs:25:30-31]) - -(AK Test10312.hs:25:27-34 AnnOpenS = [Test10312.hs:25:27]) - -(AK Test10312.hs:26:22-34 AnnLarrow = [Test10312.hs:26:24-25]) - -(AK Test10312.hs:26:27-34 AnnCloseS = [Test10312.hs:26:34]) - -(AK Test10312.hs:26:27-34 AnnDotdot = [Test10312.hs:26:30-31]) - -(AK Test10312.hs:26:27-34 AnnOpenS = [Test10312.hs:26:27]) - -(AK Test10312.hs:32:1-13 AnnDcolon = [Test10312.hs:32:6-7]) - -(AK Test10312.hs:32:1-13 AnnSemi = [Test10312.hs:33:1]) - -(AK Test10312.hs:32:9-13 AnnCloseS = [Test10312.hs:32:13]) - -(AK Test10312.hs:32:9-13 AnnOpenS = [Test10312.hs:32:9]) - -(AK Test10312.hs:(33,1)-(36,16) AnnEqual = [Test10312.hs:33:6]) - -(AK Test10312.hs:(33,1)-(36,16) AnnFunId = [Test10312.hs:33:1-4]) - -(AK Test10312.hs:(33,1)-(36,16) AnnSemi = [Test10312.hs:38:1]) - -(AK Test10312.hs:33:8-12 AnnVal = [Test10312.hs:33:10]) - -(AK Test10312.hs:(33,8)-(36,16) AnnVal = [Test10312.hs:33:14]) - -(AK Test10312.hs:(33,16)-(36,16) AnnCloseS = [Test10312.hs:36:16]) - -(AK Test10312.hs:(33,16)-(36,16) AnnOpenS = [Test10312.hs:33:16]) - -(AK Test10312.hs:(33,16)-(36,16) AnnVbar = [Test10312.hs:34:16]) - -(AK Test10312.hs:33:18-22 AnnVal = [Test10312.hs:33:20]) - -(AK Test10312.hs:34:18-26 AnnLarrow = [Test10312.hs:34:20-21]) - -(AK Test10312.hs:34:18-26 AnnVbar = [Test10312.hs:35:16]) - -(AK Test10312.hs:35:18-31 AnnLarrow = [Test10312.hs:35:20-21]) - -(AK Test10312.hs:38:1-17 AnnDcolon = [Test10312.hs:38:10-11]) - -(AK Test10312.hs:38:1-17 AnnSemi = [Test10312.hs:39:1]) - -(AK Test10312.hs:38:13-17 AnnCloseS = [Test10312.hs:38:17]) - -(AK Test10312.hs:38:13-17 AnnOpenS = [Test10312.hs:38:13]) - -(AK Test10312.hs:(39,1)-(43,20) AnnEqual = [Test10312.hs:39:10]) - -(AK Test10312.hs:(39,1)-(43,20) AnnFunId = [Test10312.hs:39:1-8]) - -(AK Test10312.hs:(39,1)-(43,20) AnnSemi = [Test10312.hs:46:1]) - -(AK Test10312.hs:39:12-16 AnnVal = [Test10312.hs:39:14]) - -(AK Test10312.hs:(39,12)-(43,20) AnnVal = [Test10312.hs:39:18]) - -(AK Test10312.hs:(39,20)-(43,20) AnnCloseS = [Test10312.hs:43:20]) - -(AK Test10312.hs:(39,20)-(43,20) AnnOpenS = [Test10312.hs:39:20]) - -(AK Test10312.hs:(39,20)-(43,20) AnnVbar = [Test10312.hs:40:20]) - -(AK Test10312.hs:39:22-26 AnnVal = [Test10312.hs:39:24]) - -(AK Test10312.hs:39:22-30 AnnVal = [Test10312.hs:39:28]) - -(AK Test10312.hs:40:22-30 AnnLarrow = [Test10312.hs:40:24-25]) - -(AK Test10312.hs:40:22-30 AnnVbar = [Test10312.hs:41:20]) - -(AK Test10312.hs:41:22-35 AnnLarrow = [Test10312.hs:41:24-25]) - -(AK Test10312.hs:41:22-35 AnnVbar = [Test10312.hs:42:20]) - -(AK Test10312.hs:42:22-42 AnnLarrow = [Test10312.hs:42:24-25]) - -(AK Test10312.hs:42:32-42 AnnCloseP = [Test10312.hs:42:42]) - -(AK Test10312.hs:42:32-42 AnnOpenP = [Test10312.hs:42:32]) - -(AK Test10312.hs:(46,1)-(50,23) AnnData = [Test10312.hs:46:1-4]) - -(AK Test10312.hs:(46,1)-(50,23) AnnEqual = [Test10312.hs:46:16]) - -(AK Test10312.hs:(46,1)-(50,23) AnnSemi = [Test10312.hs:52:1]) - -(AK Test10312.hs:(47,3)-(50,3) AnnCloseC = [Test10312.hs:50:3]) - -(AK Test10312.hs:(47,3)-(50,3) AnnOpenC = [Test10312.hs:47:3]) - -(AK Test10312.hs:47:5-23 AnnComma = [Test10312.hs:48:3]) - -(AK Test10312.hs:47:5-23 AnnDcolon = [Test10312.hs:47:15-16]) - -(AK Test10312.hs:48:5-22 AnnComma = [Test10312.hs:49:3]) - -(AK Test10312.hs:48:5-22 AnnDcolon = [Test10312.hs:48:14-15]) - -(AK Test10312.hs:49:5-20 AnnDcolon = [Test10312.hs:49:15-16]) - -(AK Test10312.hs:50:5-23 AnnCloseP = [Test10312.hs:50:23]) - -(AK Test10312.hs:50:5-23 AnnDeriving = [Test10312.hs:50:5-12]) - -(AK Test10312.hs:50:5-23 AnnOpenP = [Test10312.hs:50:14]) - -(AK Test10312.hs:50:15-18 AnnComma = [Test10312.hs:50:19]) - -(AK Test10312.hs:52:1-22 AnnDcolon = [Test10312.hs:52:9-10]) - -(AK Test10312.hs:52:1-22 AnnSemi = [Test10312.hs:53:1]) - -(AK Test10312.hs:52:12-22 AnnCloseS = [Test10312.hs:52:22]) - -(AK Test10312.hs:52:12-22 AnnOpenS = [Test10312.hs:52:12]) - -(AK Test10312.hs:(53,1)-(59,11) AnnEqual = [Test10312.hs:53:9]) - -(AK Test10312.hs:(53,1)-(59,11) AnnFunId = [Test10312.hs:53:1-7]) - -(AK Test10312.hs:(53,1)-(59,11) AnnSemi = [Test10312.hs:61:1]) - -(AK Test10312.hs:(53,11)-(59,11) AnnCloseS = [Test10312.hs:59:11]) - -(AK Test10312.hs:(53,11)-(59,11) AnnOpenS = [Test10312.hs:53:11]) - -(AK Test10312.hs:53:13-44 AnnComma = [Test10312.hs:54:11]) - -(AK Test10312.hs:54:13-44 AnnComma = [Test10312.hs:55:11]) - -(AK Test10312.hs:55:13-43 AnnComma = [Test10312.hs:56:11]) - -(AK Test10312.hs:56:13-45 AnnComma = [Test10312.hs:57:11]) - -(AK Test10312.hs:57:13-44 AnnComma = [Test10312.hs:58:11]) - -(AK Test10312.hs:61:1-40 AnnDcolon = [Test10312.hs:61:8-9]) - -(AK Test10312.hs:61:1-40 AnnSemi = [Test10312.hs:62:1]) - -(AK Test10312.hs:61:11-40 AnnRarrow = [Test10312.hs:61:15-16]) - -(AK Test10312.hs:61:18-28 AnnCloseS = [Test10312.hs:61:28]) - -(AK Test10312.hs:61:18-28 AnnOpenS = [Test10312.hs:61:18]) - -(AK Test10312.hs:61:18-40 AnnRarrow = [Test10312.hs:61:30-31]) - -(AK Test10312.hs:61:33-40 AnnCloseS = [Test10312.hs:61:40]) - -(AK Test10312.hs:61:33-40 AnnOpenS = [Test10312.hs:61:33]) - -(AK Test10312.hs:(62,1)-(66,16) AnnEqual = [Test10312.hs:62:14]) - -(AK Test10312.hs:(62,1)-(66,16) AnnFunId = [Test10312.hs:62:1-6]) - -(AK Test10312.hs:(62,1)-(66,16) AnnSemi = [Test10312.hs:68:1]) - -(AK Test10312.hs:(62,16)-(66,16) AnnCloseS = [Test10312.hs:66:16]) - -(AK Test10312.hs:(62,16)-(66,16) AnnOpenS = [Test10312.hs:62:16]) - -(AK Test10312.hs:(62,16)-(66,16) AnnVbar = [Test10312.hs:63:16]) - -(AK Test10312.hs:62:18-33 AnnVal = [Test10312.hs:62:28-29]) - -(AK Test10312.hs:62:18-45 AnnVal = [Test10312.hs:62:35-36]) - -(AK Test10312.hs:63:18-30 AnnCloseC = [Test10312.hs:63:30]) - -(AK Test10312.hs:63:18-30 AnnDotdot = [Test10312.hs:63:28-29]) - -(AK Test10312.hs:63:18-30 AnnOpenC = [Test10312.hs:63:27]) - -(AK Test10312.hs:63:18-37 AnnComma = [Test10312.hs:64:16]) - -(AK Test10312.hs:63:18-37 AnnLarrow = [Test10312.hs:63:32-33]) - -(AK Test10312.hs:(63,18)-(64,43) AnnBy = [Test10312.hs:64:32-33]) - -(AK Test10312.hs:(63,18)-(64,43) AnnComma = [Test10312.hs:65:16]) - -(AK Test10312.hs:(63,18)-(64,43) AnnThen = [Test10312.hs:64:18-21]) - -(AK Test10312.hs:(63,18)-(65,28) AnnThen = [Test10312.hs:65:18-21]) - -(AK Test10312.hs:68:1-51 AnnDcolon = [Test10312.hs:68:16-17]) - -(AK Test10312.hs:68:1-51 AnnSemi = [Test10312.hs:69:1]) - -(AK Test10312.hs:68:19-23 AnnDarrow = [Test10312.hs:68:25-26]) - -(AK Test10312.hs:68:28-35 AnnCloseP = [Test10312.hs:68:35]) - -(AK Test10312.hs:68:28-35 AnnOpenP = [Test10312.hs:68:28]) - -(AK Test10312.hs:68:28-51 AnnRarrow = [Test10312.hs:68:37-38]) - -(AK Test10312.hs:68:29 AnnRarrow = [Test10312.hs:68:31-32]) - -(AK Test10312.hs:68:29-34 AnnRarrow = [Test10312.hs:68:31-32]) - -(AK Test10312.hs:68:40-42 AnnCloseS = [Test10312.hs:68:42]) - -(AK Test10312.hs:68:40-42 AnnOpenS = [Test10312.hs:68:40]) - -(AK Test10312.hs:68:40-51 AnnRarrow = [Test10312.hs:68:44-45]) - -(AK Test10312.hs:68:47-51 AnnCloseS = [Test10312.hs:68:51]) - -(AK Test10312.hs:68:47-51 AnnOpenS = [Test10312.hs:68:47]) - -(AK Test10312.hs:68:48-50 AnnCloseS = [Test10312.hs:68:50]) - -(AK Test10312.hs:68:48-50 AnnOpenS = [Test10312.hs:68:48]) - -(AK Test10312.hs:69:1-69 AnnEqual = [Test10312.hs:69:18]) - -(AK Test10312.hs:69:1-69 AnnFunId = [Test10312.hs:69:1-14]) - -(AK Test10312.hs:69:1-69 AnnSemi = [Test10312.hs:71:1]) - -(AK Test10312.hs:69:20-69 AnnVal = [Test10312.hs:69:57]) - -(AK Test10312.hs:69:27-55 AnnCloseP = [Test10312.hs:69:55]) - -(AK Test10312.hs:69:27-55 AnnOpenP = [Test10312.hs:69:27]) - -(AK Test10312.hs:69:38-54 AnnCloseP = [Test10312.hs:69:54]) - -(AK Test10312.hs:69:38-54 AnnOpenP = [Test10312.hs:69:38]) - -(AK Test10312.hs:69:39-53 AnnVal = [Test10312.hs:69:46]) - -(AK Test10312.hs:71:1-50 AnnDcolon = [Test10312.hs:71:16-17]) - -(AK Test10312.hs:71:1-50 AnnSemi = [Test10312.hs:72:1]) - -(AK Test10312.hs:71:19-29 AnnCloseS = [Test10312.hs:71:29]) - -(AK Test10312.hs:71:19-29 AnnOpenS = [Test10312.hs:71:19]) - -(AK Test10312.hs:71:19-50 AnnRarrow = [Test10312.hs:71:31-32]) - -(AK Test10312.hs:71:34-50 AnnCloseS = [Test10312.hs:71:50]) - -(AK Test10312.hs:71:34-50 AnnOpenS = [Test10312.hs:71:34]) - -(AK Test10312.hs:71:35-49 AnnCloseP = [Test10312.hs:71:49]) - -(AK Test10312.hs:71:35-49 AnnOpenP = [Test10312.hs:71:35]) - -(AK Test10312.hs:71:36-38 AnnComma = [Test10312.hs:71:39]) - -(AK Test10312.hs:71:41-48 AnnCloseS = [Test10312.hs:71:48]) - -(AK Test10312.hs:71:41-48 AnnOpenS = [Test10312.hs:71:41]) - -(AK Test10312.hs:(72,1)-(75,22) AnnEqual = [Test10312.hs:72:20]) - -(AK Test10312.hs:(72,1)-(75,22) AnnFunId = [Test10312.hs:72:1-14]) - -(AK Test10312.hs:(72,1)-(75,22) AnnSemi = [Test10312.hs:77:1]) - -(AK Test10312.hs:(72,22)-(75,22) AnnCloseS = [Test10312.hs:75:22]) - -(AK Test10312.hs:(72,22)-(75,22) AnnOpenS = [Test10312.hs:72:22]) - -(AK Test10312.hs:(72,22)-(75,22) AnnVbar = [Test10312.hs:73:22]) - -(AK Test10312.hs:72:24-49 AnnCloseP = [Test10312.hs:72:49]) - -(AK Test10312.hs:72:24-49 AnnOpenP = [Test10312.hs:72:24]) - -(AK Test10312.hs:72:25-37 AnnComma = [Test10312.hs:72:38]) - -(AK Test10312.hs:73:24-36 AnnCloseC = [Test10312.hs:73:36]) - -(AK Test10312.hs:73:24-36 AnnDotdot = [Test10312.hs:73:34-35]) - -(AK Test10312.hs:73:24-36 AnnOpenC = [Test10312.hs:73:33]) - -(AK Test10312.hs:73:24-43 AnnComma = [Test10312.hs:74:22]) - -(AK Test10312.hs:73:24-43 AnnLarrow = [Test10312.hs:73:38-39]) - -(AK Test10312.hs:(73,24)-(74,67) AnnBy = [Test10312.hs:74:35-36]) - -(AK Test10312.hs:(73,24)-(74,67) AnnGroup = [Test10312.hs:74:29-33]) - -(AK Test10312.hs:(73,24)-(74,67) AnnThen = [Test10312.hs:74:24-27]) - -(AK Test10312.hs:(73,24)-(74,67) AnnUsing = [Test10312.hs:74:48-52]) - -(AK Test10312.hs:(77,1)-(79,80) AnnEqual = [Test10312.hs:77:9]) - -(AK Test10312.hs:(77,1)-(79,80) AnnFunId = [Test10312.hs:77:1-7]) - -(AK Test10312.hs:(77,1)-(79,80) AnnSemi = [Test10312.hs:80:1]) - -(AK Test10312.hs:(77,11)-(79,80) AnnCloseS = [Test10312.hs:79:80]) - -(AK Test10312.hs:(77,11)-(79,80) AnnOpenS = [Test10312.hs:77:11]) - -(AK Test10312.hs:(77,11)-(79,80) AnnVbar = [Test10312.hs:77:32]) - -(AK Test10312.hs:77:13-30 AnnCloseP = [Test10312.hs:77:30]) - -(AK Test10312.hs:77:13-30 AnnOpenP = [Test10312.hs:77:13]) - -(AK Test10312.hs:77:14 AnnComma = [Test10312.hs:77:15]) - -(AK Test10312.hs:77:17-21 AnnComma = [Test10312.hs:77:22]) - -(AK Test10312.hs:77:34-48 AnnCloseP = [Test10312.hs:77:48]) - -(AK Test10312.hs:77:34-48 AnnOpenP = [Test10312.hs:77:34]) - -(AK Test10312.hs:77:34-54 AnnComma = [Test10312.hs:78:36]) - -(AK Test10312.hs:77:34-54 AnnLarrow = [Test10312.hs:77:50-51]) - -(AK Test10312.hs:(77,34)-(79,78) AnnBy = [Test10312.hs:79:49-50]) - -(AK Test10312.hs:(77,34)-(79,78) AnnGroup = [Test10312.hs:79:43-47]) - -(AK Test10312.hs:(77,34)-(79,78) AnnThen = [Test10312.hs:79:38-41]) - -(AK Test10312.hs:(77,34)-(79,78) AnnUsing = [Test10312.hs:79:64-68]) - -(AK Test10312.hs:77:35 AnnComma = [Test10312.hs:77:36]) - -(AK Test10312.hs:78:38-53 AnnComma = [Test10312.hs:79:36]) - -(AK Test10312.hs:78:38-53 AnnLet = [Test10312.hs:78:38-40]) - -(AK Test10312.hs:78:42-53 AnnEqual = [Test10312.hs:78:45]) - -(AK Test10312.hs:78:42-53 AnnFunId = [Test10312.hs:78:42-43]) - -(AK Test10312.hs:79:57-62 AnnCloseP = [Test10312.hs:79:62]) - -(AK Test10312.hs:79:57-62 AnnOpenP = [Test10312.hs:79:57]) - -(AK Test10312.hs:79:58 AnnComma = [Test10312.hs:79:59]) - -(AK <no location info> AnnEofPos = [Test10312.hs:80:1]) +((Test10312.hs:1:1,AnnModule), [Test10312.hs:4:1-6]), +((Test10312.hs:1:1,AnnWhere), [Test10312.hs:4:18-22]), +((Test10312.hs:8:1-15,AnnImport), [Test10312.hs:8:1-6]), +((Test10312.hs:8:1-15,AnnSemi), [Test10312.hs:9:1]), +((Test10312.hs:9:1-30,AnnAs), [Test10312.hs:9:27-28]), +((Test10312.hs:9:1-30,AnnImport), [Test10312.hs:9:1-6]), +((Test10312.hs:9:1-30,AnnQualified), [Test10312.hs:9:8-16]), +((Test10312.hs:9:1-30,AnnSemi), [Test10312.hs:10:1]), +((Test10312.hs:9:1-30,AnnVal), [Test10312.hs:9:30]), +((Test10312.hs:10:1-27,AnnImport), [Test10312.hs:10:1-6]), +((Test10312.hs:10:1-27,AnnSemi), [Test10312.hs:11:1]), +((Test10312.hs:10:17-27,AnnCloseP), [Test10312.hs:10:27]), +((Test10312.hs:10:17-27,AnnOpenP), [Test10312.hs:10:17]), +((Test10312.hs:11:1-25,AnnImport), [Test10312.hs:11:1-6]), +((Test10312.hs:11:1-25,AnnSemi), [Test10312.hs:15:1]), +((Test10312.hs:11:18-25,AnnCloseP), [Test10312.hs:11:25]), +((Test10312.hs:11:18-25,AnnOpenP), [Test10312.hs:11:18]), +((Test10312.hs:15:1-24,AnnDcolon), [Test10312.hs:15:17-18]), +((Test10312.hs:15:1-24,AnnSemi), [Test10312.hs:16:1]), +((Test10312.hs:15:20-24,AnnCloseS), [Test10312.hs:15:24]), +((Test10312.hs:15:20-24,AnnOpenS), [Test10312.hs:15:20]), +((Test10312.hs:(16,1)-(20,19),AnnEqual), [Test10312.hs:16:17]), +((Test10312.hs:(16,1)-(20,19),AnnFunId), [Test10312.hs:16:1-15]), +((Test10312.hs:(16,1)-(20,19),AnnSemi), [Test10312.hs:22:1]), +((Test10312.hs:(16,19)-(20,19),AnnCloseS), [Test10312.hs:20:19]), +((Test10312.hs:(16,19)-(20,19),AnnOpenS), [Test10312.hs:16:19]), +((Test10312.hs:(16,19)-(20,19),AnnVbar), [Test10312.hs:17:19]), +((Test10312.hs:16:21-25,AnnVal), [Test10312.hs:16:23]), +((Test10312.hs:16:21-29,AnnVal), [Test10312.hs:16:27]), +((Test10312.hs:17:21-32,AnnComma), [Test10312.hs:18:19]), +((Test10312.hs:17:21-32,AnnLarrow), [Test10312.hs:17:23-24]), +((Test10312.hs:17:26-32,AnnCloseS), [Test10312.hs:17:32]), +((Test10312.hs:17:26-32,AnnDotdot), [Test10312.hs:17:28-29]), +((Test10312.hs:17:26-32,AnnOpenS), [Test10312.hs:17:26]), +((Test10312.hs:18:21-33,AnnComma), [Test10312.hs:19:19]), +((Test10312.hs:18:21-33,AnnLarrow), [Test10312.hs:18:23-24]), +((Test10312.hs:18:26-33,AnnCloseS), [Test10312.hs:18:33]), +((Test10312.hs:18:26-33,AnnDotdot), [Test10312.hs:18:29-30]), +((Test10312.hs:18:26-33,AnnOpenS), [Test10312.hs:18:26]), +((Test10312.hs:19:21-33,AnnLarrow), [Test10312.hs:19:23-24]), +((Test10312.hs:19:26-33,AnnCloseS), [Test10312.hs:19:33]), +((Test10312.hs:19:26-33,AnnDotdot), [Test10312.hs:19:29-30]), +((Test10312.hs:19:26-33,AnnOpenS), [Test10312.hs:19:26]), +((Test10312.hs:22:1-25,AnnDcolon), [Test10312.hs:22:18-19]), +((Test10312.hs:22:1-25,AnnSemi), [Test10312.hs:23:1]), +((Test10312.hs:22:21-25,AnnCloseS), [Test10312.hs:22:25]), +((Test10312.hs:22:21-25,AnnOpenS), [Test10312.hs:22:21]), +((Test10312.hs:(23,1)-(27,20),AnnEqual), [Test10312.hs:23:18]), +((Test10312.hs:(23,1)-(27,20),AnnFunId), [Test10312.hs:23:1-16]), +((Test10312.hs:(23,1)-(27,20),AnnSemi), [Test10312.hs:32:1]), +((Test10312.hs:(23,20)-(27,20),AnnCloseS), [Test10312.hs:27:20]), +((Test10312.hs:(23,20)-(27,20),AnnOpenS), [Test10312.hs:23:20]), +((Test10312.hs:(23,20)-(27,20),AnnVbar), [Test10312.hs:24:20]), +((Test10312.hs:23:22-26,AnnVal), [Test10312.hs:23:24]), +((Test10312.hs:23:22-30,AnnVal), [Test10312.hs:23:28]), +((Test10312.hs:24:22-33,AnnLarrow), [Test10312.hs:24:24-25]), +((Test10312.hs:24:22-33,AnnVbar), [Test10312.hs:25:20]), +((Test10312.hs:24:27-33,AnnCloseS), [Test10312.hs:24:33]), +((Test10312.hs:24:27-33,AnnDotdot), [Test10312.hs:24:29-30]), +((Test10312.hs:24:27-33,AnnOpenS), [Test10312.hs:24:27]), +((Test10312.hs:25:22-34,AnnLarrow), [Test10312.hs:25:24-25]), +((Test10312.hs:25:22-34,AnnVbar), [Test10312.hs:26:20]), +((Test10312.hs:25:27-34,AnnCloseS), [Test10312.hs:25:34]), +((Test10312.hs:25:27-34,AnnDotdot), [Test10312.hs:25:30-31]), +((Test10312.hs:25:27-34,AnnOpenS), [Test10312.hs:25:27]), +((Test10312.hs:26:22-34,AnnLarrow), [Test10312.hs:26:24-25]), +((Test10312.hs:26:27-34,AnnCloseS), [Test10312.hs:26:34]), +((Test10312.hs:26:27-34,AnnDotdot), [Test10312.hs:26:30-31]), +((Test10312.hs:26:27-34,AnnOpenS), [Test10312.hs:26:27]), +((Test10312.hs:32:1-13,AnnDcolon), [Test10312.hs:32:6-7]), +((Test10312.hs:32:1-13,AnnSemi), [Test10312.hs:33:1]), +((Test10312.hs:32:9-13,AnnCloseS), [Test10312.hs:32:13]), +((Test10312.hs:32:9-13,AnnOpenS), [Test10312.hs:32:9]), +((Test10312.hs:(33,1)-(36,16),AnnEqual), [Test10312.hs:33:6]), +((Test10312.hs:(33,1)-(36,16),AnnFunId), [Test10312.hs:33:1-4]), +((Test10312.hs:(33,1)-(36,16),AnnSemi), [Test10312.hs:38:1]), +((Test10312.hs:33:8-12,AnnVal), [Test10312.hs:33:10]), +((Test10312.hs:(33,8)-(36,16),AnnVal), [Test10312.hs:33:14]), +((Test10312.hs:(33,16)-(36,16),AnnCloseS), [Test10312.hs:36:16]), +((Test10312.hs:(33,16)-(36,16),AnnOpenS), [Test10312.hs:33:16]), +((Test10312.hs:(33,16)-(36,16),AnnVbar), [Test10312.hs:34:16]), +((Test10312.hs:33:18-22,AnnVal), [Test10312.hs:33:20]), +((Test10312.hs:34:18-26,AnnLarrow), [Test10312.hs:34:20-21]), +((Test10312.hs:34:18-26,AnnVbar), [Test10312.hs:35:16]), +((Test10312.hs:35:18-31,AnnLarrow), [Test10312.hs:35:20-21]), +((Test10312.hs:38:1-17,AnnDcolon), [Test10312.hs:38:10-11]), +((Test10312.hs:38:1-17,AnnSemi), [Test10312.hs:39:1]), +((Test10312.hs:38:13-17,AnnCloseS), [Test10312.hs:38:17]), +((Test10312.hs:38:13-17,AnnOpenS), [Test10312.hs:38:13]), +((Test10312.hs:(39,1)-(43,20),AnnEqual), [Test10312.hs:39:10]), +((Test10312.hs:(39,1)-(43,20),AnnFunId), [Test10312.hs:39:1-8]), +((Test10312.hs:(39,1)-(43,20),AnnSemi), [Test10312.hs:46:1]), +((Test10312.hs:39:12-16,AnnVal), [Test10312.hs:39:14]), +((Test10312.hs:(39,12)-(43,20),AnnVal), [Test10312.hs:39:18]), +((Test10312.hs:(39,20)-(43,20),AnnCloseS), [Test10312.hs:43:20]), +((Test10312.hs:(39,20)-(43,20),AnnOpenS), [Test10312.hs:39:20]), +((Test10312.hs:(39,20)-(43,20),AnnVbar), [Test10312.hs:40:20]), +((Test10312.hs:39:22-26,AnnVal), [Test10312.hs:39:24]), +((Test10312.hs:39:22-30,AnnVal), [Test10312.hs:39:28]), +((Test10312.hs:40:22-30,AnnLarrow), [Test10312.hs:40:24-25]), +((Test10312.hs:40:22-30,AnnVbar), [Test10312.hs:41:20]), +((Test10312.hs:41:22-35,AnnLarrow), [Test10312.hs:41:24-25]), +((Test10312.hs:41:22-35,AnnVbar), [Test10312.hs:42:20]), +((Test10312.hs:42:22-42,AnnLarrow), [Test10312.hs:42:24-25]), +((Test10312.hs:42:32-42,AnnCloseP), [Test10312.hs:42:42]), +((Test10312.hs:42:32-42,AnnOpenP), [Test10312.hs:42:32]), +((Test10312.hs:(46,1)-(50,23),AnnData), [Test10312.hs:46:1-4]), +((Test10312.hs:(46,1)-(50,23),AnnEqual), [Test10312.hs:46:16]), +((Test10312.hs:(46,1)-(50,23),AnnSemi), [Test10312.hs:52:1]), +((Test10312.hs:(47,3)-(50,3),AnnCloseC), [Test10312.hs:50:3]), +((Test10312.hs:(47,3)-(50,3),AnnOpenC), [Test10312.hs:47:3]), +((Test10312.hs:47:5-23,AnnComma), [Test10312.hs:48:3]), +((Test10312.hs:47:5-23,AnnDcolon), [Test10312.hs:47:15-16]), +((Test10312.hs:48:5-22,AnnComma), [Test10312.hs:49:3]), +((Test10312.hs:48:5-22,AnnDcolon), [Test10312.hs:48:14-15]), +((Test10312.hs:49:5-20,AnnDcolon), [Test10312.hs:49:15-16]), +((Test10312.hs:50:5-23,AnnCloseP), [Test10312.hs:50:23]), +((Test10312.hs:50:5-23,AnnDeriving), [Test10312.hs:50:5-12]), +((Test10312.hs:50:5-23,AnnOpenP), [Test10312.hs:50:14]), +((Test10312.hs:50:15-18,AnnComma), [Test10312.hs:50:19]), +((Test10312.hs:52:1-22,AnnDcolon), [Test10312.hs:52:9-10]), +((Test10312.hs:52:1-22,AnnSemi), [Test10312.hs:53:1]), +((Test10312.hs:52:12-22,AnnCloseS), [Test10312.hs:52:22]), +((Test10312.hs:52:12-22,AnnOpenS), [Test10312.hs:52:12]), +((Test10312.hs:(53,1)-(59,11),AnnEqual), [Test10312.hs:53:9]), +((Test10312.hs:(53,1)-(59,11),AnnFunId), [Test10312.hs:53:1-7]), +((Test10312.hs:(53,1)-(59,11),AnnSemi), [Test10312.hs:61:1]), +((Test10312.hs:(53,11)-(59,11),AnnCloseS), [Test10312.hs:59:11]), +((Test10312.hs:(53,11)-(59,11),AnnOpenS), [Test10312.hs:53:11]), +((Test10312.hs:53:13-44,AnnComma), [Test10312.hs:54:11]), +((Test10312.hs:54:13-44,AnnComma), [Test10312.hs:55:11]), +((Test10312.hs:55:13-43,AnnComma), [Test10312.hs:56:11]), +((Test10312.hs:56:13-45,AnnComma), [Test10312.hs:57:11]), +((Test10312.hs:57:13-44,AnnComma), [Test10312.hs:58:11]), +((Test10312.hs:61:1-40,AnnDcolon), [Test10312.hs:61:8-9]), +((Test10312.hs:61:1-40,AnnSemi), [Test10312.hs:62:1]), +((Test10312.hs:61:11-40,AnnRarrow), [Test10312.hs:61:15-16]), +((Test10312.hs:61:18-28,AnnCloseS), [Test10312.hs:61:28]), +((Test10312.hs:61:18-28,AnnOpenS), [Test10312.hs:61:18]), +((Test10312.hs:61:18-40,AnnRarrow), [Test10312.hs:61:30-31]), +((Test10312.hs:61:33-40,AnnCloseS), [Test10312.hs:61:40]), +((Test10312.hs:61:33-40,AnnOpenS), [Test10312.hs:61:33]), +((Test10312.hs:(62,1)-(66,16),AnnEqual), [Test10312.hs:62:14]), +((Test10312.hs:(62,1)-(66,16),AnnFunId), [Test10312.hs:62:1-6]), +((Test10312.hs:(62,1)-(66,16),AnnSemi), [Test10312.hs:68:1]), +((Test10312.hs:(62,16)-(66,16),AnnCloseS), [Test10312.hs:66:16]), +((Test10312.hs:(62,16)-(66,16),AnnOpenS), [Test10312.hs:62:16]), +((Test10312.hs:(62,16)-(66,16),AnnVbar), [Test10312.hs:63:16]), +((Test10312.hs:62:18-33,AnnVal), [Test10312.hs:62:28-29]), +((Test10312.hs:62:18-45,AnnVal), [Test10312.hs:62:35-36]), +((Test10312.hs:63:18-30,AnnCloseC), [Test10312.hs:63:30]), +((Test10312.hs:63:18-30,AnnDotdot), [Test10312.hs:63:28-29]), +((Test10312.hs:63:18-30,AnnOpenC), [Test10312.hs:63:27]), +((Test10312.hs:63:18-37,AnnComma), [Test10312.hs:64:16]), +((Test10312.hs:63:18-37,AnnLarrow), [Test10312.hs:63:32-33]), +((Test10312.hs:(63,18)-(64,43),AnnBy), [Test10312.hs:64:32-33]), +((Test10312.hs:(63,18)-(64,43),AnnComma), [Test10312.hs:65:16]), +((Test10312.hs:(63,18)-(64,43),AnnThen), [Test10312.hs:64:18-21]), +((Test10312.hs:(63,18)-(65,28),AnnThen), [Test10312.hs:65:18-21]), +((Test10312.hs:68:1-51,AnnDcolon), [Test10312.hs:68:16-17]), +((Test10312.hs:68:1-51,AnnSemi), [Test10312.hs:69:1]), +((Test10312.hs:68:19-23,AnnDarrow), [Test10312.hs:68:25-26]), +((Test10312.hs:68:28-35,AnnCloseP), [Test10312.hs:68:35]), +((Test10312.hs:68:28-35,AnnOpenP), [Test10312.hs:68:28]), +((Test10312.hs:68:28-51,AnnRarrow), [Test10312.hs:68:37-38]), +((Test10312.hs:68:29,AnnRarrow), [Test10312.hs:68:31-32]), +((Test10312.hs:68:29-34,AnnRarrow), [Test10312.hs:68:31-32]), +((Test10312.hs:68:40-42,AnnCloseS), [Test10312.hs:68:42]), +((Test10312.hs:68:40-42,AnnOpenS), [Test10312.hs:68:40]), +((Test10312.hs:68:40-51,AnnRarrow), [Test10312.hs:68:44-45]), +((Test10312.hs:68:47-51,AnnCloseS), [Test10312.hs:68:51]), +((Test10312.hs:68:47-51,AnnOpenS), [Test10312.hs:68:47]), +((Test10312.hs:68:48-50,AnnCloseS), [Test10312.hs:68:50]), +((Test10312.hs:68:48-50,AnnOpenS), [Test10312.hs:68:48]), +((Test10312.hs:69:1-69,AnnEqual), [Test10312.hs:69:18]), +((Test10312.hs:69:1-69,AnnFunId), [Test10312.hs:69:1-14]), +((Test10312.hs:69:1-69,AnnSemi), [Test10312.hs:71:1]), +((Test10312.hs:69:20-69,AnnVal), [Test10312.hs:69:57]), +((Test10312.hs:69:27-55,AnnCloseP), [Test10312.hs:69:55]), +((Test10312.hs:69:27-55,AnnOpenP), [Test10312.hs:69:27]), +((Test10312.hs:69:38-54,AnnCloseP), [Test10312.hs:69:54]), +((Test10312.hs:69:38-54,AnnOpenP), [Test10312.hs:69:38]), +((Test10312.hs:69:39-53,AnnVal), [Test10312.hs:69:46]), +((Test10312.hs:71:1-50,AnnDcolon), [Test10312.hs:71:16-17]), +((Test10312.hs:71:1-50,AnnSemi), [Test10312.hs:72:1]), +((Test10312.hs:71:19-29,AnnCloseS), [Test10312.hs:71:29]), +((Test10312.hs:71:19-29,AnnOpenS), [Test10312.hs:71:19]), +((Test10312.hs:71:19-50,AnnRarrow), [Test10312.hs:71:31-32]), +((Test10312.hs:71:34-50,AnnCloseS), [Test10312.hs:71:50]), +((Test10312.hs:71:34-50,AnnOpenS), [Test10312.hs:71:34]), +((Test10312.hs:71:35-49,AnnCloseP), [Test10312.hs:71:49]), +((Test10312.hs:71:35-49,AnnOpenP), [Test10312.hs:71:35]), +((Test10312.hs:71:36-38,AnnComma), [Test10312.hs:71:39]), +((Test10312.hs:71:41-48,AnnCloseS), [Test10312.hs:71:48]), +((Test10312.hs:71:41-48,AnnOpenS), [Test10312.hs:71:41]), +((Test10312.hs:(72,1)-(75,22),AnnEqual), [Test10312.hs:72:20]), +((Test10312.hs:(72,1)-(75,22),AnnFunId), [Test10312.hs:72:1-14]), +((Test10312.hs:(72,1)-(75,22),AnnSemi), [Test10312.hs:77:1]), +((Test10312.hs:(72,22)-(75,22),AnnCloseS), [Test10312.hs:75:22]), +((Test10312.hs:(72,22)-(75,22),AnnOpenS), [Test10312.hs:72:22]), +((Test10312.hs:(72,22)-(75,22),AnnVbar), [Test10312.hs:73:22]), +((Test10312.hs:72:24-49,AnnCloseP), [Test10312.hs:72:49]), +((Test10312.hs:72:24-49,AnnOpenP), [Test10312.hs:72:24]), +((Test10312.hs:72:25-37,AnnComma), [Test10312.hs:72:38]), +((Test10312.hs:73:24-36,AnnCloseC), [Test10312.hs:73:36]), +((Test10312.hs:73:24-36,AnnDotdot), [Test10312.hs:73:34-35]), +((Test10312.hs:73:24-36,AnnOpenC), [Test10312.hs:73:33]), +((Test10312.hs:73:24-43,AnnComma), [Test10312.hs:74:22]), +((Test10312.hs:73:24-43,AnnLarrow), [Test10312.hs:73:38-39]), +((Test10312.hs:(73,24)-(74,67),AnnBy), [Test10312.hs:74:35-36]), +((Test10312.hs:(73,24)-(74,67),AnnGroup), [Test10312.hs:74:29-33]), +((Test10312.hs:(73,24)-(74,67),AnnThen), [Test10312.hs:74:24-27]), +((Test10312.hs:(73,24)-(74,67),AnnUsing), [Test10312.hs:74:48-52]), +((Test10312.hs:(77,1)-(79,80),AnnEqual), [Test10312.hs:77:9]), +((Test10312.hs:(77,1)-(79,80),AnnFunId), [Test10312.hs:77:1-7]), +((Test10312.hs:(77,1)-(79,80),AnnSemi), [Test10312.hs:80:1]), +((Test10312.hs:(77,11)-(79,80),AnnCloseS), [Test10312.hs:79:80]), +((Test10312.hs:(77,11)-(79,80),AnnOpenS), [Test10312.hs:77:11]), +((Test10312.hs:(77,11)-(79,80),AnnVbar), [Test10312.hs:77:32]), +((Test10312.hs:77:13-30,AnnCloseP), [Test10312.hs:77:30]), +((Test10312.hs:77:13-30,AnnOpenP), [Test10312.hs:77:13]), +((Test10312.hs:77:14,AnnComma), [Test10312.hs:77:15]), +((Test10312.hs:77:17-21,AnnComma), [Test10312.hs:77:22]), +((Test10312.hs:77:34-48,AnnCloseP), [Test10312.hs:77:48]), +((Test10312.hs:77:34-48,AnnOpenP), [Test10312.hs:77:34]), +((Test10312.hs:77:34-54,AnnComma), [Test10312.hs:78:36]), +((Test10312.hs:77:34-54,AnnLarrow), [Test10312.hs:77:50-51]), +((Test10312.hs:(77,34)-(79,78),AnnBy), [Test10312.hs:79:49-50]), +((Test10312.hs:(77,34)-(79,78),AnnGroup), [Test10312.hs:79:43-47]), +((Test10312.hs:(77,34)-(79,78),AnnThen), [Test10312.hs:79:38-41]), +((Test10312.hs:(77,34)-(79,78),AnnUsing), [Test10312.hs:79:64-68]), +((Test10312.hs:77:35,AnnComma), [Test10312.hs:77:36]), +((Test10312.hs:78:38-53,AnnComma), [Test10312.hs:79:36]), +((Test10312.hs:78:38-53,AnnLet), [Test10312.hs:78:38-40]), +((Test10312.hs:78:42-53,AnnEqual), [Test10312.hs:78:45]), +((Test10312.hs:78:42-53,AnnFunId), [Test10312.hs:78:42-43]), +((Test10312.hs:79:57-62,AnnCloseP), [Test10312.hs:79:62]), +((Test10312.hs:79:57-62,AnnOpenP), [Test10312.hs:79:57]), +((Test10312.hs:79:58,AnnComma), [Test10312.hs:79:59]), +((<no location info>,AnnEofPos), [Test10312.hs:80:1]) ] diff --git a/testsuite/tests/ghc-api/annotations/T10354.stdout b/testsuite/tests/ghc-api/annotations/T10354.stdout index b0203c9d8a..d9094c9eb1 100644 --- a/testsuite/tests/ghc-api/annotations/T10354.stdout +++ b/testsuite/tests/ghc-api/annotations/T10354.stdout @@ -1,90 +1,47 @@ ----Problems--------------------- -[ -(AK Test10354.hs:4:7-15 AnnCloseP = [Test10354.hs:4:15]) - -(AK Test10354.hs:4:7-15 AnnOpenP = [Test10354.hs:4:7]) -] - ----Problems'-------------------- +---Problems (should be empty list)--- [] --------------------------------- +---Annotations----------------------- +-- SrcSpan the annotation is attached to, AnnKeywordId, +-- list of locations the keyword item appears in [ -(AK Test10354.hs:1:1 AnnModule = [Test10354.hs:2:1-6]) - -(AK Test10354.hs:1:1 AnnWhere = [Test10354.hs:2:18-22]) - -(AK Test10354.hs:4:1-34 AnnDcolon = [Test10354.hs:4:3-4]) - -(AK Test10354.hs:4:1-34 AnnSemi = [Test10354.hs:5:1]) - -(AK Test10354.hs:4:6-16 AnnCloseP = [Test10354.hs:4:16, Test10354.hs:4:15]) - -(AK Test10354.hs:4:6-16 AnnDarrow = [Test10354.hs:4:18-19]) - -(AK Test10354.hs:4:6-16 AnnOpenP = [Test10354.hs:4:6, Test10354.hs:4:7]) - -(AK Test10354.hs:4:7-15 AnnCloseP = [Test10354.hs:4:15]) - -(AK Test10354.hs:4:7-15 AnnOpenP = [Test10354.hs:4:7]) - -(AK Test10354.hs:4:8-11 AnnComma = [Test10354.hs:4:12]) - -(AK Test10354.hs:4:21-34 AnnRarrow = [Test10354.hs:4:23-24]) - -(AK Test10354.hs:4:26-34 AnnRarrow = [Test10354.hs:4:28-29]) - -(AK Test10354.hs:5:1-14 AnnEqual = [Test10354.hs:5:7]) - -(AK Test10354.hs:5:1-14 AnnFunId = [Test10354.hs:5:1]) - -(AK Test10354.hs:5:1-14 AnnSemi = [Test10354.hs:7:1]) - -(AK Test10354.hs:5:9-14 AnnVal = [Test10354.hs:5:11-12]) - -(AK Test10354.hs:7:1-24 AnnDcolon = [Test10354.hs:7:5-6]) - -(AK Test10354.hs:7:1-24 AnnSemi = [Test10354.hs:8:1]) - -(AK Test10354.hs:7:8-12 AnnCloseP = [Test10354.hs:7:12, Test10354.hs:7:12]) - -(AK Test10354.hs:7:8-12 AnnDarrow = [Test10354.hs:7:14-15]) - -(AK Test10354.hs:7:8-12 AnnOpenP = [Test10354.hs:7:8, Test10354.hs:7:8]) - -(AK Test10354.hs:7:8-12 AnnUnit = [Test10354.hs:7:8-12]) - -(AK Test10354.hs:7:17-24 AnnRarrow = [Test10354.hs:7:18-19]) - -(AK Test10354.hs:8:1-15 AnnEqual = [Test10354.hs:8:5]) - -(AK Test10354.hs:8:1-15 AnnFunId = [Test10354.hs:8:1-3]) - -(AK Test10354.hs:8:1-15 AnnSemi = [Test10354.hs:10:1]) - -(AK Test10354.hs:10:1-23 AnnDcolon = [Test10354.hs:10:5-6]) - -(AK Test10354.hs:10:1-23 AnnSemi = [Test10354.hs:11:1]) - -(AK Test10354.hs:10:8 AnnDarrow = [Test10354.hs:10:10-11]) - -(AK Test10354.hs:10:13-23 AnnRarrow = [Test10354.hs:10:15-16]) - -(AK Test10354.hs:11:1-15 AnnEqual = [Test10354.hs:11:5]) - -(AK Test10354.hs:11:1-15 AnnFunId = [Test10354.hs:11:1-3]) - -(AK Test10354.hs:11:1-15 AnnSemi = [Test10354.hs:13:1]) - -(AK Test10354.hs:13:1-17 AnnDcolon = [Test10354.hs:13:5-6]) - -(AK Test10354.hs:13:1-17 AnnSemi = [Test10354.hs:14:1]) - -(AK Test10354.hs:14:1-15 AnnEqual = [Test10354.hs:14:5]) - -(AK Test10354.hs:14:1-15 AnnFunId = [Test10354.hs:14:1-3]) - -(AK Test10354.hs:14:1-15 AnnSemi = [Test10354.hs:15:1]) - -(AK <no location info> AnnEofPos = [Test10354.hs:15:1]) +((Test10354.hs:1:1,AnnModule), [Test10354.hs:2:1-6]), +((Test10354.hs:1:1,AnnWhere), [Test10354.hs:2:18-22]), +((Test10354.hs:4:1-34,AnnDcolon), [Test10354.hs:4:3-4]), +((Test10354.hs:4:1-34,AnnSemi), [Test10354.hs:5:1]), +((Test10354.hs:4:6-16,AnnCloseP), [Test10354.hs:4:16, Test10354.hs:4:15]), +((Test10354.hs:4:6-16,AnnDarrow), [Test10354.hs:4:18-19]), +((Test10354.hs:4:6-16,AnnOpenP), [Test10354.hs:4:6, Test10354.hs:4:7]), +((Test10354.hs:4:7-15,AnnCloseP), [Test10354.hs:4:15]), +((Test10354.hs:4:7-15,AnnOpenP), [Test10354.hs:4:7]), +((Test10354.hs:4:8-11,AnnComma), [Test10354.hs:4:12]), +((Test10354.hs:4:21-34,AnnRarrow), [Test10354.hs:4:23-24]), +((Test10354.hs:4:26-34,AnnRarrow), [Test10354.hs:4:28-29]), +((Test10354.hs:5:1-14,AnnEqual), [Test10354.hs:5:7]), +((Test10354.hs:5:1-14,AnnFunId), [Test10354.hs:5:1]), +((Test10354.hs:5:1-14,AnnSemi), [Test10354.hs:7:1]), +((Test10354.hs:5:9-14,AnnVal), [Test10354.hs:5:11-12]), +((Test10354.hs:7:1-24,AnnDcolon), [Test10354.hs:7:5-6]), +((Test10354.hs:7:1-24,AnnSemi), [Test10354.hs:8:1]), +((Test10354.hs:7:8-12,AnnCloseP), [Test10354.hs:7:12, Test10354.hs:7:12]), +((Test10354.hs:7:8-12,AnnDarrow), [Test10354.hs:7:14-15]), +((Test10354.hs:7:8-12,AnnOpenP), [Test10354.hs:7:8, Test10354.hs:7:8]), +((Test10354.hs:7:8-12,AnnUnit), [Test10354.hs:7:8-12]), +((Test10354.hs:7:17-24,AnnRarrow), [Test10354.hs:7:18-19]), +((Test10354.hs:8:1-15,AnnEqual), [Test10354.hs:8:5]), +((Test10354.hs:8:1-15,AnnFunId), [Test10354.hs:8:1-3]), +((Test10354.hs:8:1-15,AnnSemi), [Test10354.hs:10:1]), +((Test10354.hs:10:1-23,AnnDcolon), [Test10354.hs:10:5-6]), +((Test10354.hs:10:1-23,AnnSemi), [Test10354.hs:11:1]), +((Test10354.hs:10:8,AnnDarrow), [Test10354.hs:10:10-11]), +((Test10354.hs:10:13-23,AnnRarrow), [Test10354.hs:10:15-16]), +((Test10354.hs:11:1-15,AnnEqual), [Test10354.hs:11:5]), +((Test10354.hs:11:1-15,AnnFunId), [Test10354.hs:11:1-3]), +((Test10354.hs:11:1-15,AnnSemi), [Test10354.hs:13:1]), +((Test10354.hs:13:1-17,AnnDcolon), [Test10354.hs:13:5-6]), +((Test10354.hs:13:1-17,AnnSemi), [Test10354.hs:14:1]), +((Test10354.hs:14:1-15,AnnEqual), [Test10354.hs:14:5]), +((Test10354.hs:14:1-15,AnnFunId), [Test10354.hs:14:1-3]), +((Test10354.hs:14:1-15,AnnSemi), [Test10354.hs:15:1]), +((<no location info>,AnnEofPos), [Test10354.hs:15:1]) ] diff --git a/testsuite/tests/ghc-api/annotations/T10357.stdout b/testsuite/tests/ghc-api/annotations/T10357.stdout index 03862b2ee9..15d5139be5 100644 --- a/testsuite/tests/ghc-api/annotations/T10357.stdout +++ b/testsuite/tests/ghc-api/annotations/T10357.stdout @@ -1,110 +1,58 @@ ----Problems--------------------- +---Problems (should be empty list)--- +[] +---Annotations----------------------- +-- SrcSpan the annotation is attached to, AnnKeywordId, +-- list of locations the keyword item appears in [ -(AK <no location info> AnnEofPos = [Test10357.hs:14:1]) -] - ----Problems'-------------------- -[(AnnEofPos, Test10357.hs:14:1)] --------------------------------- -[ -(AK Test10357.hs:1:1 AnnModule = [Test10357.hs:2:1-6]) - -(AK Test10357.hs:1:1 AnnWhere = [Test10357.hs:2:18-22]) - -(AK Test10357.hs:(4,1)-(13,5) AnnEqual = [Test10357.hs:4:11]) - -(AK Test10357.hs:(4,1)-(13,5) AnnFunId = [Test10357.hs:4:1-9]) - -(AK Test10357.hs:(4,1)-(13,5) AnnSemi = [Test10357.hs:14:1]) - -(AK Test10357.hs:4:13-19 AnnVal = [Test10357.hs:4:17]) - -(AK Test10357.hs:(4,13)-(13,5) AnnVal = [Test10357.hs:4:21]) - -(AK Test10357.hs:(5,5)-(13,5) AnnCloseS = [Test10357.hs:13:5]) - -(AK Test10357.hs:(5,5)-(13,5) AnnOpenS = [Test10357.hs:5:5]) - -(AK Test10357.hs:(5,5)-(13,5) AnnVbar = [Test10357.hs:10:5]) - -(AK Test10357.hs:6:9-34 AnnCloseP = [Test10357.hs:6:34]) - -(AK Test10357.hs:6:9-34 AnnOpenP = [Test10357.hs:6:9]) - -(AK Test10357.hs:6:18-33 AnnCloseS = [Test10357.hs:6:33]) - -(AK Test10357.hs:6:18-33 AnnOpenS = [Test10357.hs:6:18]) - -(AK Test10357.hs:6:25-32 AnnCloseP = [Test10357.hs:6:32]) - -(AK Test10357.hs:6:25-32 AnnOpenP = [Test10357.hs:6:25]) - -(AK Test10357.hs:6:26-31 AnnVal = [Test10357.hs:6:29]) - -(AK Test10357.hs:(7,9)-(9,9) AnnCloseP = [Test10357.hs:9:9]) - -(AK Test10357.hs:(7,9)-(9,9) AnnOpenP = [Test10357.hs:7:9]) - -(AK Test10357.hs:7:18-57 AnnCloseP = [Test10357.hs:7:57]) - -(AK Test10357.hs:7:18-57 AnnOpenP = [Test10357.hs:7:18]) - -(AK Test10357.hs:7:19-56 AnnVal = [Test10357.hs:7:43-52]) - -(AK Test10357.hs:7:27-41 AnnCloseS = [Test10357.hs:7:41]) - -(AK Test10357.hs:7:27-41 AnnOpenS = [Test10357.hs:7:27]) - -(AK Test10357.hs:7:28 AnnComma = [Test10357.hs:7:29]) - -(AK Test10357.hs:7:31-36 AnnVal = [Test10357.hs:7:33]) - -(AK Test10357.hs:7:31-40 AnnVal = [Test10357.hs:7:38]) - -(AK Test10357.hs:7:43-52 AnnBackquote = [Test10357.hs:7:43, Test10357.hs:7:52]) - -(AK Test10357.hs:7:43-52 AnnVal = [Test10357.hs:7:44-51]) - -(AK Test10357.hs:8:18-59 AnnCloseP = [Test10357.hs:8:59]) - -(AK Test10357.hs:8:18-59 AnnOpenP = [Test10357.hs:8:18]) - -(AK Test10357.hs:8:19-58 AnnVal = [Test10357.hs:8:43-52]) - -(AK Test10357.hs:8:37-41 AnnCloseS = [Test10357.hs:8:41]) - -(AK Test10357.hs:8:37-41 AnnOpenS = [Test10357.hs:8:37]) - -(AK Test10357.hs:8:38-40 AnnMinus = [Test10357.hs:8:38]) - -(AK Test10357.hs:8:43-52 AnnBackquote = [Test10357.hs:8:43, Test10357.hs:8:52]) - -(AK Test10357.hs:8:43-52 AnnVal = [Test10357.hs:8:44-51]) - -(AK Test10357.hs:10:7-20 AnnComma = [Test10357.hs:10:21]) - -(AK Test10357.hs:10:7-20 AnnLarrow = [Test10357.hs:10:13-14]) - -(AK Test10357.hs:10:16-20 AnnCloseS = [Test10357.hs:10:20]) - -(AK Test10357.hs:10:16-20 AnnDotdot = [Test10357.hs:10:18-19]) - -(AK Test10357.hs:10:16-20 AnnOpenS = [Test10357.hs:10:16]) - -(AK Test10357.hs:10:23-44 AnnLet = [Test10357.hs:10:23-25]) - -(AK Test10357.hs:10:23-44 AnnVbar = [Test10357.hs:11:5]) - -(AK Test10357.hs:10:27-44 AnnEqual = [Test10357.hs:10:30]) - -(AK Test10357.hs:10:27-44 AnnFunId = [Test10357.hs:10:27-28]) - -(AK Test10357.hs:11:7-29 AnnLarrow = [Test10357.hs:11:13-14]) - -(AK Test10357.hs:11:7-29 AnnVbar = [Test10357.hs:12:5]) - -(AK Test10357.hs:12:7-24 AnnLarrow = [Test10357.hs:12:13-14]) - -(AK <no location info> AnnEofPos = [Test10357.hs:14:1]) +((Test10357.hs:1:1,AnnModule), [Test10357.hs:2:1-6]), +((Test10357.hs:1:1,AnnWhere), [Test10357.hs:2:18-22]), +((Test10357.hs:(4,1)-(13,5),AnnEqual), [Test10357.hs:4:11]), +((Test10357.hs:(4,1)-(13,5),AnnFunId), [Test10357.hs:4:1-9]), +((Test10357.hs:(4,1)-(13,5),AnnSemi), [Test10357.hs:14:1]), +((Test10357.hs:4:13-19,AnnVal), [Test10357.hs:4:17]), +((Test10357.hs:(4,13)-(13,5),AnnVal), [Test10357.hs:4:21]), +((Test10357.hs:(5,5)-(13,5),AnnCloseS), [Test10357.hs:13:5]), +((Test10357.hs:(5,5)-(13,5),AnnOpenS), [Test10357.hs:5:5]), +((Test10357.hs:(5,5)-(13,5),AnnVbar), [Test10357.hs:10:5]), +((Test10357.hs:6:9-34,AnnCloseP), [Test10357.hs:6:34]), +((Test10357.hs:6:9-34,AnnOpenP), [Test10357.hs:6:9]), +((Test10357.hs:6:18-33,AnnCloseS), [Test10357.hs:6:33]), +((Test10357.hs:6:18-33,AnnOpenS), [Test10357.hs:6:18]), +((Test10357.hs:6:25-32,AnnCloseP), [Test10357.hs:6:32]), +((Test10357.hs:6:25-32,AnnOpenP), [Test10357.hs:6:25]), +((Test10357.hs:6:26-31,AnnVal), [Test10357.hs:6:29]), +((Test10357.hs:(7,9)-(9,9),AnnCloseP), [Test10357.hs:9:9]), +((Test10357.hs:(7,9)-(9,9),AnnOpenP), [Test10357.hs:7:9]), +((Test10357.hs:7:18-57,AnnCloseP), [Test10357.hs:7:57]), +((Test10357.hs:7:18-57,AnnOpenP), [Test10357.hs:7:18]), +((Test10357.hs:7:19-56,AnnVal), [Test10357.hs:7:43-52]), +((Test10357.hs:7:27-41,AnnCloseS), [Test10357.hs:7:41]), +((Test10357.hs:7:27-41,AnnOpenS), [Test10357.hs:7:27]), +((Test10357.hs:7:28,AnnComma), [Test10357.hs:7:29]), +((Test10357.hs:7:31-36,AnnVal), [Test10357.hs:7:33]), +((Test10357.hs:7:31-40,AnnVal), [Test10357.hs:7:38]), +((Test10357.hs:7:43-52,AnnBackquote), [Test10357.hs:7:43, Test10357.hs:7:52]), +((Test10357.hs:7:43-52,AnnVal), [Test10357.hs:7:44-51]), +((Test10357.hs:8:18-59,AnnCloseP), [Test10357.hs:8:59]), +((Test10357.hs:8:18-59,AnnOpenP), [Test10357.hs:8:18]), +((Test10357.hs:8:19-58,AnnVal), [Test10357.hs:8:43-52]), +((Test10357.hs:8:37-41,AnnCloseS), [Test10357.hs:8:41]), +((Test10357.hs:8:37-41,AnnOpenS), [Test10357.hs:8:37]), +((Test10357.hs:8:38-40,AnnMinus), [Test10357.hs:8:38]), +((Test10357.hs:8:43-52,AnnBackquote), [Test10357.hs:8:43, Test10357.hs:8:52]), +((Test10357.hs:8:43-52,AnnVal), [Test10357.hs:8:44-51]), +((Test10357.hs:10:7-20,AnnComma), [Test10357.hs:10:21]), +((Test10357.hs:10:7-20,AnnLarrow), [Test10357.hs:10:13-14]), +((Test10357.hs:10:16-20,AnnCloseS), [Test10357.hs:10:20]), +((Test10357.hs:10:16-20,AnnDotdot), [Test10357.hs:10:18-19]), +((Test10357.hs:10:16-20,AnnOpenS), [Test10357.hs:10:16]), +((Test10357.hs:10:23-44,AnnLet), [Test10357.hs:10:23-25]), +((Test10357.hs:10:23-44,AnnVbar), [Test10357.hs:11:5]), +((Test10357.hs:10:27-44,AnnEqual), [Test10357.hs:10:30]), +((Test10357.hs:10:27-44,AnnFunId), [Test10357.hs:10:27-28]), +((Test10357.hs:11:7-29,AnnLarrow), [Test10357.hs:11:13-14]), +((Test10357.hs:11:7-29,AnnVbar), [Test10357.hs:12:5]), +((Test10357.hs:12:7-24,AnnLarrow), [Test10357.hs:12:13-14]), +((<no location info>,AnnEofPos), [Test10357.hs:14:1]) ] diff --git a/testsuite/tests/ghc-api/annotations/T10358.stdout b/testsuite/tests/ghc-api/annotations/T10358.stdout index f2f4fd858a..ae1ec8587f 100644 --- a/testsuite/tests/ghc-api/annotations/T10358.stdout +++ b/testsuite/tests/ghc-api/annotations/T10358.stdout @@ -1,58 +1,32 @@ ----Problems--------------------- +---Problems (should be empty list)--- +[] +---Annotations----------------------- +-- SrcSpan the annotation is attached to, AnnKeywordId, +-- list of locations the keyword item appears in [ -(AK <no location info> AnnEofPos = [Test10358.hs:9:1]) -] - ----Problems'-------------------- -[(AnnEofPos, Test10358.hs:9:1)] --------------------------------- -[ -(AK Test10358.hs:1:1 AnnModule = [Test10358.hs:2:1-6]) - -(AK Test10358.hs:1:1 AnnWhere = [Test10358.hs:2:18-22]) - -(AK Test10358.hs:(4,1)-(8,6) AnnEqual = [Test10358.hs:4:15]) - -(AK Test10358.hs:(4,1)-(8,6) AnnFunId = [Test10358.hs:4:1-7]) - -(AK Test10358.hs:(4,1)-(8,6) AnnSemi = [Test10358.hs:9:1]) - -(AK Test10358.hs:(5,3)-(8,6) AnnIn = [Test10358.hs:8:3-4]) - -(AK Test10358.hs:(5,3)-(8,6) AnnLet = [Test10358.hs:5:3-5]) - -(AK Test10358.hs:5:7-10 AnnBang = [Test10358.hs:5:7]) - -(AK Test10358.hs:5:7-16 AnnEqual = [Test10358.hs:5:12]) - -(AK Test10358.hs:5:7-16 AnnSemi = [Test10358.hs:5:17]) - -(AK Test10358.hs:5:14-16 AnnVal = [Test10358.hs:5:15]) - -(AK Test10358.hs:5:19-22 AnnBang = [Test10358.hs:5:19]) - -(AK Test10358.hs:5:19-32 AnnEqual = [Test10358.hs:5:24]) - -(AK Test10358.hs:5:19-32 AnnSemi = [Test10358.hs:6:7]) - -(AK Test10358.hs:5:26-32 AnnVal = [Test10358.hs:5:29]) - -(AK Test10358.hs:6:7-16 AnnEqual = [Test10358.hs:6:10]) - -(AK Test10358.hs:6:7-16 AnnFunId = [Test10358.hs:6:7-8]) - -(AK Test10358.hs:6:7-16 AnnSemi = [Test10358.hs:7:7]) - -(AK Test10358.hs:6:12-14 AnnVal = [Test10358.hs:6:13]) - -(AK Test10358.hs:6:12-16 AnnVal = [Test10358.hs:6:15]) - -(AK Test10358.hs:7:7-17 AnnEqual = [Test10358.hs:7:10]) - -(AK Test10358.hs:7:7-17 AnnFunId = [Test10358.hs:7:7-8]) - -(AK Test10358.hs:7:12-17 AnnVal = [Test10358.hs:7:14]) - -(AK <no location info> AnnEofPos = [Test10358.hs:9:1]) +((Test10358.hs:1:1,AnnModule), [Test10358.hs:2:1-6]), +((Test10358.hs:1:1,AnnWhere), [Test10358.hs:2:18-22]), +((Test10358.hs:(4,1)-(8,6),AnnEqual), [Test10358.hs:4:15]), +((Test10358.hs:(4,1)-(8,6),AnnFunId), [Test10358.hs:4:1-7]), +((Test10358.hs:(4,1)-(8,6),AnnSemi), [Test10358.hs:9:1]), +((Test10358.hs:(5,3)-(8,6),AnnIn), [Test10358.hs:8:3-4]), +((Test10358.hs:(5,3)-(8,6),AnnLet), [Test10358.hs:5:3-5]), +((Test10358.hs:5:7-10,AnnBang), [Test10358.hs:5:7]), +((Test10358.hs:5:7-16,AnnEqual), [Test10358.hs:5:12]), +((Test10358.hs:5:7-16,AnnSemi), [Test10358.hs:5:17]), +((Test10358.hs:5:14-16,AnnVal), [Test10358.hs:5:15]), +((Test10358.hs:5:19-22,AnnBang), [Test10358.hs:5:19]), +((Test10358.hs:5:19-32,AnnEqual), [Test10358.hs:5:24]), +((Test10358.hs:5:19-32,AnnSemi), [Test10358.hs:6:7]), +((Test10358.hs:5:26-32,AnnVal), [Test10358.hs:5:29]), +((Test10358.hs:6:7-16,AnnEqual), [Test10358.hs:6:10]), +((Test10358.hs:6:7-16,AnnFunId), [Test10358.hs:6:7-8]), +((Test10358.hs:6:7-16,AnnSemi), [Test10358.hs:7:7]), +((Test10358.hs:6:12-14,AnnVal), [Test10358.hs:6:13]), +((Test10358.hs:6:12-16,AnnVal), [Test10358.hs:6:15]), +((Test10358.hs:7:7-17,AnnEqual), [Test10358.hs:7:10]), +((Test10358.hs:7:7-17,AnnFunId), [Test10358.hs:7:7-8]), +((Test10358.hs:7:12-17,AnnVal), [Test10358.hs:7:14]), +((<no location info>,AnnEofPos), [Test10358.hs:9:1]) ] diff --git a/testsuite/tests/ghc-api/annotations/T10396.stdout b/testsuite/tests/ghc-api/annotations/T10396.stdout index 61d03994c8..0be529fc43 100644 --- a/testsuite/tests/ghc-api/annotations/T10396.stdout +++ b/testsuite/tests/ghc-api/annotations/T10396.stdout @@ -1,43 +1,25 @@ ----Problems--------------------- -[ -] - ----Problems'-------------------- +---Problems (should be empty list)--- [] --------------------------------- +---Annotations----------------------- +-- SrcSpan the annotation is attached to, AnnKeywordId, +-- list of locations the keyword item appears in [ -(AK Test10396.hs:1:1 AnnModule = [Test10396.hs:2:1-6]) - -(AK Test10396.hs:1:1 AnnWhere = [Test10396.hs:2:18-22]) - -(AK Test10396.hs:4:1-15 AnnDcolon = [Test10396.hs:4:8-9]) - -(AK Test10396.hs:4:1-15 AnnSemi = [Test10396.hs:5:1]) - -(AK Test10396.hs:4:14-15 AnnCloseP = [Test10396.hs:4:15]) - -(AK Test10396.hs:4:14-15 AnnOpenP = [Test10396.hs:4:14]) - -(AK Test10396.hs:(5,1)-(7,11) AnnEqual = [Test10396.hs:5:7]) - -(AK Test10396.hs:(5,1)-(7,11) AnnFunId = [Test10396.hs:5:1-6]) - -(AK Test10396.hs:(5,1)-(7,11) AnnSemi = [Test10396.hs:8:1]) - -(AK Test10396.hs:(5,9)-(7,11) AnnDo = [Test10396.hs:5:9-10]) - -(AK Test10396.hs:6:3-27 AnnLet = [Test10396.hs:6:3-5]) - -(AK Test10396.hs:6:3-27 AnnSemi = [Test10396.hs:7:3]) - -(AK Test10396.hs:6:7-15 AnnDcolon = [Test10396.hs:6:10-11]) - -(AK Test10396.hs:6:7-27 AnnEqual = [Test10396.hs:6:17]) - -(AK Test10396.hs:7:10-11 AnnCloseP = [Test10396.hs:7:11]) - -(AK Test10396.hs:7:10-11 AnnOpenP = [Test10396.hs:7:10]) - -(AK <no location info> AnnEofPos = [Test10396.hs:8:1]) +((Test10396.hs:1:1,AnnModule), [Test10396.hs:2:1-6]), +((Test10396.hs:1:1,AnnWhere), [Test10396.hs:2:18-22]), +((Test10396.hs:4:1-15,AnnDcolon), [Test10396.hs:4:8-9]), +((Test10396.hs:4:1-15,AnnSemi), [Test10396.hs:5:1]), +((Test10396.hs:4:14-15,AnnCloseP), [Test10396.hs:4:15]), +((Test10396.hs:4:14-15,AnnOpenP), [Test10396.hs:4:14]), +((Test10396.hs:(5,1)-(7,11),AnnEqual), [Test10396.hs:5:7]), +((Test10396.hs:(5,1)-(7,11),AnnFunId), [Test10396.hs:5:1-6]), +((Test10396.hs:(5,1)-(7,11),AnnSemi), [Test10396.hs:8:1]), +((Test10396.hs:(5,9)-(7,11),AnnDo), [Test10396.hs:5:9-10]), +((Test10396.hs:6:3-27,AnnLet), [Test10396.hs:6:3-5]), +((Test10396.hs:6:3-27,AnnSemi), [Test10396.hs:7:3]), +((Test10396.hs:6:7-15,AnnDcolon), [Test10396.hs:6:10-11]), +((Test10396.hs:6:7-27,AnnEqual), [Test10396.hs:6:17]), +((Test10396.hs:7:10-11,AnnCloseP), [Test10396.hs:7:11]), +((Test10396.hs:7:10-11,AnnOpenP), [Test10396.hs:7:10]), +((<no location info>,AnnEofPos), [Test10396.hs:8:1]) ] diff --git a/testsuite/tests/ghc-api/annotations/T10399.stdout b/testsuite/tests/ghc-api/annotations/T10399.stdout index face1c0127..58a4093aae 100644 --- a/testsuite/tests/ghc-api/annotations/T10399.stdout +++ b/testsuite/tests/ghc-api/annotations/T10399.stdout @@ -1,154 +1,79 @@ ----Problems--------------------- -[ -(AK Test10399.hs:(16,27)-(17,69) AnnCloseP = [Test10399.hs:17:69]) - -(AK Test10399.hs:(16,27)-(17,69) AnnOpenP = [Test10399.hs:16:27]) -] - ----Problems'-------------------- +---Problems (should be empty list)--- [] --------------------------------- +---Annotations----------------------- +-- SrcSpan the annotation is attached to, AnnKeywordId, +-- list of locations the keyword item appears in [ -(AK Test10399.hs:1:1 AnnModule = [Test10399.hs:8:1-6]) - -(AK Test10399.hs:1:1 AnnWhere = [Test10399.hs:8:18-22]) - -(AK Test10399.hs:10:1-35 AnnEqual = [Test10399.hs:10:10]) - -(AK Test10399.hs:10:1-35 AnnSemi = [Test10399.hs:12:1]) - -(AK Test10399.hs:10:1-35 AnnType = [Test10399.hs:10:1-4]) - -(AK Test10399.hs:10:12-35 AnnDcolon = [Test10399.hs:10:24-25]) - -(AK Test10399.hs:10:12-35 AnnVal = [Test10399.hs:10:12-22]) - -(AK Test10399.hs:12:1-66 AnnEqual = [Test10399.hs:12:8]) - -(AK Test10399.hs:12:1-66 AnnFunId = [Test10399.hs:12:1-6]) - -(AK Test10399.hs:12:1-66 AnnSemi = [Test10399.hs:14:1]) - -(AK Test10399.hs:12:10-66 AnnVal = [Test10399.hs:12:17]) - -(AK Test10399.hs:12:23-66 AnnCloseP = [Test10399.hs:12:66]) - -(AK Test10399.hs:12:23-66 AnnOpenP = [Test10399.hs:12:23]) - -(AK Test10399.hs:12:24-33 AnnCloseP = [Test10399.hs:12:33]) - -(AK Test10399.hs:12:24-33 AnnOpenP = [Test10399.hs:12:24]) - -(AK Test10399.hs:12:24-44 AnnVal = [Test10399.hs:12:35-37]) - -(AK Test10399.hs:12:24-54 AnnVal = [Test10399.hs:12:46-48]) - -(AK Test10399.hs:12:24-65 AnnVal = [Test10399.hs:12:56-58]) - -(AK Test10399.hs:12:25 AnnComma = [Test10399.hs:12:25]) - -(AK Test10399.hs:12:26 AnnComma = [Test10399.hs:12:26]) - -(AK Test10399.hs:12:27-28 AnnCloseP = [Test10399.hs:12:28]) - -(AK Test10399.hs:12:27-28 AnnComma = [Test10399.hs:12:29]) - -(AK Test10399.hs:12:27-28 AnnOpenP = [Test10399.hs:12:27]) - -(AK Test10399.hs:12:30 AnnComma = [Test10399.hs:12:30]) - -(AK Test10399.hs:12:31-32 AnnCloseP = [Test10399.hs:12:32]) - -(AK Test10399.hs:12:31-32 AnnOpenP = [Test10399.hs:12:31]) - -(AK Test10399.hs:(14,1)-(17,69) AnnData = [Test10399.hs:14:1-4]) - -(AK Test10399.hs:(14,1)-(17,69) AnnSemi = [Test10399.hs:19:1]) - -(AK Test10399.hs:(14,1)-(17,69) AnnWhere = [Test10399.hs:14:21-25]) - -(AK Test10399.hs:15:5-64 AnnDcolon = [Test10399.hs:15:11-12]) - -(AK Test10399.hs:15:5-64 AnnSemi = [Test10399.hs:16:5]) - -(AK Test10399.hs:15:14-64 AnnDot = [Test10399.hs:15:23]) - -(AK Test10399.hs:15:14-64 AnnForall = [Test10399.hs:15:14-19]) - -(AK Test10399.hs:15:25-40 AnnCloseP = [Test10399.hs:15:40, Test10399.hs:15:40]) - -(AK Test10399.hs:15:25-40 AnnDarrow = [Test10399.hs:15:42-43]) - -(AK Test10399.hs:15:25-40 AnnOpenP = [Test10399.hs:15:25, Test10399.hs:15:25]) - -(AK Test10399.hs:15:27-30 AnnComma = [Test10399.hs:15:31]) - -(AK Test10399.hs:15:45-46 AnnBang = [Test10399.hs:15:45]) - -(AK Test10399.hs:15:45-46 AnnRarrow = [Test10399.hs:15:48-49]) - -(AK Test10399.hs:15:45-64 AnnRarrow = [Test10399.hs:15:48-49]) - -(AK Test10399.hs:(16,5)-(17,69) AnnCloseP = [Test10399.hs:17:69]) - -(AK Test10399.hs:(16,5)-(17,69) AnnDcolon = [Test10399.hs:16:12-13]) - -(AK Test10399.hs:(16,5)-(17,69) AnnOpenP = [Test10399.hs:16:27]) - -(AK Test10399.hs:(16,15)-(17,69) AnnDot = [Test10399.hs:16:25]) - -(AK Test10399.hs:(16,15)-(17,69) AnnForall = [Test10399.hs:16:15-20]) - -(AK Test10399.hs:(16,27)-(17,69) AnnCloseP = [Test10399.hs:17:69]) - -(AK Test10399.hs:(16,27)-(17,69) AnnOpenP = [Test10399.hs:16:27]) - -(AK Test10399.hs:16:28-43 AnnCloseP = [Test10399.hs:16:43, Test10399.hs:16:43]) - -(AK Test10399.hs:16:28-43 AnnDarrow = [Test10399.hs:16:45-46]) - -(AK Test10399.hs:16:28-43 AnnOpenP = [Test10399.hs:16:28, Test10399.hs:16:28]) - -(AK Test10399.hs:16:30-33 AnnComma = [Test10399.hs:16:34]) - -(AK Test10399.hs:16:48 AnnRarrow = [Test10399.hs:16:50-51]) - -(AK Test10399.hs:(16,48)-(17,68) AnnRarrow = [Test10399.hs:16:50-51]) - -(AK Test10399.hs:16:53-66 AnnRarrow = [Test10399.hs:17:45-46]) - -(AK Test10399.hs:(16,53)-(17,68) AnnRarrow = [Test10399.hs:17:45-46]) - -(AK Test10399.hs:17:48 AnnRarrow = [Test10399.hs:17:50-51]) - -(AK Test10399.hs:17:48-68 AnnRarrow = [Test10399.hs:17:50-51]) - -(AK Test10399.hs:17:66-68 AnnCloseS = [Test10399.hs:17:68]) - -(AK Test10399.hs:17:66-68 AnnOpenS = [Test10399.hs:17:66]) - -(AK Test10399.hs:19:1-25 AnnClose = [Test10399.hs:19:24-25]) - -(AK Test10399.hs:19:1-25 AnnOpen = [Test10399.hs:19:1-3]) - -(AK Test10399.hs:19:1-25 AnnSemi = [Test10399.hs:21:1]) - -(AK Test10399.hs:19:20-22 AnnThIdSplice = [Test10399.hs:19:20-22]) - -(AK Test10399.hs:21:1-21 AnnEqual = [Test10399.hs:21:19]) - -(AK Test10399.hs:21:1-21 AnnFunId = [Test10399.hs:21:1-3]) - -(AK Test10399.hs:21:1-21 AnnSemi = [Test10399.hs:22:1]) - -(AK Test10399.hs:21:5-17 AnnCloseP = [Test10399.hs:21:17]) - -(AK Test10399.hs:21:5-17 AnnOpenPE = [Test10399.hs:21:5-6]) - -(AK Test10399.hs:21:8-15 AnnClose = [Test10399.hs:21:14-15]) - -(AK Test10399.hs:21:8-15 AnnOpen = [Test10399.hs:21:8-10]) - -(AK <no location info> AnnEofPos = [Test10399.hs:22:1]) +((Test10399.hs:1:1,AnnModule), [Test10399.hs:8:1-6]), +((Test10399.hs:1:1,AnnWhere), [Test10399.hs:8:18-22]), +((Test10399.hs:10:1-35,AnnEqual), [Test10399.hs:10:10]), +((Test10399.hs:10:1-35,AnnSemi), [Test10399.hs:12:1]), +((Test10399.hs:10:1-35,AnnType), [Test10399.hs:10:1-4]), +((Test10399.hs:10:12-35,AnnDcolon), [Test10399.hs:10:24-25]), +((Test10399.hs:10:12-35,AnnVal), [Test10399.hs:10:12-22]), +((Test10399.hs:12:1-66,AnnEqual), [Test10399.hs:12:8]), +((Test10399.hs:12:1-66,AnnFunId), [Test10399.hs:12:1-6]), +((Test10399.hs:12:1-66,AnnSemi), [Test10399.hs:14:1]), +((Test10399.hs:12:10-66,AnnVal), [Test10399.hs:12:17]), +((Test10399.hs:12:23-66,AnnCloseP), [Test10399.hs:12:66]), +((Test10399.hs:12:23-66,AnnOpenP), [Test10399.hs:12:23]), +((Test10399.hs:12:24-33,AnnCloseP), [Test10399.hs:12:33]), +((Test10399.hs:12:24-33,AnnOpenP), [Test10399.hs:12:24]), +((Test10399.hs:12:24-44,AnnVal), [Test10399.hs:12:35-37]), +((Test10399.hs:12:24-54,AnnVal), [Test10399.hs:12:46-48]), +((Test10399.hs:12:24-65,AnnVal), [Test10399.hs:12:56-58]), +((Test10399.hs:12:25,AnnComma), [Test10399.hs:12:25]), +((Test10399.hs:12:26,AnnComma), [Test10399.hs:12:26]), +((Test10399.hs:12:27-28,AnnCloseP), [Test10399.hs:12:28]), +((Test10399.hs:12:27-28,AnnComma), [Test10399.hs:12:29]), +((Test10399.hs:12:27-28,AnnOpenP), [Test10399.hs:12:27]), +((Test10399.hs:12:30,AnnComma), [Test10399.hs:12:30]), +((Test10399.hs:12:31-32,AnnCloseP), [Test10399.hs:12:32]), +((Test10399.hs:12:31-32,AnnOpenP), [Test10399.hs:12:31]), +((Test10399.hs:(14,1)-(17,69),AnnData), [Test10399.hs:14:1-4]), +((Test10399.hs:(14,1)-(17,69),AnnSemi), [Test10399.hs:19:1]), +((Test10399.hs:(14,1)-(17,69),AnnWhere), [Test10399.hs:14:21-25]), +((Test10399.hs:15:5-64,AnnDcolon), [Test10399.hs:15:11-12]), +((Test10399.hs:15:5-64,AnnSemi), [Test10399.hs:16:5]), +((Test10399.hs:15:14-64,AnnDot), [Test10399.hs:15:23]), +((Test10399.hs:15:14-64,AnnForall), [Test10399.hs:15:14-19]), +((Test10399.hs:15:25-40,AnnCloseP), [Test10399.hs:15:40, Test10399.hs:15:40]), +((Test10399.hs:15:25-40,AnnDarrow), [Test10399.hs:15:42-43]), +((Test10399.hs:15:25-40,AnnOpenP), [Test10399.hs:15:25, Test10399.hs:15:25]), +((Test10399.hs:15:27-30,AnnComma), [Test10399.hs:15:31]), +((Test10399.hs:15:45-46,AnnBang), [Test10399.hs:15:45]), +((Test10399.hs:15:45-46,AnnRarrow), [Test10399.hs:15:48-49]), +((Test10399.hs:15:45-64,AnnRarrow), [Test10399.hs:15:48-49]), +((Test10399.hs:(16,5)-(17,69),AnnCloseP), [Test10399.hs:17:69]), +((Test10399.hs:(16,5)-(17,69),AnnDcolon), [Test10399.hs:16:12-13]), +((Test10399.hs:(16,5)-(17,69),AnnOpenP), [Test10399.hs:16:27]), +((Test10399.hs:(16,15)-(17,69),AnnDot), [Test10399.hs:16:25]), +((Test10399.hs:(16,15)-(17,69),AnnForall), [Test10399.hs:16:15-20]), +((Test10399.hs:(16,27)-(17,69),AnnCloseP), [Test10399.hs:17:69]), +((Test10399.hs:(16,27)-(17,69),AnnOpenP), [Test10399.hs:16:27]), +((Test10399.hs:16:28-43,AnnCloseP), [Test10399.hs:16:43, Test10399.hs:16:43]), +((Test10399.hs:16:28-43,AnnDarrow), [Test10399.hs:16:45-46]), +((Test10399.hs:16:28-43,AnnOpenP), [Test10399.hs:16:28, Test10399.hs:16:28]), +((Test10399.hs:16:30-33,AnnComma), [Test10399.hs:16:34]), +((Test10399.hs:16:48,AnnRarrow), [Test10399.hs:16:50-51]), +((Test10399.hs:(16,48)-(17,68),AnnRarrow), [Test10399.hs:16:50-51]), +((Test10399.hs:16:53-66,AnnRarrow), [Test10399.hs:17:45-46]), +((Test10399.hs:(16,53)-(17,68),AnnRarrow), [Test10399.hs:17:45-46]), +((Test10399.hs:17:48,AnnRarrow), [Test10399.hs:17:50-51]), +((Test10399.hs:17:48-68,AnnRarrow), [Test10399.hs:17:50-51]), +((Test10399.hs:17:66-68,AnnCloseS), [Test10399.hs:17:68]), +((Test10399.hs:17:66-68,AnnOpenS), [Test10399.hs:17:66]), +((Test10399.hs:19:1-25,AnnClose), [Test10399.hs:19:24-25]), +((Test10399.hs:19:1-25,AnnOpen), [Test10399.hs:19:1-3]), +((Test10399.hs:19:1-25,AnnSemi), [Test10399.hs:21:1]), +((Test10399.hs:19:20-22,AnnThIdSplice), [Test10399.hs:19:20-22]), +((Test10399.hs:21:1-21,AnnEqual), [Test10399.hs:21:19]), +((Test10399.hs:21:1-21,AnnFunId), [Test10399.hs:21:1-3]), +((Test10399.hs:21:1-21,AnnSemi), [Test10399.hs:22:1]), +((Test10399.hs:21:5-17,AnnCloseP), [Test10399.hs:21:17]), +((Test10399.hs:21:5-17,AnnOpenPE), [Test10399.hs:21:5-6]), +((Test10399.hs:21:8-15,AnnClose), [Test10399.hs:21:14-15]), +((Test10399.hs:21:8-15,AnnOpen), [Test10399.hs:21:8-10]), +((<no location info>,AnnEofPos), [Test10399.hs:22:1]) ] diff --git a/testsuite/tests/ghc-api/annotations/boolFormula.stdout b/testsuite/tests/ghc-api/annotations/boolFormula.stdout index 9fdec6c2b9..62359ad1ad 100644 --- a/testsuite/tests/ghc-api/annotations/boolFormula.stdout +++ b/testsuite/tests/ghc-api/annotations/boolFormula.stdout @@ -1,225 +1,118 @@ ----Problems--------------------- -[ -] - ----Problems'-------------------- +---Problems (should be empty list)--- [] --------------------------------- +---Annotations----------------------- +-- SrcSpan the annotation is attached to, AnnKeywordId, +-- list of locations the keyword item appears in [ -(AK TestBoolFormula.hs:1:1 AnnModule = [TestBoolFormula.hs:1:1-6]) - -(AK TestBoolFormula.hs:1:1 AnnWhere = [TestBoolFormula.hs:1:24-28]) - -(AK TestBoolFormula.hs:(3,1)-(19,9) AnnClass = [TestBoolFormula.hs:3:1-5]) - -(AK TestBoolFormula.hs:(3,1)-(19,9) AnnSemi = [TestBoolFormula.hs:21:1]) - -(AK TestBoolFormula.hs:(3,1)-(19,9) AnnWhere = [TestBoolFormula.hs:3:17-21]) - -(AK TestBoolFormula.hs:4:5-25 AnnDcolon = [TestBoolFormula.hs:4:9-10]) - -(AK TestBoolFormula.hs:4:5-25 AnnSemi = [TestBoolFormula.hs:5:5]) - -(AK TestBoolFormula.hs:4:12-25 AnnRarrow = [TestBoolFormula.hs:4:14-15]) - -(AK TestBoolFormula.hs:4:17-25 AnnRarrow = [TestBoolFormula.hs:4:19-20]) - -(AK TestBoolFormula.hs:5:5-19 AnnEqual = [TestBoolFormula.hs:5:9]) - -(AK TestBoolFormula.hs:5:5-19 AnnFunId = [TestBoolFormula.hs:5:5-7]) - -(AK TestBoolFormula.hs:5:5-19 AnnSemi = [TestBoolFormula.hs:6:5]) - -(AK TestBoolFormula.hs:6:5-25 AnnDcolon = [TestBoolFormula.hs:6:9-10]) - -(AK TestBoolFormula.hs:6:5-25 AnnSemi = [TestBoolFormula.hs:7:5]) - -(AK TestBoolFormula.hs:6:12-25 AnnRarrow = [TestBoolFormula.hs:6:14-15]) - -(AK TestBoolFormula.hs:6:17-25 AnnRarrow = [TestBoolFormula.hs:6:19-20]) - -(AK TestBoolFormula.hs:7:5-19 AnnEqual = [TestBoolFormula.hs:7:9]) - -(AK TestBoolFormula.hs:7:5-19 AnnFunId = [TestBoolFormula.hs:7:5-7]) - -(AK TestBoolFormula.hs:7:5-19 AnnSemi = [TestBoolFormula.hs:8:5]) - -(AK TestBoolFormula.hs:8:5-25 AnnDcolon = [TestBoolFormula.hs:8:9-10]) - -(AK TestBoolFormula.hs:8:5-25 AnnSemi = [TestBoolFormula.hs:9:5]) - -(AK TestBoolFormula.hs:8:12-25 AnnRarrow = [TestBoolFormula.hs:8:14-15]) - -(AK TestBoolFormula.hs:8:17-25 AnnRarrow = [TestBoolFormula.hs:8:19-20]) - -(AK TestBoolFormula.hs:9:5-19 AnnEqual = [TestBoolFormula.hs:9:9]) - -(AK TestBoolFormula.hs:9:5-19 AnnFunId = [TestBoolFormula.hs:9:5-7]) - -(AK TestBoolFormula.hs:9:5-19 AnnSemi = [TestBoolFormula.hs:10:5]) - -(AK TestBoolFormula.hs:10:5-25 AnnDcolon = [TestBoolFormula.hs:10:9-10]) - -(AK TestBoolFormula.hs:10:5-25 AnnSemi = [TestBoolFormula.hs:11:5]) - -(AK TestBoolFormula.hs:10:12-25 AnnRarrow = [TestBoolFormula.hs:10:14-15]) - -(AK TestBoolFormula.hs:10:17-25 AnnRarrow = [TestBoolFormula.hs:10:19-20]) - -(AK TestBoolFormula.hs:11:5-19 AnnEqual = [TestBoolFormula.hs:11:9]) - -(AK TestBoolFormula.hs:11:5-19 AnnFunId = [TestBoolFormula.hs:11:5-7]) - -(AK TestBoolFormula.hs:11:5-19 AnnSemi = [TestBoolFormula.hs:12:5]) - -(AK TestBoolFormula.hs:12:5-25 AnnDcolon = [TestBoolFormula.hs:12:9-10]) - -(AK TestBoolFormula.hs:12:5-25 AnnSemi = [TestBoolFormula.hs:13:5]) - -(AK TestBoolFormula.hs:12:12-25 AnnRarrow = [TestBoolFormula.hs:12:14-15]) - -(AK TestBoolFormula.hs:12:17-25 AnnRarrow = [TestBoolFormula.hs:12:19-20]) - -(AK TestBoolFormula.hs:13:5-19 AnnEqual = [TestBoolFormula.hs:13:9]) - -(AK TestBoolFormula.hs:13:5-19 AnnFunId = [TestBoolFormula.hs:13:5-7]) - -(AK TestBoolFormula.hs:13:5-19 AnnSemi = [TestBoolFormula.hs:14:5]) - -(AK TestBoolFormula.hs:14:5-25 AnnDcolon = [TestBoolFormula.hs:14:9-10]) - -(AK TestBoolFormula.hs:14:5-25 AnnSemi = [TestBoolFormula.hs:15:5]) - -(AK TestBoolFormula.hs:14:12-25 AnnRarrow = [TestBoolFormula.hs:14:14-15]) - -(AK TestBoolFormula.hs:14:17-25 AnnRarrow = [TestBoolFormula.hs:14:19-20]) - -(AK TestBoolFormula.hs:15:5-19 AnnEqual = [TestBoolFormula.hs:15:9]) - -(AK TestBoolFormula.hs:15:5-19 AnnFunId = [TestBoolFormula.hs:15:5-7]) - -(AK TestBoolFormula.hs:15:5-19 AnnSemi = [TestBoolFormula.hs:16:5]) - -(AK TestBoolFormula.hs:(16,5)-(19,9) AnnClose = [TestBoolFormula.hs:19:7-9]) - -(AK TestBoolFormula.hs:(16,5)-(19,9) AnnCloseP = [TestBoolFormula.hs:16:23, TestBoolFormula.hs:17:31, - TestBoolFormula.hs:18:38, TestBoolFormula.hs:18:31]) - -(AK TestBoolFormula.hs:(16,5)-(19,9) AnnComma = [TestBoolFormula.hs:17:26, TestBoolFormula.hs:18:33]) - -(AK TestBoolFormula.hs:(16,5)-(19,9) AnnOpen = [TestBoolFormula.hs:16:5-15]) - -(AK TestBoolFormula.hs:(16,5)-(19,9) AnnOpenP = [TestBoolFormula.hs:16:18, TestBoolFormula.hs:17:18, - TestBoolFormula.hs:18:18, TestBoolFormula.hs:18:19]) - -(AK TestBoolFormula.hs:(16,5)-(19,9) AnnVbar = [TestBoolFormula.hs:17:16, TestBoolFormula.hs:18:16, - TestBoolFormula.hs:18:25]) - -(AK TestBoolFormula.hs:(21,1)-(30,47) AnnClass = [TestBoolFormula.hs:21:1-5]) - -(AK TestBoolFormula.hs:(21,1)-(30,47) AnnSemi = [TestBoolFormula.hs:32:1]) - -(AK TestBoolFormula.hs:(21,1)-(30,47) AnnWhere = [TestBoolFormula.hs:21:13-17]) - -(AK TestBoolFormula.hs:22:5-25 AnnDcolon = [TestBoolFormula.hs:22:9-10]) - -(AK TestBoolFormula.hs:22:5-25 AnnSemi = [TestBoolFormula.hs:23:5]) - -(AK TestBoolFormula.hs:22:12-25 AnnRarrow = [TestBoolFormula.hs:22:14-15]) - -(AK TestBoolFormula.hs:22:17-25 AnnRarrow = [TestBoolFormula.hs:22:19-20]) - -(AK TestBoolFormula.hs:23:5-25 AnnDcolon = [TestBoolFormula.hs:23:9-10]) - -(AK TestBoolFormula.hs:23:5-25 AnnSemi = [TestBoolFormula.hs:24:5]) - -(AK TestBoolFormula.hs:23:12-25 AnnRarrow = [TestBoolFormula.hs:23:14-15]) - -(AK TestBoolFormula.hs:23:17-25 AnnRarrow = [TestBoolFormula.hs:23:19-20]) - -(AK TestBoolFormula.hs:24:5-25 AnnDcolon = [TestBoolFormula.hs:24:9-10]) - -(AK TestBoolFormula.hs:24:5-25 AnnSemi = [TestBoolFormula.hs:25:5]) - -(AK TestBoolFormula.hs:24:12-25 AnnRarrow = [TestBoolFormula.hs:24:14-15]) - -(AK TestBoolFormula.hs:24:17-25 AnnRarrow = [TestBoolFormula.hs:24:19-20]) - -(AK TestBoolFormula.hs:25:5-19 AnnEqual = [TestBoolFormula.hs:25:9]) - -(AK TestBoolFormula.hs:25:5-19 AnnFunId = [TestBoolFormula.hs:25:5-7]) - -(AK TestBoolFormula.hs:25:5-19 AnnSemi = [TestBoolFormula.hs:26:5]) - -(AK TestBoolFormula.hs:26:5-25 AnnDcolon = [TestBoolFormula.hs:26:9-10]) - -(AK TestBoolFormula.hs:26:5-25 AnnSemi = [TestBoolFormula.hs:27:5]) - -(AK TestBoolFormula.hs:26:12-25 AnnRarrow = [TestBoolFormula.hs:26:14-15]) - -(AK TestBoolFormula.hs:26:17-25 AnnRarrow = [TestBoolFormula.hs:26:19-20]) - -(AK TestBoolFormula.hs:27:5-19 AnnEqual = [TestBoolFormula.hs:27:9]) - -(AK TestBoolFormula.hs:27:5-19 AnnFunId = [TestBoolFormula.hs:27:5-7]) - -(AK TestBoolFormula.hs:27:5-19 AnnSemi = [TestBoolFormula.hs:28:5]) - -(AK TestBoolFormula.hs:28:5-26 AnnDcolon = [TestBoolFormula.hs:28:10-11]) - -(AK TestBoolFormula.hs:28:5-26 AnnSemi = [TestBoolFormula.hs:29:5]) - -(AK TestBoolFormula.hs:28:13-26 AnnRarrow = [TestBoolFormula.hs:28:15-16]) - -(AK TestBoolFormula.hs:28:18-26 AnnRarrow = [TestBoolFormula.hs:28:20-21]) - -(AK TestBoolFormula.hs:29:5-20 AnnEqual = [TestBoolFormula.hs:29:10]) - -(AK TestBoolFormula.hs:29:5-20 AnnFunId = [TestBoolFormula.hs:29:5-8]) - -(AK TestBoolFormula.hs:29:5-20 AnnSemi = [TestBoolFormula.hs:30:5]) - -(AK TestBoolFormula.hs:30:5-47 AnnClose = [TestBoolFormula.hs:30:45-47]) - -(AK TestBoolFormula.hs:30:5-47 AnnCloseP = [TestBoolFormula.hs:30:43]) - -(AK TestBoolFormula.hs:30:5-47 AnnComma = [TestBoolFormula.hs:30:20, TestBoolFormula.hs:30:26, - TestBoolFormula.hs:30:37]) - -(AK TestBoolFormula.hs:30:5-47 AnnOpen = [TestBoolFormula.hs:30:5-15]) - -(AK TestBoolFormula.hs:30:5-47 AnnOpenP = [TestBoolFormula.hs:30:22]) - -(AK TestBoolFormula.hs:30:5-47 AnnVbar = [TestBoolFormula.hs:30:32]) - -(AK TestBoolFormula.hs:(32,1)-(36,19) AnnInstance = [TestBoolFormula.hs:32:1-8]) - -(AK TestBoolFormula.hs:(32,1)-(36,19) AnnSemi = [TestBoolFormula.hs:37:1]) - -(AK TestBoolFormula.hs:(32,1)-(36,19) AnnWhere = [TestBoolFormula.hs:32:18-22]) - -(AK TestBoolFormula.hs:33:5-19 AnnEqual = [TestBoolFormula.hs:33:9]) - -(AK TestBoolFormula.hs:33:5-19 AnnFunId = [TestBoolFormula.hs:33:5-7]) - -(AK TestBoolFormula.hs:33:5-19 AnnSemi = [TestBoolFormula.hs:34:5]) - -(AK TestBoolFormula.hs:34:5-19 AnnEqual = [TestBoolFormula.hs:34:9]) - -(AK TestBoolFormula.hs:34:5-19 AnnFunId = [TestBoolFormula.hs:34:5-7]) - -(AK TestBoolFormula.hs:34:5-19 AnnSemi = [TestBoolFormula.hs:35:5]) - -(AK TestBoolFormula.hs:35:5-20 AnnEqual = [TestBoolFormula.hs:35:10]) - -(AK TestBoolFormula.hs:35:5-20 AnnFunId = [TestBoolFormula.hs:35:5-8]) - -(AK TestBoolFormula.hs:35:5-20 AnnSemi = [TestBoolFormula.hs:36:5]) - -(AK TestBoolFormula.hs:36:5-19 AnnEqual = [TestBoolFormula.hs:36:9]) - -(AK TestBoolFormula.hs:36:5-19 AnnFunId = [TestBoolFormula.hs:36:5-7]) - -(AK <no location info> AnnEofPos = [TestBoolFormula.hs:37:1]) +((TestBoolFormula.hs:1:1,AnnModule), [TestBoolFormula.hs:1:1-6]), +((TestBoolFormula.hs:1:1,AnnWhere), [TestBoolFormula.hs:1:24-28]), +((TestBoolFormula.hs:(3,1)-(19,9),AnnClass), [TestBoolFormula.hs:3:1-5]), +((TestBoolFormula.hs:(3,1)-(19,9),AnnSemi), [TestBoolFormula.hs:21:1]), +((TestBoolFormula.hs:(3,1)-(19,9),AnnWhere), [TestBoolFormula.hs:3:17-21]), +((TestBoolFormula.hs:4:5-25,AnnDcolon), [TestBoolFormula.hs:4:9-10]), +((TestBoolFormula.hs:4:5-25,AnnSemi), [TestBoolFormula.hs:5:5]), +((TestBoolFormula.hs:4:12-25,AnnRarrow), [TestBoolFormula.hs:4:14-15]), +((TestBoolFormula.hs:4:17-25,AnnRarrow), [TestBoolFormula.hs:4:19-20]), +((TestBoolFormula.hs:5:5-19,AnnEqual), [TestBoolFormula.hs:5:9]), +((TestBoolFormula.hs:5:5-19,AnnFunId), [TestBoolFormula.hs:5:5-7]), +((TestBoolFormula.hs:5:5-19,AnnSemi), [TestBoolFormula.hs:6:5]), +((TestBoolFormula.hs:6:5-25,AnnDcolon), [TestBoolFormula.hs:6:9-10]), +((TestBoolFormula.hs:6:5-25,AnnSemi), [TestBoolFormula.hs:7:5]), +((TestBoolFormula.hs:6:12-25,AnnRarrow), [TestBoolFormula.hs:6:14-15]), +((TestBoolFormula.hs:6:17-25,AnnRarrow), [TestBoolFormula.hs:6:19-20]), +((TestBoolFormula.hs:7:5-19,AnnEqual), [TestBoolFormula.hs:7:9]), +((TestBoolFormula.hs:7:5-19,AnnFunId), [TestBoolFormula.hs:7:5-7]), +((TestBoolFormula.hs:7:5-19,AnnSemi), [TestBoolFormula.hs:8:5]), +((TestBoolFormula.hs:8:5-25,AnnDcolon), [TestBoolFormula.hs:8:9-10]), +((TestBoolFormula.hs:8:5-25,AnnSemi), [TestBoolFormula.hs:9:5]), +((TestBoolFormula.hs:8:12-25,AnnRarrow), [TestBoolFormula.hs:8:14-15]), +((TestBoolFormula.hs:8:17-25,AnnRarrow), [TestBoolFormula.hs:8:19-20]), +((TestBoolFormula.hs:9:5-19,AnnEqual), [TestBoolFormula.hs:9:9]), +((TestBoolFormula.hs:9:5-19,AnnFunId), [TestBoolFormula.hs:9:5-7]), +((TestBoolFormula.hs:9:5-19,AnnSemi), [TestBoolFormula.hs:10:5]), +((TestBoolFormula.hs:10:5-25,AnnDcolon), [TestBoolFormula.hs:10:9-10]), +((TestBoolFormula.hs:10:5-25,AnnSemi), [TestBoolFormula.hs:11:5]), +((TestBoolFormula.hs:10:12-25,AnnRarrow), [TestBoolFormula.hs:10:14-15]), +((TestBoolFormula.hs:10:17-25,AnnRarrow), [TestBoolFormula.hs:10:19-20]), +((TestBoolFormula.hs:11:5-19,AnnEqual), [TestBoolFormula.hs:11:9]), +((TestBoolFormula.hs:11:5-19,AnnFunId), [TestBoolFormula.hs:11:5-7]), +((TestBoolFormula.hs:11:5-19,AnnSemi), [TestBoolFormula.hs:12:5]), +((TestBoolFormula.hs:12:5-25,AnnDcolon), [TestBoolFormula.hs:12:9-10]), +((TestBoolFormula.hs:12:5-25,AnnSemi), [TestBoolFormula.hs:13:5]), +((TestBoolFormula.hs:12:12-25,AnnRarrow), [TestBoolFormula.hs:12:14-15]), +((TestBoolFormula.hs:12:17-25,AnnRarrow), [TestBoolFormula.hs:12:19-20]), +((TestBoolFormula.hs:13:5-19,AnnEqual), [TestBoolFormula.hs:13:9]), +((TestBoolFormula.hs:13:5-19,AnnFunId), [TestBoolFormula.hs:13:5-7]), +((TestBoolFormula.hs:13:5-19,AnnSemi), [TestBoolFormula.hs:14:5]), +((TestBoolFormula.hs:14:5-25,AnnDcolon), [TestBoolFormula.hs:14:9-10]), +((TestBoolFormula.hs:14:5-25,AnnSemi), [TestBoolFormula.hs:15:5]), +((TestBoolFormula.hs:14:12-25,AnnRarrow), [TestBoolFormula.hs:14:14-15]), +((TestBoolFormula.hs:14:17-25,AnnRarrow), [TestBoolFormula.hs:14:19-20]), +((TestBoolFormula.hs:15:5-19,AnnEqual), [TestBoolFormula.hs:15:9]), +((TestBoolFormula.hs:15:5-19,AnnFunId), [TestBoolFormula.hs:15:5-7]), +((TestBoolFormula.hs:15:5-19,AnnSemi), [TestBoolFormula.hs:16:5]), +((TestBoolFormula.hs:(16,5)-(19,9),AnnClose), [TestBoolFormula.hs:19:7-9]), +((TestBoolFormula.hs:(16,5)-(19,9),AnnCloseP), [TestBoolFormula.hs:16:23, TestBoolFormula.hs:17:31, + TestBoolFormula.hs:18:38, TestBoolFormula.hs:18:31]), +((TestBoolFormula.hs:(16,5)-(19,9),AnnComma), [TestBoolFormula.hs:17:26, TestBoolFormula.hs:18:33]), +((TestBoolFormula.hs:(16,5)-(19,9),AnnOpen), [TestBoolFormula.hs:16:5-15]), +((TestBoolFormula.hs:(16,5)-(19,9),AnnOpenP), [TestBoolFormula.hs:16:18, TestBoolFormula.hs:17:18, + TestBoolFormula.hs:18:18, TestBoolFormula.hs:18:19]), +((TestBoolFormula.hs:(16,5)-(19,9),AnnVbar), [TestBoolFormula.hs:17:16, TestBoolFormula.hs:18:16, + TestBoolFormula.hs:18:25]), +((TestBoolFormula.hs:(21,1)-(30,47),AnnClass), [TestBoolFormula.hs:21:1-5]), +((TestBoolFormula.hs:(21,1)-(30,47),AnnSemi), [TestBoolFormula.hs:32:1]), +((TestBoolFormula.hs:(21,1)-(30,47),AnnWhere), [TestBoolFormula.hs:21:13-17]), +((TestBoolFormula.hs:22:5-25,AnnDcolon), [TestBoolFormula.hs:22:9-10]), +((TestBoolFormula.hs:22:5-25,AnnSemi), [TestBoolFormula.hs:23:5]), +((TestBoolFormula.hs:22:12-25,AnnRarrow), [TestBoolFormula.hs:22:14-15]), +((TestBoolFormula.hs:22:17-25,AnnRarrow), [TestBoolFormula.hs:22:19-20]), +((TestBoolFormula.hs:23:5-25,AnnDcolon), [TestBoolFormula.hs:23:9-10]), +((TestBoolFormula.hs:23:5-25,AnnSemi), [TestBoolFormula.hs:24:5]), +((TestBoolFormula.hs:23:12-25,AnnRarrow), [TestBoolFormula.hs:23:14-15]), +((TestBoolFormula.hs:23:17-25,AnnRarrow), [TestBoolFormula.hs:23:19-20]), +((TestBoolFormula.hs:24:5-25,AnnDcolon), [TestBoolFormula.hs:24:9-10]), +((TestBoolFormula.hs:24:5-25,AnnSemi), [TestBoolFormula.hs:25:5]), +((TestBoolFormula.hs:24:12-25,AnnRarrow), [TestBoolFormula.hs:24:14-15]), +((TestBoolFormula.hs:24:17-25,AnnRarrow), [TestBoolFormula.hs:24:19-20]), +((TestBoolFormula.hs:25:5-19,AnnEqual), [TestBoolFormula.hs:25:9]), +((TestBoolFormula.hs:25:5-19,AnnFunId), [TestBoolFormula.hs:25:5-7]), +((TestBoolFormula.hs:25:5-19,AnnSemi), [TestBoolFormula.hs:26:5]), +((TestBoolFormula.hs:26:5-25,AnnDcolon), [TestBoolFormula.hs:26:9-10]), +((TestBoolFormula.hs:26:5-25,AnnSemi), [TestBoolFormula.hs:27:5]), +((TestBoolFormula.hs:26:12-25,AnnRarrow), [TestBoolFormula.hs:26:14-15]), +((TestBoolFormula.hs:26:17-25,AnnRarrow), [TestBoolFormula.hs:26:19-20]), +((TestBoolFormula.hs:27:5-19,AnnEqual), [TestBoolFormula.hs:27:9]), +((TestBoolFormula.hs:27:5-19,AnnFunId), [TestBoolFormula.hs:27:5-7]), +((TestBoolFormula.hs:27:5-19,AnnSemi), [TestBoolFormula.hs:28:5]), +((TestBoolFormula.hs:28:5-26,AnnDcolon), [TestBoolFormula.hs:28:10-11]), +((TestBoolFormula.hs:28:5-26,AnnSemi), [TestBoolFormula.hs:29:5]), +((TestBoolFormula.hs:28:13-26,AnnRarrow), [TestBoolFormula.hs:28:15-16]), +((TestBoolFormula.hs:28:18-26,AnnRarrow), [TestBoolFormula.hs:28:20-21]), +((TestBoolFormula.hs:29:5-20,AnnEqual), [TestBoolFormula.hs:29:10]), +((TestBoolFormula.hs:29:5-20,AnnFunId), [TestBoolFormula.hs:29:5-8]), +((TestBoolFormula.hs:29:5-20,AnnSemi), [TestBoolFormula.hs:30:5]), +((TestBoolFormula.hs:30:5-47,AnnClose), [TestBoolFormula.hs:30:45-47]), +((TestBoolFormula.hs:30:5-47,AnnCloseP), [TestBoolFormula.hs:30:43]), +((TestBoolFormula.hs:30:5-47,AnnComma), [TestBoolFormula.hs:30:20, TestBoolFormula.hs:30:26, + TestBoolFormula.hs:30:37]), +((TestBoolFormula.hs:30:5-47,AnnOpen), [TestBoolFormula.hs:30:5-15]), +((TestBoolFormula.hs:30:5-47,AnnOpenP), [TestBoolFormula.hs:30:22]), +((TestBoolFormula.hs:30:5-47,AnnVbar), [TestBoolFormula.hs:30:32]), +((TestBoolFormula.hs:(32,1)-(36,19),AnnInstance), [TestBoolFormula.hs:32:1-8]), +((TestBoolFormula.hs:(32,1)-(36,19),AnnSemi), [TestBoolFormula.hs:37:1]), +((TestBoolFormula.hs:(32,1)-(36,19),AnnWhere), [TestBoolFormula.hs:32:18-22]), +((TestBoolFormula.hs:33:5-19,AnnEqual), [TestBoolFormula.hs:33:9]), +((TestBoolFormula.hs:33:5-19,AnnFunId), [TestBoolFormula.hs:33:5-7]), +((TestBoolFormula.hs:33:5-19,AnnSemi), [TestBoolFormula.hs:34:5]), +((TestBoolFormula.hs:34:5-19,AnnEqual), [TestBoolFormula.hs:34:9]), +((TestBoolFormula.hs:34:5-19,AnnFunId), [TestBoolFormula.hs:34:5-7]), +((TestBoolFormula.hs:34:5-19,AnnSemi), [TestBoolFormula.hs:35:5]), +((TestBoolFormula.hs:35:5-20,AnnEqual), [TestBoolFormula.hs:35:10]), +((TestBoolFormula.hs:35:5-20,AnnFunId), [TestBoolFormula.hs:35:5-8]), +((TestBoolFormula.hs:35:5-20,AnnSemi), [TestBoolFormula.hs:36:5]), +((TestBoolFormula.hs:36:5-19,AnnEqual), [TestBoolFormula.hs:36:9]), +((TestBoolFormula.hs:36:5-19,AnnFunId), [TestBoolFormula.hs:36:5-7]), +((<no location info>,AnnEofPos), [TestBoolFormula.hs:37:1]) ] diff --git a/testsuite/tests/ghc-api/annotations/exampleTest.stdout b/testsuite/tests/ghc-api/annotations/exampleTest.stdout index 210a4d8ae0..c50df4848e 100644 --- a/testsuite/tests/ghc-api/annotations/exampleTest.stdout +++ b/testsuite/tests/ghc-api/annotations/exampleTest.stdout @@ -1,157 +1,82 @@ ----Problems--------------------- -[ -] - ----Problems'-------------------- +---Problems (should be empty list)--- [] --------------------------------- +---Annotations----------------------- +-- SrcSpan the annotation is attached to, AnnKeywordId, +-- list of locations the keyword item appears in [ -(AK AnnotationTuple.hs:1:1 AnnCloseC = [AnnotationTuple.hs:27:1]) - -(AK AnnotationTuple.hs:1:1 AnnModule = [AnnotationTuple.hs:3:1-6]) - -(AK AnnotationTuple.hs:1:1 AnnOpenC = [AnnotationTuple.hs:5:1]) - -(AK AnnotationTuple.hs:1:1 AnnWhere = [AnnotationTuple.hs:3:30-34]) - -(AK AnnotationTuple.hs:3:24-28 AnnCloseP = [AnnotationTuple.hs:3:28]) - -(AK AnnotationTuple.hs:3:24-28 AnnOpenP = [AnnotationTuple.hs:3:24]) - -(AK AnnotationTuple.hs:6:1-32 AnnAs = [AnnotationTuple.hs:6:28-29]) - -(AK AnnotationTuple.hs:6:1-32 AnnImport = [AnnotationTuple.hs:6:1-6]) - -(AK AnnotationTuple.hs:6:1-32 AnnQualified = [AnnotationTuple.hs:6:8-16]) - -(AK AnnotationTuple.hs:6:1-32 AnnSemi = [AnnotationTuple.hs:7:1]) - -(AK AnnotationTuple.hs:6:1-32 AnnVal = [AnnotationTuple.hs:6:31-32]) - -(AK AnnotationTuple.hs:(8,1)-(11,14) AnnEqual = [AnnotationTuple.hs:8:5]) - -(AK AnnotationTuple.hs:(8,1)-(11,14) AnnFunId = [AnnotationTuple.hs:8:1-3]) - -(AK AnnotationTuple.hs:(8,1)-(11,14) AnnSemi = [AnnotationTuple.hs:13:1]) - -(AK AnnotationTuple.hs:(8,7)-(11,14) AnnIn = [AnnotationTuple.hs:11:7-8]) - -(AK AnnotationTuple.hs:(8,7)-(11,14) AnnLet = [AnnotationTuple.hs:8:7-9]) - -(AK AnnotationTuple.hs:9:9-13 AnnEqual = [AnnotationTuple.hs:9:11]) - -(AK AnnotationTuple.hs:9:9-13 AnnFunId = [AnnotationTuple.hs:9:9]) - -(AK AnnotationTuple.hs:9:9-13 AnnSemi = [AnnotationTuple.hs:10:9]) - -(AK AnnotationTuple.hs:10:9-13 AnnEqual = [AnnotationTuple.hs:10:11]) - -(AK AnnotationTuple.hs:10:9-13 AnnFunId = [AnnotationTuple.hs:10:9]) - -(AK AnnotationTuple.hs:11:10-14 AnnVal = [AnnotationTuple.hs:11:12]) - -(AK AnnotationTuple.hs:14:1-72 AnnEqual = [AnnotationTuple.hs:14:5]) - -(AK AnnotationTuple.hs:14:1-72 AnnFunId = [AnnotationTuple.hs:14:1-3]) - -(AK AnnotationTuple.hs:14:1-72 AnnSemi = [AnnotationTuple.hs:15:1]) - -(AK AnnotationTuple.hs:14:7-72 AnnVal = [AnnotationTuple.hs:14:13]) - -(AK AnnotationTuple.hs:14:19-53 AnnCloseP = [AnnotationTuple.hs:14:53]) - -(AK AnnotationTuple.hs:14:19-53 AnnOpenP = [AnnotationTuple.hs:14:19]) - -(AK AnnotationTuple.hs:14:20 AnnComma = [AnnotationTuple.hs:14:21]) - -(AK AnnotationTuple.hs:14:23-29 AnnComma = [AnnotationTuple.hs:14:33]) - -(AK AnnotationTuple.hs:14:35-37 AnnComma = [AnnotationTuple.hs:14:38]) - -(AK AnnotationTuple.hs:14:39 AnnComma = [AnnotationTuple.hs:14:39]) - -(AK AnnotationTuple.hs:14:41-52 AnnCloseS = [AnnotationTuple.hs:14:52]) - -(AK AnnotationTuple.hs:14:41-52 AnnOpenS = [AnnotationTuple.hs:14:41]) - -(AK AnnotationTuple.hs:14:42 AnnComma = [AnnotationTuple.hs:14:43]) - -(AK AnnotationTuple.hs:14:45 AnnComma = [AnnotationTuple.hs:14:46]) - -(AK AnnotationTuple.hs:14:48 AnnComma = [AnnotationTuple.hs:14:49]) - -(AK AnnotationTuple.hs:14:55-72 AnnCloseS = [AnnotationTuple.hs:14:72]) - -(AK AnnotationTuple.hs:14:55-72 AnnOpenS = [AnnotationTuple.hs:14:55]) - -(AK AnnotationTuple.hs:14:56-62 AnnComma = [AnnotationTuple.hs:14:63]) - -(AK AnnotationTuple.hs:14:61-62 AnnCloseP = [AnnotationTuple.hs:14:62]) - -(AK AnnotationTuple.hs:14:61-62 AnnOpenP = [AnnotationTuple.hs:14:61]) - -(AK AnnotationTuple.hs:16:1-41 AnnEqual = [AnnotationTuple.hs:16:5]) - -(AK AnnotationTuple.hs:16:1-41 AnnFunId = [AnnotationTuple.hs:16:1-3]) - -(AK AnnotationTuple.hs:16:1-41 AnnSemi = [AnnotationTuple.hs:17:1]) - -(AK AnnotationTuple.hs:16:7-27 AnnCloseP = [AnnotationTuple.hs:16:27]) - -(AK AnnotationTuple.hs:16:7-27 AnnOpenP = [AnnotationTuple.hs:16:7]) - -(AK AnnotationTuple.hs:16:8 AnnComma = [AnnotationTuple.hs:16:9]) - -(AK AnnotationTuple.hs:16:11-17 AnnComma = [AnnotationTuple.hs:16:18]) - -(AK AnnotationTuple.hs:16:20-22 AnnComma = [AnnotationTuple.hs:16:23]) - -(AK AnnotationTuple.hs:16:24 AnnComma = [AnnotationTuple.hs:16:24]) - -(AK AnnotationTuple.hs:16:25 AnnComma = [AnnotationTuple.hs:16:25]) - -(AK AnnotationTuple.hs:16:26 AnnComma = [AnnotationTuple.hs:16:26]) - -(AK AnnotationTuple.hs:16:33-41 AnnCloseP = [AnnotationTuple.hs:16:41]) - -(AK AnnotationTuple.hs:16:33-41 AnnOpenP = [AnnotationTuple.hs:16:33]) - -(AK AnnotationTuple.hs:16:39-40 AnnCloseP = [AnnotationTuple.hs:16:40]) - -(AK AnnotationTuple.hs:16:39-40 AnnOpenP = [AnnotationTuple.hs:16:39]) - -(AK AnnotationTuple.hs:18:1-28 AnnData = [AnnotationTuple.hs:18:1-4]) - -(AK AnnotationTuple.hs:18:1-28 AnnDcolon = [AnnotationTuple.hs:18:20-21]) - -(AK AnnotationTuple.hs:18:1-28 AnnFamily = [AnnotationTuple.hs:18:6-11]) - -(AK AnnotationTuple.hs:18:1-28 AnnSemi = [AnnotationTuple.hs:19:1]) - -(AK AnnotationTuple.hs:18:23-28 AnnRarrow = [AnnotationTuple.hs:18:25-26]) - -(AK AnnotationTuple.hs:(20,1)-(24,14) AnnFunId = [AnnotationTuple.hs:20:1-5]) - -(AK AnnotationTuple.hs:(20,1)-(24,14) AnnSemi = [AnnotationTuple.hs:25:1]) - -(AK AnnotationTuple.hs:(21,7)-(24,14) AnnEqual = [AnnotationTuple.hs:24:7]) - -(AK AnnotationTuple.hs:(21,7)-(24,14) AnnVbar = [AnnotationTuple.hs:21:7]) - -(AK AnnotationTuple.hs:21:9-24 AnnComma = [AnnotationTuple.hs:22:7]) - -(AK AnnotationTuple.hs:21:9-24 AnnLarrow = [AnnotationTuple.hs:21:16-17]) - -(AK AnnotationTuple.hs:22:9-25 AnnComma = [AnnotationTuple.hs:23:7]) - -(AK AnnotationTuple.hs:22:9-25 AnnLarrow = [AnnotationTuple.hs:22:16-17]) - -(AK AnnotationTuple.hs:23:9-24 AnnLarrow = [AnnotationTuple.hs:23:16-17]) - -(AK AnnotationTuple.hs:26:1-10 AnnDcolon = [AnnotationTuple.hs:26:5-6]) - -(AK AnnotationTuple.hs:26:1-14 AnnEqual = [AnnotationTuple.hs:26:12]) - -(AK <no location info> AnnEofPos = [AnnotationTuple.hs:32:1]) +((AnnotationTuple.hs:1:1,AnnCloseC), [AnnotationTuple.hs:27:1]), +((AnnotationTuple.hs:1:1,AnnModule), [AnnotationTuple.hs:3:1-6]), +((AnnotationTuple.hs:1:1,AnnOpenC), [AnnotationTuple.hs:5:1]), +((AnnotationTuple.hs:1:1,AnnWhere), [AnnotationTuple.hs:3:30-34]), +((AnnotationTuple.hs:3:24-28,AnnCloseP), [AnnotationTuple.hs:3:28]), +((AnnotationTuple.hs:3:24-28,AnnOpenP), [AnnotationTuple.hs:3:24]), +((AnnotationTuple.hs:6:1-32,AnnAs), [AnnotationTuple.hs:6:28-29]), +((AnnotationTuple.hs:6:1-32,AnnImport), [AnnotationTuple.hs:6:1-6]), +((AnnotationTuple.hs:6:1-32,AnnQualified), [AnnotationTuple.hs:6:8-16]), +((AnnotationTuple.hs:6:1-32,AnnSemi), [AnnotationTuple.hs:7:1]), +((AnnotationTuple.hs:6:1-32,AnnVal), [AnnotationTuple.hs:6:31-32]), +((AnnotationTuple.hs:(8,1)-(11,14),AnnEqual), [AnnotationTuple.hs:8:5]), +((AnnotationTuple.hs:(8,1)-(11,14),AnnFunId), [AnnotationTuple.hs:8:1-3]), +((AnnotationTuple.hs:(8,1)-(11,14),AnnSemi), [AnnotationTuple.hs:13:1]), +((AnnotationTuple.hs:(8,7)-(11,14),AnnIn), [AnnotationTuple.hs:11:7-8]), +((AnnotationTuple.hs:(8,7)-(11,14),AnnLet), [AnnotationTuple.hs:8:7-9]), +((AnnotationTuple.hs:9:9-13,AnnEqual), [AnnotationTuple.hs:9:11]), +((AnnotationTuple.hs:9:9-13,AnnFunId), [AnnotationTuple.hs:9:9]), +((AnnotationTuple.hs:9:9-13,AnnSemi), [AnnotationTuple.hs:10:9]), +((AnnotationTuple.hs:10:9-13,AnnEqual), [AnnotationTuple.hs:10:11]), +((AnnotationTuple.hs:10:9-13,AnnFunId), [AnnotationTuple.hs:10:9]), +((AnnotationTuple.hs:11:10-14,AnnVal), [AnnotationTuple.hs:11:12]), +((AnnotationTuple.hs:14:1-72,AnnEqual), [AnnotationTuple.hs:14:5]), +((AnnotationTuple.hs:14:1-72,AnnFunId), [AnnotationTuple.hs:14:1-3]), +((AnnotationTuple.hs:14:1-72,AnnSemi), [AnnotationTuple.hs:15:1]), +((AnnotationTuple.hs:14:7-72,AnnVal), [AnnotationTuple.hs:14:13]), +((AnnotationTuple.hs:14:19-53,AnnCloseP), [AnnotationTuple.hs:14:53]), +((AnnotationTuple.hs:14:19-53,AnnOpenP), [AnnotationTuple.hs:14:19]), +((AnnotationTuple.hs:14:20,AnnComma), [AnnotationTuple.hs:14:21]), +((AnnotationTuple.hs:14:23-29,AnnComma), [AnnotationTuple.hs:14:33]), +((AnnotationTuple.hs:14:35-37,AnnComma), [AnnotationTuple.hs:14:38]), +((AnnotationTuple.hs:14:39,AnnComma), [AnnotationTuple.hs:14:39]), +((AnnotationTuple.hs:14:41-52,AnnCloseS), [AnnotationTuple.hs:14:52]), +((AnnotationTuple.hs:14:41-52,AnnOpenS), [AnnotationTuple.hs:14:41]), +((AnnotationTuple.hs:14:42,AnnComma), [AnnotationTuple.hs:14:43]), +((AnnotationTuple.hs:14:45,AnnComma), [AnnotationTuple.hs:14:46]), +((AnnotationTuple.hs:14:48,AnnComma), [AnnotationTuple.hs:14:49]), +((AnnotationTuple.hs:14:55-72,AnnCloseS), [AnnotationTuple.hs:14:72]), +((AnnotationTuple.hs:14:55-72,AnnOpenS), [AnnotationTuple.hs:14:55]), +((AnnotationTuple.hs:14:56-62,AnnComma), [AnnotationTuple.hs:14:63]), +((AnnotationTuple.hs:14:61-62,AnnCloseP), [AnnotationTuple.hs:14:62]), +((AnnotationTuple.hs:14:61-62,AnnOpenP), [AnnotationTuple.hs:14:61]), +((AnnotationTuple.hs:16:1-41,AnnEqual), [AnnotationTuple.hs:16:5]), +((AnnotationTuple.hs:16:1-41,AnnFunId), [AnnotationTuple.hs:16:1-3]), +((AnnotationTuple.hs:16:1-41,AnnSemi), [AnnotationTuple.hs:17:1]), +((AnnotationTuple.hs:16:7-27,AnnCloseP), [AnnotationTuple.hs:16:27]), +((AnnotationTuple.hs:16:7-27,AnnOpenP), [AnnotationTuple.hs:16:7]), +((AnnotationTuple.hs:16:8,AnnComma), [AnnotationTuple.hs:16:9]), +((AnnotationTuple.hs:16:11-17,AnnComma), [AnnotationTuple.hs:16:18]), +((AnnotationTuple.hs:16:20-22,AnnComma), [AnnotationTuple.hs:16:23]), +((AnnotationTuple.hs:16:24,AnnComma), [AnnotationTuple.hs:16:24]), +((AnnotationTuple.hs:16:25,AnnComma), [AnnotationTuple.hs:16:25]), +((AnnotationTuple.hs:16:26,AnnComma), [AnnotationTuple.hs:16:26]), +((AnnotationTuple.hs:16:33-41,AnnCloseP), [AnnotationTuple.hs:16:41]), +((AnnotationTuple.hs:16:33-41,AnnOpenP), [AnnotationTuple.hs:16:33]), +((AnnotationTuple.hs:16:39-40,AnnCloseP), [AnnotationTuple.hs:16:40]), +((AnnotationTuple.hs:16:39-40,AnnOpenP), [AnnotationTuple.hs:16:39]), +((AnnotationTuple.hs:18:1-28,AnnData), [AnnotationTuple.hs:18:1-4]), +((AnnotationTuple.hs:18:1-28,AnnDcolon), [AnnotationTuple.hs:18:20-21]), +((AnnotationTuple.hs:18:1-28,AnnFamily), [AnnotationTuple.hs:18:6-11]), +((AnnotationTuple.hs:18:1-28,AnnSemi), [AnnotationTuple.hs:19:1]), +((AnnotationTuple.hs:18:23-28,AnnRarrow), [AnnotationTuple.hs:18:25-26]), +((AnnotationTuple.hs:(20,1)-(24,14),AnnFunId), [AnnotationTuple.hs:20:1-5]), +((AnnotationTuple.hs:(20,1)-(24,14),AnnSemi), [AnnotationTuple.hs:25:1]), +((AnnotationTuple.hs:(21,7)-(24,14),AnnEqual), [AnnotationTuple.hs:24:7]), +((AnnotationTuple.hs:(21,7)-(24,14),AnnVbar), [AnnotationTuple.hs:21:7]), +((AnnotationTuple.hs:21:9-24,AnnComma), [AnnotationTuple.hs:22:7]), +((AnnotationTuple.hs:21:9-24,AnnLarrow), [AnnotationTuple.hs:21:16-17]), +((AnnotationTuple.hs:22:9-25,AnnComma), [AnnotationTuple.hs:23:7]), +((AnnotationTuple.hs:22:9-25,AnnLarrow), [AnnotationTuple.hs:22:16-17]), +((AnnotationTuple.hs:23:9-24,AnnLarrow), [AnnotationTuple.hs:23:16-17]), +((AnnotationTuple.hs:26:1-10,AnnDcolon), [AnnotationTuple.hs:26:5-6]), +((AnnotationTuple.hs:26:1-14,AnnEqual), [AnnotationTuple.hs:26:12]), +((<no location info>,AnnEofPos), [AnnotationTuple.hs:32:1]) ] diff --git a/utils/check-api-annotations/Main.hs b/utils/check-api-annotations/Main.hs index 7dc2eb3f77..20e6aa0ca2 100644 --- a/utils/check-api-annotations/Main.hs +++ b/utils/check-api-annotations/Main.hs @@ -7,6 +7,7 @@ import DynFlags import Outputable import ApiAnnotation import System.Environment( getArgs ) +import System.Exit import qualified Data.Map as Map import qualified Data.Set as Set @@ -19,7 +20,7 @@ main = do testOneFile :: FilePath -> String -> IO () testOneFile libdir fileName = do - ((anns,cs),p) <- runGhc (Just libdir) $ do + ((anns,_cs),p) <- runGhc (Just libdir) $ do dflags <- getSessionDynFlags _ <- setSessionDynFlags dflags let mn =mkModuleName fileName @@ -33,9 +34,6 @@ testOneFile libdir fileName = do let sspans = Set.fromList $ getAllSrcSpans (pm_parsed_source p) - problems = filter (\(s,_a) -> not (Set.member s sspans)) - $ getAnnSrcSpans (anns,cs) - exploded = [((kw,ss),[anchor]) | ((anchor,kw),sss) <- Map.toList anns,ss <- sss] @@ -45,17 +43,20 @@ testOneFile libdir fileName = do -> not (any (\a -> Set.member a sspans) anchors)) exploded' - putStrLn "---Problems---------------------" - putStrLn (intercalate "\n" [showAnns $ Map.fromList $ map snd problems]) - putStrLn "---Problems'--------------------" - putStrLn (intercalate "\n" [pp $ Map.fromList $ map fst problems']) - putStrLn "--------------------------------" - putStrLn (intercalate "\n" [showAnns anns]) + problems'' = filter (\((a,_),_) -> a /= AnnEofPos) problems' - where - getAnnSrcSpans :: ApiAnns -> [(SrcSpan,(ApiAnnKey,[SrcSpan]))] - getAnnSrcSpans (anns,_) = map (\a@((ss,_),_) -> (ss,a)) $ Map.toList anns + putStrLn "---Problems (should be empty list)---" + putStrLn (intercalate "\n" [pp $ Map.fromList $ map fst problems'']) + putStrLn "---Annotations-----------------------" + putStrLn "-- SrcSpan the annotation is attached to, AnnKeywordId," + putStrLn "-- list of locations the keyword item appears in" + -- putStrLn (intercalate "\n" [showAnns anns]) + putStrLn (showAnns anns) + if null problems'' + then exitSuccess + else exitFailure + where getAllSrcSpans :: (Data t) => t -> [SrcSpan] getAllSrcSpans ast = everything (++) ([] `mkQ` getSrcSpan) ast where @@ -64,11 +65,12 @@ testOneFile libdir fileName = do showAnns :: Map.Map ApiAnnKey [SrcSpan] -> String -showAnns anns = "[\n" ++ (intercalate "\n" +showAnns anns = "[\n" ++ (intercalate ",\n" $ map (\((s,k),v) - -> ("(AK " ++ pp s ++ " " ++ show k ++" = " ++ pp v ++ ")\n")) + -- -> ("(AK " ++ pp s ++ " " ++ show k ++" = " ++ pp v ++ ")\n")) + -> ("((" ++ pp s ++ "," ++ show k ++"), " ++ pp v ++ ")")) $ Map.toList anns) - ++ "]\n" + ++ "\n]\n" pp :: (Outputable a) => a -> String pp a = showPpr unsafeGlobalDynFlags a diff --git a/utils/check-api-annotations/README b/utils/check-api-annotations/README index 7c2815a403..fcadc50ff6 100644 --- a/utils/check-api-annotations/README +++ b/utils/check-api-annotations/README @@ -16,3 +16,88 @@ In a test Makefile $(CHECK_API_ANNOTATIONS) "`'$(TEST_HC)' $(TEST_HC_OPTS) --print-libdir | tr -d '\r'`" FileToParse.hs See examples in (REPO_HOME)/testsuite/tests/ghc-api/annotations/Makefile + + +Description of operation +------------------------ + +The programme is called with the name of a haskell source file. + +It uses the GHC API to load and parse this, and extracts the API annotations. + +These are of the form + + Map.Map ApiAnnKey [SrcSpan] + +where + + type ApiAnnKey = (SrcSpan,AnnKeywordId) + +So an annotation is a key comprising the parent SrcSpan in the ParsedSource +together with an AnnKeywordId, and this maps to a list of locations where the +specific keyword item occurs in the original source. + +The utility extracts all SrcSpans in the ParsedSource, and makes sure that for +every ApiAnnKey the SrcSpan is actually present in the final ParsedSource. This +is to ensure that when a given parser production is postprocessed anywhere along +the line the relevant SrcSpan is not discarded, thus detaching the annotation +from the final output. + +It also provides a list of each ApiAnnKey and the corresponding source +locations, so these can be checked against the original source for correctness. + +Example +------- + +Test10255.hs in the ghc-api/annotations tests has the following source + +------------------------------ +1:{-# LANGUAGE ScopedTypeVariables #-} +2:module Test10255 where +3: +4:import Data.Maybe +5: +6:fob (f :: (Maybe t -> Int)) = +7: undefined +------------------------------ + +The output of this utility is + +------------------------------------------------------------------------ +---Problems (should be empty list)--- +[] +---Annotations----------------------- +-- SrcSpan the annotation is attached to, AnnKeywordId, +-- list of locations the keyword item appears in +[ +((Test10255.hs:1:1,AnnModule), [Test10255.hs:2:1-6]), +((Test10255.hs:1:1,AnnWhere), [Test10255.hs:2:18-22]), +((Test10255.hs:4:1-17,AnnImport), [Test10255.hs:4:1-6]), +((Test10255.hs:4:1-17,AnnSemi), [Test10255.hs:6:1]), +((Test10255.hs:(6,1)-(7,11),AnnEqual), [Test10255.hs:6:29]), +((Test10255.hs:(6,1)-(7,11),AnnFunId), [Test10255.hs:6:1-3]), +((Test10255.hs:(6,1)-(7,11),AnnSemi), [Test10255.hs:8:1]), +((Test10255.hs:6:5-27,AnnCloseP), [Test10255.hs:6:27]), +((Test10255.hs:6:5-27,AnnOpenP), [Test10255.hs:6:5]), +((Test10255.hs:6:6-26,AnnDcolon), [Test10255.hs:6:8-9]), +((Test10255.hs:6:11-26,AnnCloseP), [Test10255.hs:6:26]), +((Test10255.hs:6:11-26,AnnOpenP), [Test10255.hs:6:11]), +((Test10255.hs:6:12-18,AnnRarrow), [Test10255.hs:6:20-21]), +((Test10255.hs:6:12-25,AnnRarrow), [Test10255.hs:6:20-21]), +((<no location info>,AnnEofPos), [Test10255.hs:8:1]) +] +------------------------------------------------------------------------ + +To interpret this, firstly the problems list is empty, so there are not +annotations that do not appear in the final AST. + +Secondly, the list of annotations and locations can be checked against the test +source code to ensure that every AnnKeywordId does in fact appear. + +It will return a zero exit code if the list of problems is empty, non-zero +otherwise. + +Note: In some cases, such as T10269 in the ghc-api/annotations tests the list is +non-empty, due to postprocessing of the parsed result. In general this should +only happen for an `AnnVal` and if it does the actual annotations provided need +to be inspected to check that an equivalent annotation is provided. |