@@ -235,10 +235,8 @@ module Development.IDE.GHC.Compat.Core (
235
235
-- * Linker
236
236
Unlinked (.. ),
237
237
Linkable (.. ),
238
- unload ,
239
- #if !MIN_VERSION_ghc(9,2,0)
238
+ Linker. unload ,
240
239
initDynLinker ,
241
- #endif
242
240
-- * Hooks
243
241
Hooks ,
244
242
runMetaHook ,
@@ -311,6 +309,11 @@ module Development.IDE.GHC.Compat.Core (
311
309
module GHC.Iface.Syntax ,
312
310
313
311
#if MIN_VERSION_ghc(9,2,0)
312
+ module GHC.Hs.Decls ,
313
+ module GHC.Hs.Extension ,
314
+ module GHC.Hs.ImpExp ,
315
+ module GHC.Hs.Pat ,
316
+ module GHC.Hs.Type ,
314
317
module Language.Haskell.Syntax.Expr ,
315
318
#endif
316
319
@@ -421,30 +424,31 @@ module Development.IDE.GHC.Compat.Core (
421
424
import qualified GHC
422
425
423
426
#if MIN_VERSION_ghc(9,0,0)
424
- import GHC.Builtin.Names hiding (Unique , printName )
427
+ import GHC.Builtin.Names hiding (Unique , printName )
425
428
import GHC.Builtin.Types
426
429
import GHC.Builtin.Types.Prim
427
430
import GHC.Builtin.Utils
428
431
import GHC.Core.Class
429
432
import GHC.Core.Coercion
430
433
import GHC.Core.ConLike
431
- import GHC.Core.DataCon hiding (dataConExTyCoVars )
432
- import qualified GHC.Core.DataCon as DataCon
433
- import GHC.Core.FamInstEnv hiding (pprFamInst )
434
+ import GHC.Core.DataCon hiding (dataConExTyCoVars )
435
+ import qualified GHC.Core.DataCon as DataCon
436
+ import GHC.Core.FamInstEnv hiding (pprFamInst )
434
437
import GHC.Core.InstEnv
435
438
import GHC.Types.Unique.FM
436
439
#if MIN_VERSION_ghc(9,2,0)
437
- import GHC.Core.Multiplicity (scaledThing )
440
+ import GHC.Core.Multiplicity (scaledThing )
438
441
#else
439
- import GHC.Core.Ppr.TyThing hiding (pprFamInst )
440
- import GHC.Core.TyCo.Rep (scaledThing )
442
+ import GHC.Core.Ppr.TyThing hiding (pprFamInst )
443
+ import GHC.Core.TyCo.Rep (scaledThing )
441
444
#endif
442
445
import GHC.Core.PatSyn
443
446
import GHC.Core.Predicate
444
447
import GHC.Core.TyCo.Ppr
445
- import qualified GHC.Core.TyCo.Rep as TyCoRep
448
+ import qualified GHC.Core.TyCo.Rep as TyCoRep
446
449
import GHC.Core.TyCon
447
- import GHC.Core.Type hiding (mkInfForAllTys , mkVisFunTys )
450
+ import GHC.Core.Type hiding (mkInfForAllTys ,
451
+ mkVisFunTys )
448
452
import GHC.Core.Unify
449
453
import GHC.Core.Utils
450
454
@@ -456,17 +460,22 @@ import GHC.Driver.Finder
456
460
import GHC.Driver.Types
457
461
import GHC.Driver.Ways
458
462
#endif
459
- import GHC.Driver.CmdLine (Warn (.. ))
463
+ import GHC.Driver.CmdLine (Warn (.. ))
460
464
import GHC.Driver.Hooks
461
465
import GHC.Driver.Main
462
466
import GHC.Driver.Monad
463
467
import GHC.Driver.Phases
464
468
import GHC.Driver.Pipeline
465
469
import GHC.Driver.Plugins
466
- import GHC.Driver.Session hiding (ExposePackage )
467
- import qualified GHC.Driver.Session as DynFlags
470
+ import GHC.Driver.Session hiding (ExposePackage )
471
+ import qualified GHC.Driver.Session as DynFlags
468
472
#if MIN_VERSION_ghc(9,2,0)
469
- import GHC.Hs (HsParsedModule (.. ))
473
+ import GHC.Hs (HsParsedModule (.. ))
474
+ import GHC.Hs.Decls hiding (FunDep )
475
+ import GHC.Hs.Extension
476
+ import GHC.Hs.ImpExp
477
+ import GHC.Hs.Pat
478
+ import GHC.Hs.Type
470
479
#endif
471
480
#if !MIN_VERSION_ghc(9,2,0)
472
481
import GHC.Hs
@@ -475,21 +484,22 @@ import GHC.HsToCore.Docs
475
484
import GHC.HsToCore.Expr
476
485
import GHC.HsToCore.Monad
477
486
import GHC.Iface.Load
478
- import GHC.Iface.Make (mkFullIface , mkIfaceTc ,
479
- mkPartialIface )
487
+ import GHC.Iface.Make (mkFullIface , mkIfaceTc ,
488
+ mkPartialIface )
480
489
import GHC.Iface.Recomp
481
490
import GHC.Iface.Syntax
482
491
import GHC.Iface.Tidy
483
492
import GHC.IfaceToCore
484
493
import GHC.Parser
485
- import GHC.Parser.Header hiding (getImports )
486
- import GHC.Parser.Lexer
494
+ import GHC.Parser.Header hiding (getImports )
487
495
#if MIN_VERSION_ghc(9,2,0)
488
- import GHC.Linker.Loader
496
+ import GHC.Linker.Loader as Linker
489
497
import GHC.Linker.Types
498
+ import GHC.Parser.Lexer hiding (initParserState )
490
499
import GHC.Platform.Ways
491
- import GHC.Runtime.Context (InteractiveImport (.. ))
500
+ import GHC.Runtime.Context (InteractiveImport (.. ))
492
501
#else
502
+ import GHC.Parser.Lexer
493
503
import GHC.Runtime.Linker
494
504
#endif
495
505
import GHC.Rename.Names
@@ -498,80 +508,82 @@ import GHC.Runtime.Interpreter
498
508
import GHC.Tc.Instance.Family
499
509
import GHC.Tc.Module
500
510
import GHC.Tc.Types
501
- import GHC.Tc.Types.Evidence hiding ((<.>) )
511
+ import GHC.Tc.Types.Evidence hiding ((<.>) )
502
512
import GHC.Tc.Utils.Env
503
- import GHC.Tc.Utils.Monad hiding (Applicative (.. ), IORef ,
504
- MonadFix (.. ), MonadIO (.. ), allM ,
505
- anyM , concatMapM , mapMaybeM , (<$>) )
506
- import GHC.Tc.Utils.TcType as TcType
507
- import qualified GHC.Types.Avail as Avail
513
+ import GHC.Tc.Utils.Monad hiding (Applicative (.. ), IORef ,
514
+ MonadFix (.. ), MonadIO (.. ),
515
+ allM , anyM , concatMapM ,
516
+ mapMaybeM , (<$>) )
517
+ import GHC.Tc.Utils.TcType as TcType
518
+ import qualified GHC.Types.Avail as Avail
508
519
#if MIN_VERSION_ghc(9,2,0)
509
- import GHC.Types.Fixity (LexicalFixity (.. ))
520
+ import GHC.Types.Fixity (LexicalFixity (.. ))
510
521
#endif
511
522
#if MIN_VERSION_ghc(9,2,0)
512
523
import GHC.Types.Meta
513
524
#endif
514
525
import GHC.Types.Basic
515
526
import GHC.Types.Id
516
- import GHC.Types.Name hiding (varName )
527
+ import GHC.Types.Name hiding (varName )
517
528
import GHC.Types.Name.Cache
518
529
import GHC.Types.Name.Env
519
530
import GHC.Types.Name.Reader
520
531
#if MIN_VERSION_ghc(9,2,0)
521
532
import GHC.Types.Name.Set
522
- import GHC.Types.SourceFile (HscSource (.. ),
523
- SourceModified (.. ))
533
+ import GHC.Types.SourceFile (HscSource (.. ),
534
+ SourceModified (.. ))
524
535
import GHC.Types.SourceText
525
- import GHC.Types.Target (Target (.. ), TargetId (.. ))
536
+ import GHC.Types.Target (Target (.. ), TargetId (.. ))
526
537
import GHC.Types.TyThing
527
538
import GHC.Types.TyThing.Ppr
528
539
#else
529
540
import GHC.Types.Name.Set
530
541
#endif
531
- import GHC.Types.SrcLoc (BufPos , BufSpan ,
532
- SrcLoc (UnhelpfulLoc ),
533
- SrcSpan (UnhelpfulSpan ))
534
- import qualified GHC.Types.SrcLoc as SrcLoc
542
+ import GHC.Types.SrcLoc (BufPos , BufSpan ,
543
+ SrcLoc (UnhelpfulLoc ),
544
+ SrcSpan (UnhelpfulSpan ))
545
+ import qualified GHC.Types.SrcLoc as SrcLoc
535
546
import GHC.Types.Unique.Supply
536
- import GHC.Types.Var (Var (varName ), setTyVarUnique ,
537
- setVarUnique )
547
+ import GHC.Types.Var (Var (varName ), setTyVarUnique ,
548
+ setVarUnique )
538
549
#if MIN_VERSION_ghc(9,2,0)
539
550
import GHC.Unit.Finder
540
551
import GHC.Unit.Home.ModInfo
541
552
#endif
542
- import GHC.Unit.Info (PackageName (.. ))
543
- import GHC.Unit.Module hiding (ModLocation (.. ), UnitId ,
544
- addBootSuffixLocnOut , moduleUnit ,
545
- toUnitId )
546
- import qualified GHC.Unit.Module as Module
553
+ import GHC.Unit.Info (PackageName (.. ))
554
+ import GHC.Unit.Module hiding (ModLocation (.. ), UnitId ,
555
+ addBootSuffixLocnOut , moduleUnit ,
556
+ toUnitId )
557
+ import qualified GHC.Unit.Module as Module
547
558
#if MIN_VERSION_ghc(9,2,0)
548
- import GHC.Unit.Module.Graph (mkModuleGraph )
559
+ import GHC.Unit.Module.Graph (mkModuleGraph )
549
560
import GHC.Unit.Module.Imported
550
561
import GHC.Unit.Module.ModDetails
551
562
import GHC.Unit.Module.ModGuts
552
- import GHC.Unit.Module.ModIface (IfaceExport , ModIface (.. ), ModIface_ (.. ))
553
- import GHC.Unit.Module.ModSummary (ModSummary (.. ))
554
- #endif
555
- import GHC.Unit.State (ModuleOrigin (.. ))
556
- import GHC.Utils.Error (Severity (.. ))
557
- import GHC.Utils.Panic hiding (try )
558
- import qualified GHC.Utils.Panic.Plain as Plain
563
+ import GHC.Unit.Module.ModIface (IfaceExport , ModIface (.. ),
564
+ ModIface_ (.. ))
565
+ import GHC.Unit.Module.ModSummary (ModSummary (.. ))
566
+ #endif
567
+ import GHC.Unit.State (ModuleOrigin (.. ))
568
+ import GHC.Utils.Error (Severity (.. ))
569
+ import GHC.Utils.Panic hiding (try )
570
+ import qualified GHC.Utils.Panic.Plain as Plain
559
571
#else
560
572
import qualified Avail
561
- import BasicTypes hiding (Version )
573
+ import BasicTypes hiding (Version )
562
574
import Class
563
- import CmdLineParser (Warn (.. ))
575
+ import CmdLineParser (Warn (.. ))
564
576
import ConLike
565
577
import CoreUtils
566
- import DataCon hiding (dataConExTyCoVars )
578
+ import DataCon hiding (dataConExTyCoVars )
567
579
import qualified DataCon
568
580
import DriverPhases
569
581
import DriverPipeline
570
582
import DsExpr
571
- import DsMonad hiding (foldrM )
572
- import DynFlags hiding (ExposePackage )
583
+ import DsMonad hiding (foldrM )
584
+ import DynFlags hiding (ExposePackage )
573
585
import qualified DynFlags
574
- import ErrUtils hiding (logInfo , mkWarnMsg )
586
+ import ErrUtils hiding (logInfo , mkWarnMsg )
575
587
import ExtractDocs
576
588
import FamInst
577
589
import FamInstEnv
@@ -581,7 +593,7 @@ import GHC.Hs
581
593
#endif
582
594
import GHCi
583
595
import GhcMonad
584
- import HeaderInfo hiding (getImports )
596
+ import HeaderInfo hiding (getImports )
585
597
import Hooks
586
598
import HscMain
587
599
import HscTypes
@@ -595,81 +607,83 @@ import HsExtension
595
607
import HsImpExp
596
608
import HsLit
597
609
import HsPat
598
- import HsSyn hiding (wildCardName )
599
- import HsTypes hiding (wildCardName )
610
+ import HsSyn hiding (wildCardName )
611
+ import HsTypes hiding (wildCardName )
600
612
import HsUtils
601
613
#endif
602
614
import Id
603
615
import IfaceSyn
604
616
import InstEnv
605
- import Lexer hiding (getSrcLoc )
606
- import Linker
617
+ import Lexer hiding (getSrcLoc )
618
+ import qualified Linker
607
619
import LoadIface
608
620
import MkIface
609
- import Module hiding (ModLocation (.. ), UnitId ,
610
- addBootSuffixLocnOut , moduleUnitId )
621
+ import Module hiding (ModLocation (.. ), UnitId ,
622
+ addBootSuffixLocnOut ,
623
+ moduleUnitId )
611
624
import qualified Module
612
- import Name hiding (varName )
625
+ import Name hiding (varName )
613
626
import NameCache
614
627
import NameEnv
615
628
import NameSet
616
629
import Packages
617
630
#if MIN_VERSION_ghc(8,8,0)
618
- import Panic hiding (try )
619
- import qualified PlainPanic as Plain
631
+ import Panic hiding (try )
632
+ import qualified PlainPanic as Plain
620
633
#else
621
- import Panic hiding (GhcException , try )
622
- import qualified Panic as Plain
634
+ import Panic hiding (GhcException , try )
635
+ import qualified Panic as Plain
623
636
#endif
624
637
import Parser
625
638
import PatSyn
626
639
#if MIN_VERSION_ghc(8,8,0)
627
640
import Plugins
628
641
#endif
629
- import PprTyThing hiding (pprFamInst )
642
+ import PprTyThing hiding (pprFamInst )
630
643
import PrelInfo
631
- import PrelNames hiding (Unique , printName )
644
+ import PrelNames hiding (Unique , printName )
632
645
import RdrName
633
646
import RnNames
634
647
import RnSplice
635
648
import qualified SrcLoc
636
649
import TcEnv
637
- import TcEvidence hiding ((<.>) )
650
+ import TcEvidence hiding ((<.>) )
638
651
import TcIface
639
652
import TcRnDriver
640
- import TcRnMonad hiding (Applicative (.. ), IORef ,
641
- MonadFix (.. ), MonadIO (.. ), allM ,
642
- anyM , concatMapM , foldrM ,
643
- mapMaybeM , (<$>) )
653
+ import TcRnMonad hiding (Applicative (.. ), IORef ,
654
+ MonadFix (.. ), MonadIO (.. ),
655
+ allM , anyM , concatMapM , foldrM ,
656
+ mapMaybeM , (<$>) )
644
657
import TcRnTypes
645
- import TcType hiding (mkVisFunTys )
658
+ import TcType hiding (mkVisFunTys )
646
659
import qualified TcType
647
660
import TidyPgm
648
661
import qualified TyCoRep
649
662
import TyCon
650
- import Type hiding (mkVisFunTys )
663
+ import Type hiding (mkVisFunTys )
651
664
import TysPrim
652
665
import TysWiredIn
653
666
import Unify
654
667
import UniqFM
655
668
import UniqSupply
656
- import Var (Var (varName ), setTyVarUnique ,
657
- setVarUnique , varType )
669
+ import Var (Var (varName ), setTyVarUnique ,
670
+ setVarUnique , varType )
658
671
659
672
#if MIN_VERSION_ghc(8,10,0)
660
- import Coercion (coercionKind )
673
+ import Coercion (coercionKind )
661
674
import Predicate
662
- import SrcLoc (SrcLoc (UnhelpfulLoc ),
663
- SrcSpan (UnhelpfulSpan ))
675
+ import SrcLoc (SrcLoc (UnhelpfulLoc ),
676
+ SrcSpan (UnhelpfulSpan ))
664
677
#else
665
- import SrcLoc (RealLocated , SrcLoc (UnhelpfulLoc ),
666
- SrcSpan (UnhelpfulSpan ))
678
+ import SrcLoc (RealLocated ,
679
+ SrcLoc (UnhelpfulLoc ),
680
+ SrcSpan (UnhelpfulSpan ))
667
681
#endif
668
682
#endif
669
683
670
684
671
685
#if !MIN_VERSION_ghc(8,8,0)
672
- import Data.List (isSuffixOf )
686
+ import Data.List (isSuffixOf )
673
687
import System.FilePath
674
688
#endif
675
689
@@ -883,3 +897,12 @@ type PlainGhcException = Plain.PlainGhcException
883
897
#else
884
898
type PlainGhcException = Plain. GhcException
885
899
#endif
900
+
901
+ initDynLinker :: HscEnv -> IO ()
902
+ initDynLinker =
903
+ #if !MIN_VERSION_ghc(9,0,0)
904
+ Linker. initDynLinker
905
+ #else
906
+ -- It errors out in GHC 9.0 and doesn't exist in 9.2
907
+ const $ return ()
908
+ #endif
0 commit comments