1ParseOk
2  ( Module
3      SrcSpanInfo
4        { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 1 1 8 1
5        , srcInfoPoints =
6            [ SrcSpan "tests/examples/FFIExtensions.hs" 1 1 1 1
7            , SrcSpan "tests/examples/FFIExtensions.hs" 2 1 2 1
8            , SrcSpan "tests/examples/FFIExtensions.hs" 2 1 2 1
9            , SrcSpan "tests/examples/FFIExtensions.hs" 4 1 4 1
10            , SrcSpan "tests/examples/FFIExtensions.hs" 7 1 7 1
11            , SrcSpan "tests/examples/FFIExtensions.hs" 8 1 8 1
12            , SrcSpan "tests/examples/FFIExtensions.hs" 8 1 8 1
13            ]
14        }
15      (Just
16         (ModuleHead
17            SrcSpanInfo
18              { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 2 1 2 27
19              , srcInfoPoints =
20                  [ SrcSpan "tests/examples/FFIExtensions.hs" 2 1 2 7
21                  , SrcSpan "tests/examples/FFIExtensions.hs" 2 22 2 27
22                  ]
23              }
24            (ModuleName
25               SrcSpanInfo
26                 { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 2 8 2 21
27                 , srcInfoPoints = []
28                 }
29               "FFIExtensions")
30            Nothing
31            Nothing))
32      [ LanguagePragma
33          SrcSpanInfo
34            { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 1 1 1 69
35            , srcInfoPoints =
36                [ SrcSpan "tests/examples/FFIExtensions.hs" 1 1 1 13
37                , SrcSpan "tests/examples/FFIExtensions.hs" 1 38 1 39
38                , SrcSpan "tests/examples/FFIExtensions.hs" 1 56 1 57
39                , SrcSpan "tests/examples/FFIExtensions.hs" 1 66 1 69
40                ]
41            }
42          [ Ident
43              SrcSpanInfo
44                { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 1 14 1 38
45                , srcInfoPoints = []
46                }
47              "ForeignFunctionInterface"
48          , Ident
49              SrcSpanInfo
50                { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 1 40 1 56
51                , srcInfoPoints = []
52                }
53              "InterruptibleFFI"
54          , Ident
55              SrcSpanInfo
56                { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 1 58 1 65
57                , srcInfoPoints = []
58                }
59              "CApiFFI"
60          ]
61      ]
62      []
63      [ ForImp
64          SrcSpanInfo
65            { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 4 1 5 38
66            , srcInfoPoints =
67                [ SrcSpan "tests/examples/FFIExtensions.hs" 4 1 4 8
68                , SrcSpan "tests/examples/FFIExtensions.hs" 4 9 4 15
69                , SrcSpan "tests/examples/FFIExtensions.hs" 5 4 5 11
70                , SrcSpan "tests/examples/FFIExtensions.hs" 5 18 5 20
71                ]
72            }
73          (CCall
74             SrcSpanInfo
75               { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 4 16 4 21
76               , srcInfoPoints = []
77               })
78          (Just
79             (PlayInterruptible
80                SrcSpanInfo
81                  { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 4 22 4 35
82                  , srcInfoPoints = []
83                  }))
84          (Just "sleep")
85          (Ident
86             SrcSpanInfo
87               { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 12 5 17
88               , srcInfoPoints = []
89               }
90             "sleep")
91          (TyFun
92             SrcSpanInfo
93               { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 21 5 38
94               , srcInfoPoints =
95                   [ SrcSpan "tests/examples/FFIExtensions.hs" 5 27 5 29 ]
96               }
97             (TyCon
98                SrcSpanInfo
99                  { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 21 5 26
100                  , srcInfoPoints = []
101                  }
102                (UnQual
103                   SrcSpanInfo
104                     { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 21 5 26
105                     , srcInfoPoints = []
106                     }
107                   (Ident
108                      SrcSpanInfo
109                        { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 21 5 26
110                        , srcInfoPoints = []
111                        }
112                      "CUint")))
113             (TyApp
114                SrcSpanInfo
115                  { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 30 5 38
116                  , srcInfoPoints = []
117                  }
118                (TyCon
119                   SrcSpanInfo
120                     { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 30 5 32
121                     , srcInfoPoints = []
122                     }
123                   (UnQual
124                      SrcSpanInfo
125                        { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 30 5 32
126                        , srcInfoPoints = []
127                        }
128                      (Ident
129                         SrcSpanInfo
130                           { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 30 5 32
131                           , srcInfoPoints = []
132                           }
133                         "IO")))
134                (TyCon
135                   SrcSpanInfo
136                     { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 33 5 38
137                     , srcInfoPoints = []
138                     }
139                   (UnQual
140                      SrcSpanInfo
141                        { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 33 5 38
142                        , srcInfoPoints = []
143                        }
144                      (Ident
145                         SrcSpanInfo
146                           { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 5 33 5 38
147                           , srcInfoPoints = []
148                           }
149                         "CUint")))))
150      , ForImp
151          SrcSpanInfo
152            { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 1 7 54
153            , srcInfoPoints =
154                [ SrcSpan "tests/examples/FFIExtensions.hs" 7 1 7 8
155                , SrcSpan "tests/examples/FFIExtensions.hs" 7 9 7 15
156                , SrcSpan "tests/examples/FFIExtensions.hs" 7 21 7 33
157                , SrcSpan "tests/examples/FFIExtensions.hs" 7 36 7 38
158                ]
159            }
160          (CApi
161             SrcSpanInfo
162               { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 16 7 20
163               , srcInfoPoints = []
164               })
165          Nothing
166          (Just "header.h f")
167          (Ident
168             SrcSpanInfo
169               { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 34 7 35
170               , srcInfoPoints = []
171               }
172             "f")
173          (TyFun
174             SrcSpanInfo
175               { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 39 7 54
176               , srcInfoPoints =
177                   [ SrcSpan "tests/examples/FFIExtensions.hs" 7 44 7 46 ]
178               }
179             (TyCon
180                SrcSpanInfo
181                  { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 39 7 43
182                  , srcInfoPoints = []
183                  }
184                (UnQual
185                   SrcSpanInfo
186                     { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 39 7 43
187                     , srcInfoPoints = []
188                     }
189                   (Ident
190                      SrcSpanInfo
191                        { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 39 7 43
192                        , srcInfoPoints = []
193                        }
194                      "CInt")))
195             (TyApp
196                SrcSpanInfo
197                  { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 47 7 54
198                  , srcInfoPoints = []
199                  }
200                (TyCon
201                   SrcSpanInfo
202                     { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 47 7 49
203                     , srcInfoPoints = []
204                     }
205                   (UnQual
206                      SrcSpanInfo
207                        { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 47 7 49
208                        , srcInfoPoints = []
209                        }
210                      (Ident
211                         SrcSpanInfo
212                           { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 47 7 49
213                           , srcInfoPoints = []
214                           }
215                         "IO")))
216                (TyCon
217                   SrcSpanInfo
218                     { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 50 7 54
219                     , srcInfoPoints = []
220                     }
221                   (UnQual
222                      SrcSpanInfo
223                        { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 50 7 54
224                        , srcInfoPoints = []
225                        }
226                      (Ident
227                         SrcSpanInfo
228                           { srcInfoSpan = SrcSpan "tests/examples/FFIExtensions.hs" 7 50 7 54
229                           , srcInfoPoints = []
230                           }
231                         "CInt")))))
232      ]
233  , []
234  )
235