PageRenderTime 42ms CodeModel.GetById 21ms RepoModel.GetById 1ms app.codeStats 0ms

/compiler/main/GhcPlugins.hs

https://bitbucket.org/carter/ghc
Haskell | 83 lines | 56 code | 9 blank | 18 comment | 0 complexity | 6cd0edc381b890a8bc3d1e05004d7bb4 MD5 | raw file
  1. {-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
  2. -- | This module is not used by GHC itself. Rather, it exports all of
  3. -- the functions and types you are likely to need when writing a
  4. -- plugin for GHC. So authors of plugins can probably get away simply
  5. -- with saying "import GhcPlugins".
  6. --
  7. -- Particularly interesting modules for plugin writers include
  8. -- "CoreSyn" and "CoreMonad".
  9. module GhcPlugins(
  10. module CoreMonad,
  11. module RdrName, module OccName, module Name, module Var, module Id, module IdInfo,
  12. module CoreSyn, module Literal, module DataCon,
  13. module CoreUtils, module MkCore, module CoreFVs, module CoreSubst,
  14. module Rules, module Annotations,
  15. module DynFlags, module Packages,
  16. module Module, module Type, module TyCon, module Coercion,
  17. module TysWiredIn, module HscTypes, module BasicTypes,
  18. module VarSet, module VarEnv, module NameSet, module NameEnv,
  19. module UniqSet, module UniqFM, module FiniteMap,
  20. module Util, module Serialized, module SrcLoc, module Outputable,
  21. module UniqSupply, module Unique, module FastString, module FastTypes
  22. ) where
  23. -- Plugin stuff itself
  24. import CoreMonad
  25. -- Variable naming
  26. import RdrName
  27. import OccName hiding ( varName {- conflicts with Var.varName -} )
  28. import Name hiding ( varName {- reexport from OccName, conflicts with Var.varName -} )
  29. import Var
  30. import Id hiding ( lazySetIdInfo, setIdExported, setIdNotExported {- all three conflict with Var -} )
  31. import IdInfo
  32. -- Core
  33. import CoreSyn
  34. import Literal
  35. import DataCon
  36. import CoreUtils
  37. import MkCore
  38. import CoreFVs
  39. import CoreSubst
  40. -- Core "extras"
  41. import Rules
  42. import Annotations
  43. -- Pipeline-related stuff
  44. import DynFlags
  45. import Packages
  46. -- Important GHC types
  47. import Module
  48. import Type hiding {- conflict with CoreSubst -}
  49. ( substTy, extendTvSubst, extendTvSubstList, isInScope )
  50. import Coercion hiding {- conflict with CoreSubst -}
  51. ( substTy, extendTvSubst, substCo, substTyVarBndr, lookupTyVar )
  52. import TyCon
  53. import TysWiredIn
  54. import HscTypes
  55. import BasicTypes hiding ( Version {- conflicts with Packages.Version -} )
  56. -- Collections and maps
  57. import VarSet
  58. import VarEnv
  59. import NameSet
  60. import NameEnv
  61. import UniqSet
  62. import UniqFM
  63. -- Conflicts with UniqFM:
  64. --import LazyUniqFM
  65. import FiniteMap
  66. -- Common utilities
  67. import Util
  68. import Serialized
  69. import SrcLoc
  70. import Outputable
  71. import UniqSupply
  72. import Unique ( Unique, Uniquable(..) )
  73. import FastString
  74. import FastTypes