1ParseOk
2  ( Module
3      SrcSpanInfo
4        { srcInfoSpan =
5            SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 1 10 1
6        , srcInfoPoints =
7            [ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 1 1 1
8            , SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 1 1 1
9            , SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 1 1 1
10            , SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 1 5 1
11            , SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 1 8 1
12            , SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 1 9 1
13            , SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 10 1 10 1
14            , SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 10 1 10 1
15            ]
16        }
17      Nothing
18      []
19      []
20      [ DataDecl
21          SrcSpanInfo
22            { srcInfoSpan =
23                SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 1 1 17
24            , srcInfoPoints =
25                [ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 10 1 11 ]
26            }
27          (DataType
28             SrcSpanInfo
29               { srcInfoSpan =
30                   SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 1 1 5
31               , srcInfoPoints = []
32               })
33          Nothing
34          (DHApp
35             SrcSpanInfo
36               { srcInfoSpan =
37                   SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 6 1 9
38               , srcInfoPoints = []
39               }
40             (DHead
41                SrcSpanInfo
42                  { srcInfoSpan =
43                      SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 6 1 7
44                  , srcInfoPoints = []
45                  }
46                (Ident
47                   SrcSpanInfo
48                     { srcInfoSpan =
49                         SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 6 1 7
50                     , srcInfoPoints = []
51                     }
52                   "Q"))
53             (UnkindedVar
54                SrcSpanInfo
55                  { srcInfoSpan =
56                      SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 8 1 9
57                  , srcInfoPoints = []
58                  }
59                (Ident
60                   SrcSpanInfo
61                     { srcInfoSpan =
62                         SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 8 1 9
63                     , srcInfoPoints = []
64                     }
65                   "a")))
66          [ QualConDecl
67              SrcSpanInfo
68                { srcInfoSpan =
69                    SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 12 1 17
70                , srcInfoPoints = []
71                }
72              Nothing
73              Nothing
74              (ConDecl
75                 SrcSpanInfo
76                   { srcInfoSpan =
77                       SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 12 1 17
78                   , srcInfoPoints = []
79                   }
80                 (Ident
81                    SrcSpanInfo
82                      { srcInfoSpan =
83                          SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 12 1 13
84                      , srcInfoPoints = []
85                      }
86                    "Q")
87                 [ TyVar
88                     SrcSpanInfo
89                       { srcInfoSpan =
90                           SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 14 1 15
91                       , srcInfoPoints = []
92                       }
93                     (Ident
94                        SrcSpanInfo
95                          { srcInfoSpan =
96                              SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 14 1 15
97                          , srcInfoPoints = []
98                          }
99                        "a")
100                 , TyVar
101                     SrcSpanInfo
102                       { srcInfoSpan =
103                           SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 16 1 17
104                       , srcInfoPoints = []
105                       }
106                     (Ident
107                        SrcSpanInfo
108                          { srcInfoSpan =
109                              SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 1 16 1 17
110                          , srcInfoPoints = []
111                          }
112                        "a")
113                 ])
114          ]
115          []
116      , FunBind
117          SrcSpanInfo
118            { srcInfoSpan =
119                SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 1 5 19
120            , srcInfoPoints = []
121            }
122          [ InfixMatch
123              SrcSpanInfo
124                { srcInfoSpan =
125                    SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 1 5 19
126                , srcInfoPoints = []
127                }
128              (PVar
129                 SrcSpanInfo
130                   { srcInfoSpan =
131                       SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 1 5 2
132                   , srcInfoPoints = []
133                   }
134                 (Ident
135                    SrcSpanInfo
136                      { srcInfoSpan =
137                          SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 1 5 2
138                      , srcInfoPoints = []
139                      }
140                    "x"))
141              (Symbol
142                 SrcSpanInfo
143                   { srcInfoSpan =
144                       SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 3 5 4
145                   , srcInfoPoints = []
146                   }
147                 "*")
148              [ PLit
149                  SrcSpanInfo
150                    { srcInfoSpan =
151                        SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 5 5 8
152                    , srcInfoPoints =
153                        [ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 5 5 6 ]
154                    }
155                  (Negative
156                     SrcSpanInfo
157                       { srcInfoSpan =
158                           SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 5 5 6
159                       , srcInfoPoints =
160                           [ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 5 5 6 ]
161                       })
162                  (Int
163                     SrcSpanInfo
164                       { srcInfoSpan =
165                           SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 7 5 8
166                       , srcInfoPoints = []
167                       }
168                     1
169                     "1")
170              ]
171              (UnGuardedRhs
172                 SrcSpanInfo
173                   { srcInfoSpan =
174                       SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 9 5 19
175                   , srcInfoPoints =
176                       [ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 9 5 10 ]
177                   }
178                 (App
179                    SrcSpanInfo
180                      { srcInfoSpan =
181                          SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 11 5 19
182                      , srcInfoPoints = []
183                      }
184                    (Var
185                       SrcSpanInfo
186                         { srcInfoSpan =
187                             SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 11 5 17
188                         , srcInfoPoints = []
189                         }
190                       (UnQual
191                          SrcSpanInfo
192                            { srcInfoSpan =
193                                SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 11 5 17
194                            , srcInfoPoints = []
195                            }
196                          (Ident
197                             SrcSpanInfo
198                               { srcInfoSpan =
199                                   SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 11 5 17
200                               , srcInfoPoints = []
201                               }
202                             "negate")))
203                    (Var
204                       SrcSpanInfo
205                         { srcInfoSpan =
206                             SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 18 5 19
207                         , srcInfoPoints = []
208                         }
209                       (UnQual
210                          SrcSpanInfo
211                            { srcInfoSpan =
212                                SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 18 5 19
213                            , srcInfoPoints = []
214                            }
215                          (Ident
216                             SrcSpanInfo
217                               { srcInfoSpan =
218                                   SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 5 18 5 19
219                               , srcInfoPoints = []
220                               }
221                             "x")))))
222              Nothing
223          ]
224      , FunBind
225          SrcSpanInfo
226            { srcInfoSpan =
227                SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 1 8 27
228            , srcInfoPoints = []
229            }
230          [ InfixMatch
231              SrcSpanInfo
232                { srcInfoSpan =
233                    SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 1 8 27
234                , srcInfoPoints = []
235                }
236              (PApp
237                 SrcSpanInfo
238                   { srcInfoSpan =
239                       SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 1 8 7
240                   , srcInfoPoints = []
241                   }
242                 (UnQual
243                    SrcSpanInfo
244                      { srcInfoSpan =
245                          SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 1 8 5
246                      , srcInfoPoints = []
247                      }
248                    (Ident
249                       SrcSpanInfo
250                         { srcInfoSpan =
251                             SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 1 8 5
252                         , srcInfoPoints = []
253                         }
254                       "Just"))
255                 [ PVar
256                     SrcSpanInfo
257                       { srcInfoSpan =
258                           SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 6 8 7
259                       , srcInfoPoints = []
260                       }
261                     (Ident
262                        SrcSpanInfo
263                          { srcInfoSpan =
264                              SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 6 8 7
265                          , srcInfoPoints = []
266                          }
267                        "x")
268                 ])
269              (Symbol
270                 SrcSpanInfo
271                   { srcInfoSpan =
272                       SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 8 8 10
273                   , srcInfoPoints = []
274                   }
275                 "<>")
276              [ PApp
277                  SrcSpanInfo
278                    { srcInfoSpan =
279                        SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 11 8 18
280                    , srcInfoPoints = []
281                    }
282                  (UnQual
283                     SrcSpanInfo
284                       { srcInfoSpan =
285                           SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 11 8 18
286                       , srcInfoPoints = []
287                       }
288                     (Ident
289                        SrcSpanInfo
290                          { srcInfoSpan =
291                              SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 11 8 18
292                          , srcInfoPoints = []
293                          }
294                        "Nothing"))
295                  []
296              ]
297              (UnGuardedRhs
298                 SrcSpanInfo
299                   { srcInfoSpan =
300                       SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 19 8 27
301                   , srcInfoPoints =
302                       [ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 19 8 20 ]
303                   }
304                 (App
305                    SrcSpanInfo
306                      { srcInfoSpan =
307                          SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 21 8 27
308                      , srcInfoPoints = []
309                      }
310                    (Con
311                       SrcSpanInfo
312                         { srcInfoSpan =
313                             SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 21 8 25
314                         , srcInfoPoints = []
315                         }
316                       (UnQual
317                          SrcSpanInfo
318                            { srcInfoSpan =
319                                SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 21 8 25
320                            , srcInfoPoints = []
321                            }
322                          (Ident
323                             SrcSpanInfo
324                               { srcInfoSpan =
325                                   SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 21 8 25
326                               , srcInfoPoints = []
327                               }
328                             "Just")))
329                    (Var
330                       SrcSpanInfo
331                         { srcInfoSpan =
332                             SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 26 8 27
333                         , srcInfoPoints = []
334                         }
335                       (UnQual
336                          SrcSpanInfo
337                            { srcInfoSpan =
338                                SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 26 8 27
339                            , srcInfoPoints = []
340                            }
341                          (Ident
342                             SrcSpanInfo
343                               { srcInfoSpan =
344                                   SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 8 26 8 27
345                               , srcInfoPoints = []
346                               }
347                             "x")))))
348              Nothing
349          ]
350      , FunBind
351          SrcSpanInfo
352            { srcInfoSpan =
353                SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 1 9 19
354            , srcInfoPoints = []
355            }
356          [ Match
357              SrcSpanInfo
358                { srcInfoSpan =
359                    SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 1 9 19
360                , srcInfoPoints = []
361                }
362              (Ident
363                 SrcSpanInfo
364                   { srcInfoSpan =
365                       SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 1 9 2
366                   , srcInfoPoints = []
367                   }
368                 "f")
369              [ PParen
370                  SrcSpanInfo
371                    { srcInfoSpan =
372                        SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 3 9 14
373                    , srcInfoPoints =
374                        [ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 3 9 4
375                        , SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 13 9 14
376                        ]
377                    }
378                  (PInfixApp
379                     SrcSpanInfo
380                       { srcInfoSpan =
381                           SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 4 9 13
382                       , srcInfoPoints = []
383                       }
384                     (PLit
385                        SrcSpanInfo
386                          { srcInfoSpan =
387                              SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 4 9 7
388                          , srcInfoPoints =
389                              [ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 4 9 5 ]
390                          }
391                        (Negative
392                           SrcSpanInfo
393                             { srcInfoSpan =
394                                 SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 4 9 5
395                             , srcInfoPoints =
396                                 [ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 4 9 5 ]
397                             })
398                        (Int
399                           SrcSpanInfo
400                             { srcInfoSpan =
401                                 SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 6 9 7
402                             , srcInfoPoints = []
403                             }
404                           1
405                           "1"))
406                     (UnQual
407                        SrcSpanInfo
408                          { srcInfoSpan =
409                              SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 8 9 11
410                          , srcInfoPoints =
411                              [ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 8 9 9
412                              , SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 9 9 10
413                              , SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 10 9 11
414                              ]
415                          }
416                        (Ident
417                           SrcSpanInfo
418                             { srcInfoSpan =
419                                 SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 9 9 10
420                             , srcInfoPoints = []
421                             }
422                           "Q"))
423                     (PWildCard
424                        SrcSpanInfo
425                          { srcInfoSpan =
426                              SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 12 9 13
427                          , srcInfoPoints = []
428                          }))
429              ]
430              (UnGuardedRhs
431                 SrcSpanInfo
432                   { srcInfoSpan =
433                       SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 15 9 19
434                   , srcInfoPoints =
435                       [ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 15 9 16 ]
436                   }
437                 (Con
438                    SrcSpanInfo
439                      { srcInfoSpan =
440                          SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 17 9 19
441                      , srcInfoPoints =
442                          [ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 17 9 18
443                          , SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 18 9 19
444                          ]
445                      }
446                    (Special
447                       SrcSpanInfo
448                         { srcInfoSpan =
449                             SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 17 9 19
450                         , srcInfoPoints =
451                             [ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 17 9 18
452                             , SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 18 9 19
453                             ]
454                         }
455                       (UnitCon
456                          SrcSpanInfo
457                            { srcInfoSpan =
458                                SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 17 9 19
459                            , srcInfoPoints =
460                                [ SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 17 9 18
461                                , SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 9 18 9 19
462                                ]
463                            }))))
464              Nothing
465          ]
466      ]
467  , [ Comment
468        False
469        (SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 3 1 3 78)
470        " In this example, the pretty-printer should insert extra parentheses around"
471    , Comment
472        False
473        (SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 4 1 4 33)
474        " the negative literal pattern."
475    , Comment
476        False
477        (SrcSpan "tests/examples/ExtraPrettyParentheses.hs" 7 1 7 78)
478        " In these examples, the pretty-printer should not insert extra parentheses."
479    ]
480  )
481