Provide a utility to check API Annotations docs
authorAlan Zimmerman <alan.zimm@gmail.com>
Sun, 1 Nov 2015 09:18:25 +0000 (10:18 +0100)
committerBen Gamari <ben@smart-cactus.org>
Sun, 1 Nov 2015 09:18:37 +0000 (10:18 +0100)
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:
compiler/parser/Parser.y
testsuite/tests/ghc-api/annotations/Makefile
testsuite/tests/ghc-api/annotations/T10255.stdout
testsuite/tests/ghc-api/annotations/T10268.stdout
testsuite/tests/ghc-api/annotations/T10269.stdout
testsuite/tests/ghc-api/annotations/T10278.stdout
testsuite/tests/ghc-api/annotations/T10280.stdout
testsuite/tests/ghc-api/annotations/T10307.stdout
testsuite/tests/ghc-api/annotations/T10309.stdout
testsuite/tests/ghc-api/annotations/T10312.stdout
testsuite/tests/ghc-api/annotations/T10354.stdout
testsuite/tests/ghc-api/annotations/T10357.stdout
testsuite/tests/ghc-api/annotations/T10358.stdout
testsuite/tests/ghc-api/annotations/T10396.stdout
testsuite/tests/ghc-api/annotations/T10399.stdout
testsuite/tests/ghc-api/annotations/boolFormula.stdout
testsuite/tests/ghc-api/annotations/exampleTest.stdout
utils/check-api-annotations/Main.hs
utils/check-api-annotations/README

index d9da3c8..67d2ade 100644 (file)
@@ -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.
+
 -- -----------------------------------------------------------------------------
 
 -}
index 7ccb2a8..d1819af 100644 (file)
@@ -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:
index 47318bd..494136d 100644 (file)
@@ -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])
 ]
 
index 8c77efd..7833733 100644 (file)
@@ -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])
 ]
 
index 199504a..679ac6d 100644 (file)
@@ -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])
 ]
 
index 4c10d26..4676757 100644 (file)
----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])
 ]
 
index 2258d48..559e6f6 100644 (file)
@@ -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])
 ]
 
index 891fcb2..48cbca6 100644 (file)
@@ -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])
 ]
 
index 8e2e495..6f77d83 100644 (file)
@@ -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])
 ]
 
index e6d22a6..00f2544 100644 (file)
----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])
 ]
 
index b0203c9..d9094c9 100644 (file)
@@ -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])
 ]
 
index 03862b2..15d5139 100644 (file)
----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])
 ]
 
index f2f4fd8..ae1ec85 100644 (file)
@@ -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])
 ]
 
index 61d0399..0be529f 100644 (file)
@@ -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])
 ]
 
index face1c0..58a4093 100644 (file)
----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])
 ]
 
index 9fdec6c..62359ad 100644 (file)
----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])
 ]
 
index 210a4d8..c50df48 100644 (file)
----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])
 ]
 
index 7dc2eb3..20e6aa0 100644 (file)
@@ -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
index 7c2815a..fcadc50 100644 (file)
@@ -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.