Accessing 'Annotations' of modules in external packages

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Accessing 'Annotations' of modules in external packages

Ranjit Jhala

Hi all,

I'm looking for some help using the GHC API to

access the 'Annotations' (created using the 'ANN'

mechanism) within modules of *external* packages

i.e. non-home modules.Currently I'm using

  hscEPS :: HscEnv -> IO ExternalPackageState

and then using the field

  eps_PIT :: !PackageIfaceTable

and from there, accessing the

  mi_anns :: [IfaceAnnotation]

field of the

  data ModIface

stored in the PackageIfaceTable but this ends in an unfortunate:

```
panic! (the 'impossible' happened)
  (GHC version 8.2.2 for x86_64-apple-darwin):
    No mi_anns in PIT

Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug
```

Perhaps this is because, as the documentation for `mi_anns` says:

   Annotations NOT STRICT! we read this field lazily from the interface file

but I am not sure how to proceed at this point? Do I need a _different_ HscEnv? Or perhaps I need to set up/initialize the HscEnv separately?

Any pointers would be most welcome!

Thanks!

Ranjit.





 

_______________________________________________
Glasgow-haskell-users mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users