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