packages feed

hie-compat 0.1.0.0 → 0.2.0.0

raw patch · 10 files changed

+86/−23 lines, 10 filesdep ~basenew-uploaderPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: base

API changes (from Hackage documentation)

- Compat.HieAst: instance (Compat.HieAst.HasLoc a, Compat.HieAst.HasLoc b) => Compat.HieAst.HasLoc (HsDecls.FamEqn s a b)
- Compat.HieAst: instance (Compat.HieAst.HasLoc thing, Compat.HieAst.ToHie (Compat.HieAst.TScoped thing)) => Compat.HieAst.ToHie (Compat.HieAst.TScoped (HsTypes.HsImplicitBndrs HsExtension.GhcRn thing))
- Compat.HieAst: instance (Compat.HieAst.HasLoc thing, Compat.HieAst.ToHie (Compat.HieAst.TScoped thing)) => Compat.HieAst.ToHie (Compat.HieAst.TScoped (HsTypes.HsWildCardBndrs HsExtension.GhcRn thing))
- Compat.HieAst: instance (Compat.HieAst.ToHie (Compat.HieAst.BindContext (HsBinds.LHsBind a)), Compat.HieAst.ToHie (Compat.HieAst.SigContext (HsBinds.LSig a)), Compat.HieAst.ToHie (Compat.HieAst.RScoped (HsExtension.XXValBindsLR a a))) => Compat.HieAst.ToHie (Compat.HieAst.RScoped (HsBinds.HsValBindsLR a a))
- Compat.HieAst: instance (Compat.HieAst.ToHie (Compat.HieAst.Context (SrcLoc.Located (HsExtension.IdP a))), Compat.HieAst.ToHie (Compat.HieAst.PScoped (HsPat.LPat a)), Compat.HieAst.ToHie (HsBinds.HsPatSynDir a)) => Compat.HieAst.ToHie (SrcLoc.Located (HsBinds.PatSynBind a a))
- Compat.HieAst: instance (Compat.HieAst.ToHie (Compat.HieAst.Context (SrcLoc.Located (HsExtension.IdP a))), Compat.HieAst.ToHie (HsExpr.MatchGroup a (HsExpr.LHsExpr a)), Compat.HieAst.ToHie (Compat.HieAst.PScoped (HsPat.LPat a)), Compat.HieAst.ToHie (HsExpr.GRHSs a (HsExpr.LHsExpr a)), Compat.HieAst.ToHie (HsExpr.LHsExpr a), Compat.HieAst.ToHie (SrcLoc.Located (HsBinds.PatSynBind a a)), Compat.HieAst.HasType (HsBinds.LHsBind a), Compat.HieAst.ModifyState (HsExtension.IdP a), Data.Data.Data (HsBinds.HsBind a)) => Compat.HieAst.ToHie (Compat.HieAst.BindContext (HsBinds.LHsBind a))
- Compat.HieAst: instance (Compat.HieAst.ToHie (Compat.HieAst.RFContext (SrcLoc.Located label)), Compat.HieAst.ToHie arg, Compat.HieAst.HasLoc arg, Data.Data.Data label, Data.Data.Data arg) => Compat.HieAst.ToHie (Compat.HieAst.RContext (HsPat.LHsRecField' label arg))
- Compat.HieAst: instance (Compat.HieAst.ToHie (HsExpr.LHsCmd a), Data.Data.Data (HsExpr.HsCmdTop a)) => Compat.HieAst.ToHie (HsExpr.LHsCmdTop a)
- Compat.HieAst: instance (Compat.HieAst.ToHie (HsExpr.LHsExpr a), Compat.HieAst.ToHie (Compat.HieAst.PScoped (HsPat.LPat a)), Compat.HieAst.ToHie (Compat.HieAst.BindContext (HsBinds.LHsBind a)), Compat.HieAst.ToHie (Compat.HieAst.SigContext (HsBinds.LSig a)), Compat.HieAst.ToHie (Compat.HieAst.RScoped (HsBinds.HsValBindsLR a a)), Data.Data.Data (HsBinds.HsLocalBinds a)) => Compat.HieAst.ToHie (Compat.HieAst.RScoped (HsBinds.LHsLocalBinds a))
- Compat.HieAst: instance (Compat.HieAst.ToHie (HsExpr.LHsExpr a), Data.Data.Data (HsExpr.HsSplice a)) => Compat.HieAst.ToHie (SrcLoc.Located (HsExpr.HsSplice a))
- Compat.HieAst: instance (Compat.HieAst.ToHie (SrcLoc.Located body), Compat.HieAst.ToHie (Compat.HieAst.RScoped (HsExpr.GuardLStmt a)), Data.Data.Data (HsExpr.GRHS a (SrcLoc.Located body))) => Compat.HieAst.ToHie (HsExpr.LGRHS a (SrcLoc.Located body))
- Compat.HieAst: instance (Compat.HieAst.ToHie arg, Compat.HieAst.ToHie rec) => Compat.HieAst.ToHie (HsTypes.HsConDetails arg rec)
- Compat.HieAst: instance (Compat.HieAst.ToHie body, Compat.HieAst.ToHie (HsExpr.LGRHS a body), Compat.HieAst.ToHie (Compat.HieAst.RScoped (HsBinds.LHsLocalBinds a))) => Compat.HieAst.ToHie (HsExpr.GRHSs a body)
- Compat.HieAst: instance (Compat.HieAst.ToHie pats, Compat.HieAst.ToHie rhs, Compat.HieAst.HasLoc pats, Compat.HieAst.HasLoc rhs) => Compat.HieAst.ToHie (Compat.HieAst.TScoped (HsDecls.FamEqn HsExtension.GhcRn pats rhs))
- Compat.HieAst: instance (Compat.HieAst.ToHie pats, Compat.HieAst.ToHie rhs, Compat.HieAst.HasLoc pats, Compat.HieAst.HasLoc rhs) => Compat.HieAst.ToHie (HsDecls.FamEqn HsExtension.GhcRn pats rhs)
- Compat.HieAst: instance (a Data.Type.Equality.~ HsExtension.GhcPass p, Compat.HieAst.ToHie (Compat.HieAst.Context (SrcLoc.Located (HsExtension.IdP a))), Compat.HieAst.HasType (HsExpr.LHsExpr a), Compat.HieAst.ToHie (Compat.HieAst.PScoped (HsPat.LPat a)), Compat.HieAst.ToHie (HsExpr.MatchGroup a (HsExpr.LHsExpr a)), Compat.HieAst.ToHie (HsExpr.LGRHS a (HsExpr.LHsExpr a)), Compat.HieAst.ToHie (Compat.HieAst.RContext (HsExpr.HsRecordBinds a)), Compat.HieAst.ToHie (Compat.HieAst.RFContext (SrcLoc.Located (HsTypes.AmbiguousFieldOcc a))), Compat.HieAst.ToHie (HsExpr.ArithSeqInfo a), Compat.HieAst.ToHie (HsExpr.LHsCmdTop a), Compat.HieAst.ToHie (Compat.HieAst.RScoped (HsExpr.GuardLStmt a)), Compat.HieAst.ToHie (Compat.HieAst.RScoped (HsBinds.LHsLocalBinds a)), Compat.HieAst.ToHie (Compat.HieAst.TScoped (HsTypes.LHsWcType (Compat.HieAst.NoGhcTc a))), Compat.HieAst.ToHie (Compat.HieAst.TScoped (HsTypes.LHsSigWcType (Compat.HieAst.NoGhcTc a))), Compat.HieAst.ToHie (Compat.HieAst.TScoped (HsExtension.XExprWithTySig (HsExtension.GhcPass p))), Compat.HieAst.ToHie (Compat.HieAst.TScoped (HsExtension.XAppTypeE (HsExtension.GhcPass p))), Data.Data.Data (HsExpr.HsExpr a), Data.Data.Data (HsExpr.HsSplice a), Data.Data.Data (HsExpr.HsTupArg a), Data.Data.Data (HsTypes.AmbiguousFieldOcc a)) => Compat.HieAst.ToHie (HsExpr.LHsExpr (HsExtension.GhcPass p))
- Compat.HieAst: instance (a Data.Type.Equality.~ HsExtension.GhcPass p, Compat.HieAst.ToHie (Compat.HieAst.Context (SrcLoc.Located (HsExtension.IdP a))), Compat.HieAst.ToHie (Compat.HieAst.RContext (HsPat.HsRecFields a (Compat.HieAst.PScoped (HsPat.LPat a)))), Compat.HieAst.ToHie (HsExpr.LHsExpr a), Compat.HieAst.ToHie (Compat.HieAst.TScoped (HsTypes.LHsSigWcType a)), Compat.HieAst.ProtectSig a, Compat.HieAst.ToHie (Compat.HieAst.TScoped (Compat.HieAst.ProtectedSig a)), Compat.HieAst.HasType (HsPat.LPat a), Data.Data.Data (HsExpr.HsSplice a)) => Compat.HieAst.ToHie (Compat.HieAst.PScoped (HsPat.LPat (HsExtension.GhcPass p)))
- Compat.HieAst: instance (a Data.Type.Equality.~ HsExtension.GhcPass p, Compat.HieAst.ToHie (Compat.HieAst.PScoped (HsPat.LPat a)), Compat.HieAst.ToHie (Compat.HieAst.BindContext (HsBinds.LHsBind a)), Compat.HieAst.ToHie (HsExpr.LHsExpr a), Compat.HieAst.ToHie (Compat.HieAst.SigContext (HsBinds.LSig a)), Compat.HieAst.ToHie (Compat.HieAst.RScoped (HsBinds.HsValBindsLR a a)), Data.Data.Data (HsExpr.StmtLR a a (SrcLoc.Located (HsExpr.HsExpr a))), Data.Data.Data (HsBinds.HsLocalBinds a)) => Compat.HieAst.ToHie (Compat.HieAst.RScoped (HsExpr.ApplicativeArg (HsExtension.GhcPass p)))
- Compat.HieAst: instance (a Data.Type.Equality.~ HsExtension.GhcPass p, Compat.HieAst.ToHie (Compat.HieAst.PScoped (HsPat.LPat a)), Compat.HieAst.ToHie (Compat.HieAst.BindContext (HsBinds.LHsBind a)), Compat.HieAst.ToHie (HsExpr.LHsExpr a), Compat.HieAst.ToHie (HsExpr.MatchGroup a (HsExpr.LHsCmd a)), Compat.HieAst.ToHie (Compat.HieAst.SigContext (HsBinds.LSig a)), Compat.HieAst.ToHie (Compat.HieAst.RScoped (HsBinds.HsValBindsLR a a)), Data.Data.Data (HsExpr.HsCmd a), Data.Data.Data (HsExpr.HsCmdTop a), Data.Data.Data (HsExpr.StmtLR a a (SrcLoc.Located (HsExpr.HsCmd a))), Data.Data.Data (HsBinds.HsLocalBinds a), Data.Data.Data (HsExpr.StmtLR a a (SrcLoc.Located (HsExpr.HsExpr a)))) => Compat.HieAst.ToHie (HsExpr.LHsCmd (HsExtension.GhcPass p))
- Compat.HieAst: instance (a Data.Type.Equality.~ HsExtension.GhcPass p, Compat.HieAst.ToHie (Compat.HieAst.PScoped (HsPat.LPat a)), Compat.HieAst.ToHie (HsExpr.LHsExpr a), Compat.HieAst.ToHie (Compat.HieAst.SigContext (HsBinds.LSig a)), Compat.HieAst.ToHie (Compat.HieAst.RScoped (HsBinds.LHsLocalBinds a)), Compat.HieAst.ToHie (Compat.HieAst.RScoped (HsExpr.ApplicativeArg a)), Compat.HieAst.ToHie (SrcLoc.Located body), Data.Data.Data (HsExpr.StmtLR a a (SrcLoc.Located body)), Data.Data.Data (HsExpr.StmtLR a a (SrcLoc.Located (HsExpr.HsExpr a)))) => Compat.HieAst.ToHie (Compat.HieAst.RScoped (HsExpr.LStmt (HsExtension.GhcPass p) (SrcLoc.Located body)))
- Compat.HieAst: instance (a Data.Type.Equality.~ HsExtension.GhcPass p, Compat.HieAst.ToHie (HsExpr.LHsExpr a), Data.Data.Data (HsExpr.HsTupArg a)) => Compat.HieAst.ToHie (HsExpr.LHsTupArg (HsExtension.GhcPass p))
- Compat.HieAst: instance (a Data.Type.Equality.~ HsExtension.GhcPass p, Compat.HieAst.ToHie body, Compat.HieAst.ToHie (HsExpr.HsMatchContext (PlaceHolder.NameOrRdrName (HsExtension.IdP a))), Compat.HieAst.ToHie (Compat.HieAst.PScoped (HsPat.LPat a)), Compat.HieAst.ToHie (HsExpr.GRHSs a body), Data.Data.Data (HsExpr.Match a body)) => Compat.HieAst.ToHie (HsExpr.LMatch (HsExtension.GhcPass p) body)
- Compat.HieAst: instance Compat.HieAst.HasLoc (HsDecls.HsDataDefn HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.HasLoc (HsTypes.LHsQTyVars HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.HasLoc thing => Compat.HieAst.HasLoc (HsTypes.HsImplicitBndrs a thing)
- Compat.HieAst: instance Compat.HieAst.HasLoc thing => Compat.HieAst.HasLoc (HsTypes.HsWildCardBndrs a thing)
- Compat.HieAst: instance Compat.HieAst.HasType (HsBinds.LHsBind HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.HasType (HsBinds.LHsBind HsExtension.GhcTc)
- Compat.HieAst: instance Compat.HieAst.HasType (HsExpr.LHsExpr HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.HasType (HsExpr.LHsExpr HsExtension.GhcTc)
- Compat.HieAst: instance Compat.HieAst.HasType (HsPat.LPat HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.HasType (HsPat.LPat HsExtension.GhcTc)
- Compat.HieAst: instance Compat.HieAst.ProtectSig HsExtension.GhcRn
- Compat.HieAst: instance Compat.HieAst.ProtectSig HsExtension.GhcTc
- Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.Context (SrcLoc.Located HsExtension.NoExt))
- Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.Context (SrcLoc.Located a)) => Compat.HieAst.ToHie (HsDecls.AnnProvenance a)
- Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.Context (SrcLoc.Located a)) => Compat.HieAst.ToHie (HsExpr.HsMatchContext a)
- Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.Context a) => Compat.HieAst.ToHie (Compat.HieAst.PatSynFieldContext (HsBinds.RecordPatSynField a))
- Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.IEContext (HsImpExp.LIE HsExtension.GhcRn))
- Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.IEContext (HsImpExp.LIEWrappedName Name.Name))
- Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.RContext (HsPat.LHsRecField a arg)) => Compat.HieAst.ToHie (Compat.HieAst.RContext (HsPat.HsRecFields a arg))
- Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.RFContext (HsTypes.LFieldOcc HsExtension.GhcRn))
- Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.RFContext (HsTypes.LFieldOcc HsExtension.GhcTc))
- Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.RFContext (SrcLoc.Located (HsTypes.AmbiguousFieldOcc HsExtension.GhcRn)))
- Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.RFContext (SrcLoc.Located (HsTypes.AmbiguousFieldOcc HsExtension.GhcTc)))
- Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.RScoped (HsBinds.NHsValBindsLR HsExtension.GhcRn))
- Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.RScoped (HsBinds.NHsValBindsLR HsExtension.GhcTc))
- Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.RScoped (HsDecls.LFamilyResultSig HsExtension.GhcRn))
- Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.RScoped (HsDecls.LRuleBndr HsExtension.GhcRn))
- Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.SigContext (HsBinds.LSig HsExtension.GhcRn))
- Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.SigContext (HsBinds.LSig HsExtension.GhcTc))
- Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.TScoped (HsTypes.LHsQTyVars HsExtension.GhcRn))
- Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.TScoped (HsTypes.LHsSigWcType HsExtension.GhcTc))
- Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.TScoped (HsTypes.LHsType HsExtension.GhcRn))
- Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.TScoped (HsTypes.LHsWcType HsExtension.GhcTc))
- Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.TScoped HsExtension.NoExt)
- Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.TVScoped (HsTypes.LHsTyVarBndr HsExtension.GhcRn))
- Compat.HieAst: instance Compat.HieAst.ToHie (HsBinds.LFixitySig HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsDecls.FamilyInfo HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsDecls.HsDataDefn HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsDecls.HsDeriving HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsDecls.LAnnDecl HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsDecls.LClsInstDecl HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsDecls.LConDecl HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsDecls.LDataFamInstDecl HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsDecls.LDefaultDecl HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsDecls.LDerivDecl HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsDecls.LFamilyDecl HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsDecls.LForeignDecl HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsDecls.LHsDerivingClause HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsDecls.LInjectivityAnn HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsDecls.LInstDecl HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsDecls.LRoleAnnotDecl HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsDecls.LRuleDecl HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsDecls.LRuleDecls HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsDecls.LSpliceDecl HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsDecls.LTyClDecl HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsDecls.LTyFamInstDecl HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsDecls.LWarnDecl HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsDecls.LWarnDecls HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsDecls.TyClGroup HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsExpr.HsBracket a)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsExpr.HsMatchContext a) => Compat.HieAst.ToHie (HsExpr.HsStmtContext a)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsExpr.LHsExpr a) => Compat.HieAst.ToHie (HsExpr.ArithSeqInfo a)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsExpr.LMatch a body) => Compat.HieAst.ToHie (HsExpr.MatchGroup a body)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsExpr.MatchGroup a (HsExpr.LHsExpr a)) => Compat.HieAst.ToHie (HsBinds.HsPatSynDir a)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsImpExp.LImportDecl HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsTypes.LConDeclField HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsTypes.LHsContext HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.ToHie (HsTypes.LHsType HsExtension.GhcRn)
- Compat.HieAst: instance Compat.HieAst.ToHie (SrcLoc.Located (HsDecls.DerivStrategy HsExtension.GhcRn))
- Compat.HieAst: instance Compat.HieAst.ToHie (SrcLoc.Located HsTypes.HsIPName)
- Compat.HieAst: instance Compat.HieAst.ToHie (SrcLoc.Located [HsTypes.LConDeclField HsExtension.GhcRn])
- Compat.HieAst: instance Compat.HieAst.ToHie HsDecls.ForeignExport
- Compat.HieAst: instance Compat.HieAst.ToHie HsDecls.ForeignImport
- Compat.HieAst: instance Compat.HieAst.ToHie HsExpr.PendingRnSplice
- Compat.HieAst: instance Compat.HieAst.ToHie HsExpr.PendingTcSplice
- Compat.HieDebug: diffAst :: (Outputable a, Eq a) => Diff a -> Diff (HieAST a)
- Compat.HieDebug: diffAsts :: (Outputable a, Eq a) => Diff a -> Diff (Map FastString (HieAST a))
- Compat.HieDebug: diffFile :: Diff HieFile
- Compat.HieDebug: diffList :: Diff a -> Diff [a]
- Compat.HieDebug: eqDiff :: (Outputable a, Eq a) => Diff a
- Compat.HieDebug: normalizeIdents :: NodeIdentifiers a -> [(DiffIdent, IdentifierDetails a)]
- Compat.HieDebug: ppHie :: Outputable a => HieAST a -> SDoc
- Compat.HieDebug: ppHies :: Outputable a => HieASTs a -> SDoc
- Compat.HieDebug: ppInfo :: Outputable a => NodeInfo a -> SDoc
- Compat.HieDebug: type Diff a = a -> a -> [SDoc]
- Compat.HieDebug: type DiffIdent = Either ModuleName HieName
- Compat.HieDebug: validAst :: HieAST a -> Either SDoc ()
- Compat.HieDebug: validateScopes :: Map FastString (HieAST a) -> [SDoc]
- Compat.HieTypes: ClassDec :: DeclType
- Compat.HieTypes: ClassTyDecl :: Maybe Span -> ContextInfo
- Compat.HieTypes: ConDec :: DeclType
- Compat.HieTypes: DataDec :: DeclType
- Compat.HieTypes: Decl :: DeclType -> Maybe Span -> ContextInfo
- Compat.HieTypes: Export :: IEType
- Compat.HieTypes: FamDec :: DeclType
- Compat.HieTypes: HAppTy :: a -> a -> HieType a
- Compat.HieTypes: HCastTy :: a -> HieType a
- Compat.HieTypes: HCoercionTy :: HieType a
- Compat.HieTypes: HForAllTy :: ((Name, a), ArgFlag) -> a -> HieType a
- Compat.HieTypes: HFunTy :: a -> a -> HieType a
- Compat.HieTypes: HLitTy :: IfaceTyLit -> HieType a
- Compat.HieTypes: HQualTy :: a -> a -> HieType a
- Compat.HieTypes: HTyConApp :: IfaceTyCon -> HieArgs a -> HieType a
- Compat.HieTypes: HTyVarTy :: Name -> HieType a
- Compat.HieTypes: HieASTs :: Map FastString (HieAST a) -> HieASTs a
- Compat.HieTypes: HieArgs :: [(Bool, a)] -> HieArgs a
- Compat.HieTypes: HieFile :: FilePath -> Module -> Array TypeIndex HieTypeFlat -> HieASTs TypeIndex -> [AvailInfo] -> ByteString -> HieFile
- Compat.HieTypes: IEThing :: IEType -> ContextInfo
- Compat.HieTypes: IdentifierDetails :: Maybe a -> Set ContextInfo -> IdentifierDetails a
- Compat.HieTypes: Import :: IEType
- Compat.HieTypes: ImportAs :: IEType
- Compat.HieTypes: ImportHiding :: IEType
- Compat.HieTypes: InstDec :: DeclType
- Compat.HieTypes: InstanceBind :: BindType
- Compat.HieTypes: LocalScope :: Span -> Scope
- Compat.HieTypes: MatchBind :: ContextInfo
- Compat.HieTypes: ModuleScope :: Scope
- Compat.HieTypes: NoScope :: Scope
- Compat.HieTypes: Node :: NodeInfo a -> Span -> [HieAST a] -> HieAST a
- Compat.HieTypes: NodeInfo :: Set (FastString, FastString) -> [a] -> NodeIdentifiers a -> NodeInfo a
- Compat.HieTypes: PatSynDec :: DeclType
- Compat.HieTypes: PatternBind :: Scope -> Scope -> Maybe Span -> ContextInfo
- Compat.HieTypes: RecField :: RecFieldContext -> Maybe Span -> ContextInfo
- Compat.HieTypes: RecFieldAssign :: RecFieldContext
- Compat.HieTypes: RecFieldDecl :: RecFieldContext
- Compat.HieTypes: RecFieldMatch :: RecFieldContext
- Compat.HieTypes: RecFieldOcc :: RecFieldContext
- Compat.HieTypes: RegularBind :: BindType
- Compat.HieTypes: ResolvedScopes :: [Scope] -> TyVarScope
- Compat.HieTypes: Roll :: HieType HieTypeFix -> HieTypeFix
- Compat.HieTypes: SynDec :: DeclType
- Compat.HieTypes: TyDecl :: ContextInfo
- Compat.HieTypes: TyVarBind :: Scope -> TyVarScope -> ContextInfo
- Compat.HieTypes: UnresolvedScope :: [Name] -> Maybe Span -> TyVarScope
- Compat.HieTypes: Use :: ContextInfo
- Compat.HieTypes: ValBind :: BindType -> Scope -> Maybe Span -> ContextInfo
- Compat.HieTypes: [getAsts] :: HieASTs a -> Map FastString (HieAST a)
- Compat.HieTypes: [hie_asts] :: HieFile -> HieASTs TypeIndex
- Compat.HieTypes: [hie_exports] :: HieFile -> [AvailInfo]
- Compat.HieTypes: [hie_hs_file] :: HieFile -> FilePath
- Compat.HieTypes: [hie_hs_src] :: HieFile -> ByteString
- Compat.HieTypes: [hie_module] :: HieFile -> Module
- Compat.HieTypes: [hie_types] :: HieFile -> Array TypeIndex HieTypeFlat
- Compat.HieTypes: [identInfo] :: IdentifierDetails a -> Set ContextInfo
- Compat.HieTypes: [identType] :: IdentifierDetails a -> Maybe a
- Compat.HieTypes: [nodeAnnotations] :: NodeInfo a -> Set (FastString, FastString)
- Compat.HieTypes: [nodeChildren] :: HieAST a -> [HieAST a]
- Compat.HieTypes: [nodeIdentifiers] :: NodeInfo a -> NodeIdentifiers a
- Compat.HieTypes: [nodeInfo] :: HieAST a -> NodeInfo a
- Compat.HieTypes: [nodeSpan] :: HieAST a -> Span
- Compat.HieTypes: [nodeType] :: NodeInfo a -> [a]
- Compat.HieTypes: data BindType
- Compat.HieTypes: data ContextInfo
- Compat.HieTypes: data DeclType
- Compat.HieTypes: data HieAST a
- Compat.HieTypes: data HieFile
- Compat.HieTypes: data HieType a
- Compat.HieTypes: data IEType
- Compat.HieTypes: data IdentifierDetails a
- Compat.HieTypes: data NodeInfo a
- Compat.HieTypes: data RecFieldContext
- Compat.HieTypes: data Scope
- Compat.HieTypes: data TyVarScope
- Compat.HieTypes: hieVersion :: Integer
- Compat.HieTypes: instance (GHC.Arr.Ix a, Binary.Binary a, Binary.Binary b) => Binary.Binary (GHC.Arr.Array a b)
- Compat.HieTypes: instance Binary.Binary (Compat.HieTypes.HieAST Compat.HieTypes.TypeIndex)
- Compat.HieTypes: instance Binary.Binary (Compat.HieTypes.HieASTs Compat.HieTypes.TypeIndex)
- Compat.HieTypes: instance Binary.Binary (Compat.HieTypes.HieArgs Compat.HieTypes.TypeIndex)
- Compat.HieTypes: instance Binary.Binary (Compat.HieTypes.HieType Compat.HieTypes.TypeIndex)
- Compat.HieTypes: instance Binary.Binary (Compat.HieTypes.IdentifierDetails Compat.HieTypes.TypeIndex)
- Compat.HieTypes: instance Binary.Binary (Compat.HieTypes.NodeInfo Compat.HieTypes.TypeIndex)
- Compat.HieTypes: instance Binary.Binary Compat.HieTypes.BindType
- Compat.HieTypes: instance Binary.Binary Compat.HieTypes.ContextInfo
- Compat.HieTypes: instance Binary.Binary Compat.HieTypes.DeclType
- Compat.HieTypes: instance Binary.Binary Compat.HieTypes.HieFile
- Compat.HieTypes: instance Binary.Binary Compat.HieTypes.IEType
- Compat.HieTypes: instance Binary.Binary Compat.HieTypes.RecFieldContext
- Compat.HieTypes: instance Binary.Binary Compat.HieTypes.Scope
- Compat.HieTypes: instance Binary.Binary Compat.HieTypes.TyVarScope
- Compat.HieTypes: instance Binary.Binary SrcLoc.RealSrcSpan
- Compat.HieTypes: instance Data.Data.Data Compat.HieTypes.Scope
- Compat.HieTypes: instance Data.Foldable.Foldable Compat.HieTypes.HieAST
- Compat.HieTypes: instance Data.Foldable.Foldable Compat.HieTypes.HieASTs
- Compat.HieTypes: instance Data.Foldable.Foldable Compat.HieTypes.HieArgs
- Compat.HieTypes: instance Data.Foldable.Foldable Compat.HieTypes.HieType
- Compat.HieTypes: instance Data.Foldable.Foldable Compat.HieTypes.IdentifierDetails
- Compat.HieTypes: instance Data.Foldable.Foldable Compat.HieTypes.NodeInfo
- Compat.HieTypes: instance Data.Traversable.Traversable Compat.HieTypes.HieAST
- Compat.HieTypes: instance Data.Traversable.Traversable Compat.HieTypes.HieASTs
- Compat.HieTypes: instance Data.Traversable.Traversable Compat.HieTypes.HieArgs
- Compat.HieTypes: instance Data.Traversable.Traversable Compat.HieTypes.HieType
- Compat.HieTypes: instance Data.Traversable.Traversable Compat.HieTypes.IdentifierDetails
- Compat.HieTypes: instance Data.Traversable.Traversable Compat.HieTypes.NodeInfo
- Compat.HieTypes: instance GHC.Base.Functor Compat.HieTypes.HieAST
- Compat.HieTypes: instance GHC.Base.Functor Compat.HieTypes.HieASTs
- Compat.HieTypes: instance GHC.Base.Functor Compat.HieTypes.HieArgs
- Compat.HieTypes: instance GHC.Base.Functor Compat.HieTypes.HieType
- Compat.HieTypes: instance GHC.Base.Functor Compat.HieTypes.IdentifierDetails
- Compat.HieTypes: instance GHC.Base.Functor Compat.HieTypes.NodeInfo
- Compat.HieTypes: instance GHC.Base.Monoid (Compat.HieTypes.IdentifierDetails a)
- Compat.HieTypes: instance GHC.Base.Semigroup (Compat.HieTypes.IdentifierDetails a)
- Compat.HieTypes: instance GHC.Classes.Eq Compat.HieTypes.BindType
- Compat.HieTypes: instance GHC.Classes.Eq Compat.HieTypes.ContextInfo
- Compat.HieTypes: instance GHC.Classes.Eq Compat.HieTypes.DeclType
- Compat.HieTypes: instance GHC.Classes.Eq Compat.HieTypes.IEType
- Compat.HieTypes: instance GHC.Classes.Eq Compat.HieTypes.RecFieldContext
- Compat.HieTypes: instance GHC.Classes.Eq Compat.HieTypes.Scope
- Compat.HieTypes: instance GHC.Classes.Eq Compat.HieTypes.TyVarScope
- Compat.HieTypes: instance GHC.Classes.Eq a => GHC.Classes.Eq (Compat.HieTypes.HieArgs a)
- Compat.HieTypes: instance GHC.Classes.Eq a => GHC.Classes.Eq (Compat.HieTypes.HieType a)
- Compat.HieTypes: instance GHC.Classes.Eq a => GHC.Classes.Eq (Compat.HieTypes.IdentifierDetails a)
- Compat.HieTypes: instance GHC.Classes.Ord Compat.HieTypes.BindType
- Compat.HieTypes: instance GHC.Classes.Ord Compat.HieTypes.ContextInfo
- Compat.HieTypes: instance GHC.Classes.Ord Compat.HieTypes.DeclType
- Compat.HieTypes: instance GHC.Classes.Ord Compat.HieTypes.IEType
- Compat.HieTypes: instance GHC.Classes.Ord Compat.HieTypes.RecFieldContext
- Compat.HieTypes: instance GHC.Classes.Ord Compat.HieTypes.Scope
- Compat.HieTypes: instance GHC.Classes.Ord Compat.HieTypes.TyVarScope
- Compat.HieTypes: instance GHC.Enum.Enum Compat.HieTypes.BindType
- Compat.HieTypes: instance GHC.Enum.Enum Compat.HieTypes.DeclType
- Compat.HieTypes: instance GHC.Enum.Enum Compat.HieTypes.IEType
- Compat.HieTypes: instance GHC.Enum.Enum Compat.HieTypes.RecFieldContext
- Compat.HieTypes: instance GHC.Show.Show Compat.HieTypes.BindType
- Compat.HieTypes: instance GHC.Show.Show Compat.HieTypes.ContextInfo
- Compat.HieTypes: instance GHC.Show.Show Compat.HieTypes.DeclType
- Compat.HieTypes: instance GHC.Show.Show Compat.HieTypes.IEType
- Compat.HieTypes: instance GHC.Show.Show Compat.HieTypes.RecFieldContext
- Compat.HieTypes: instance GHC.Show.Show Compat.HieTypes.Scope
- Compat.HieTypes: instance GHC.Show.Show Compat.HieTypes.TyVarScope
- Compat.HieTypes: instance Outputable.Outputable Compat.HieTypes.ContextInfo
- Compat.HieTypes: instance Outputable.Outputable Compat.HieTypes.Scope
- Compat.HieTypes: instance Outputable.Outputable a => Outputable.Outputable (Compat.HieTypes.IdentifierDetails a)
- Compat.HieTypes: newtype HieASTs a
- Compat.HieTypes: newtype HieArgs a
- Compat.HieTypes: newtype HieTypeFix
- Compat.HieTypes: type HieTypeFlat = HieType TypeIndex
- Compat.HieTypes: type Identifier = Either ModuleName Name
- Compat.HieTypes: type NodeIdentifiers a = Map Identifier (IdentifierDetails a)
- Compat.HieTypes: type Span = RealSrcSpan
- Compat.HieTypes: type TypeIndex = Int
- Compat.HieUtils: HTS :: !TypeMap TypeIndex -> !IntMap HieTypeFlat -> !TypeIndex -> HieTypeState
- Compat.HieUtils: [freshIndex] :: HieTypeState -> !TypeIndex
- Compat.HieUtils: [htyTable] :: HieTypeState -> !IntMap HieTypeFlat
- Compat.HieUtils: [tyMap] :: HieTypeState -> !TypeMap TypeIndex
- Compat.HieUtils: combineAst :: HieAST Type -> HieAST Type -> HieAST Type
- Compat.HieUtils: combineNodeInfo :: NodeInfo Type -> NodeInfo Type -> NodeInfo Type
- Compat.HieUtils: combineScopes :: Scope -> Scope -> Scope
- Compat.HieUtils: compressTypes :: HieASTs Type -> (HieASTs TypeIndex, Array TypeIndex HieTypeFlat)
- Compat.HieUtils: data HieTypeState
- Compat.HieUtils: definedInAsts :: Map FastString (HieAST a) -> Name -> Bool
- Compat.HieUtils: flattenAst :: HieAST a -> [HieAST a]
- Compat.HieUtils: foldType :: (HieType a -> a) -> HieTypeFix -> a
- Compat.HieUtils: freshTypeIndex :: State HieTypeState TypeIndex
- Compat.HieUtils: generateReferencesMap :: Foldable f => f (HieAST a) -> Map Identifier [(Span, IdentifierDetails a)]
- Compat.HieUtils: getBindSiteFromContext :: ContextInfo -> Maybe Span
- Compat.HieUtils: getNameBinding :: Name -> Map FastString (HieAST a) -> Maybe Span
- Compat.HieUtils: getNameBindingInClass :: Name -> Span -> Map FastString (HieAST a) -> Maybe Span
- Compat.HieUtils: getNameScope :: Name -> Map FastString (HieAST a) -> Maybe [Scope]
- Compat.HieUtils: getNameScopeAndBinding :: Name -> Map FastString (HieAST a) -> Maybe ([Scope], Maybe Span)
- Compat.HieUtils: getScopeFromContext :: ContextInfo -> Maybe [Scope]
- Compat.HieUtils: getTypeIndex :: Type -> State HieTypeState TypeIndex
- Compat.HieUtils: hieTypeToIface :: HieTypeFix -> IfaceType
- Compat.HieUtils: initialHTS :: HieTypeState
- Compat.HieUtils: insertAst :: HieAST Type -> [HieAST Type] -> [HieAST Type]
- Compat.HieUtils: isOccurrence :: ContextInfo -> Bool
- Compat.HieUtils: leftOf :: Span -> Span -> Bool
- Compat.HieUtils: locOnly :: SrcSpan -> [HieAST a]
- Compat.HieUtils: makeNode :: (Applicative m, Data a) => a -> SrcSpan -> m [HieAST b]
- Compat.HieUtils: makeTypeNode :: (Applicative m, Data a) => a -> SrcSpan -> Type -> m [HieAST Type]
- Compat.HieUtils: mergeAsts :: [HieAST Type] -> [HieAST Type] -> [HieAST Type]
- Compat.HieUtils: mergeSortAsts :: [HieAST Type] -> [HieAST Type]
- Compat.HieUtils: mkLScope :: Located a -> Scope
- Compat.HieUtils: mkScope :: SrcSpan -> Scope
- Compat.HieUtils: recoverFullType :: TypeIndex -> Array TypeIndex HieTypeFlat -> HieTypeFix
- Compat.HieUtils: renderHieType :: DynFlags -> HieTypeFix -> String
- Compat.HieUtils: resolveTyVarScopeLocal :: HieAST a -> Map FastString (HieAST a) -> HieAST a
- Compat.HieUtils: resolveTyVarScopes :: Map FastString (HieAST a) -> Map FastString (HieAST a)
- Compat.HieUtils: resolveVisibility :: Type -> [Type] -> [(Bool, Type)]
- Compat.HieUtils: rightOf :: Span -> Span -> Bool
- Compat.HieUtils: scopeContainsSpan :: Scope -> Span -> Bool
- Compat.HieUtils: selectLargestContainedBy :: Span -> HieAST a -> Maybe (HieAST a)
- Compat.HieUtils: selectSmallestContaining :: Span -> HieAST a -> Maybe (HieAST a)
- Compat.HieUtils: simpleNodeInfo :: FastString -> FastString -> NodeInfo a
- Compat.HieUtils: smallestContainingSatisfying :: Span -> (HieAST a -> Bool) -> HieAST a -> Maybe (HieAST a)
- Compat.HieUtils: startsRightOf :: Span -> Span -> Bool
+ Compat.HieAst: instance (Compat.HieAst.HasLoc thing, Compat.HieAst.ToHie (Compat.HieAst.TScoped thing)) => Compat.HieAst.ToHie (Compat.HieAst.TScoped (GHC.Hs.Types.HsImplicitBndrs GHC.Hs.Extension.GhcRn thing))
+ Compat.HieAst: instance (Compat.HieAst.HasLoc thing, Compat.HieAst.ToHie (Compat.HieAst.TScoped thing)) => Compat.HieAst.ToHie (Compat.HieAst.TScoped (GHC.Hs.Types.HsWildCardBndrs GHC.Hs.Extension.GhcRn thing))
+ Compat.HieAst: instance (Compat.HieAst.HasLoc tm, Compat.HieAst.HasLoc ty) => Compat.HieAst.HasLoc (GHC.Hs.Types.HsArg tm ty)
+ Compat.HieAst: instance (Compat.HieAst.ToHie (Compat.HieAst.BindContext (GHC.Hs.Binds.LHsBind a)), Compat.HieAst.ToHie (Compat.HieAst.SigContext (GHC.Hs.Binds.LSig a)), Compat.HieAst.ToHie (Compat.HieAst.RScoped (GHC.Hs.Extension.XXValBindsLR a a))) => Compat.HieAst.ToHie (Compat.HieAst.RScoped (GHC.Hs.Binds.HsValBindsLR a a))
+ Compat.HieAst: instance (Compat.HieAst.ToHie (Compat.HieAst.Context (SrcLoc.Located (GHC.Hs.Extension.IdP a))), Compat.HieAst.ToHie (Compat.HieAst.PScoped (GHC.Hs.Pat.LPat a)), Compat.HieAst.ToHie (GHC.Hs.Binds.HsPatSynDir a)) => Compat.HieAst.ToHie (SrcLoc.Located (GHC.Hs.Binds.PatSynBind a a))
+ Compat.HieAst: instance (Compat.HieAst.ToHie (Compat.HieAst.Context (SrcLoc.Located (GHC.Hs.Extension.IdP a))), Compat.HieAst.ToHie (GHC.Hs.Expr.MatchGroup a (GHC.Hs.Expr.LHsExpr a)), Compat.HieAst.ToHie (Compat.HieAst.PScoped (GHC.Hs.Pat.LPat a)), Compat.HieAst.ToHie (GHC.Hs.Expr.GRHSs a (GHC.Hs.Expr.LHsExpr a)), Compat.HieAst.ToHie (GHC.Hs.Expr.LHsExpr a), Compat.HieAst.ToHie (SrcLoc.Located (GHC.Hs.Binds.PatSynBind a a)), Compat.HieAst.HasType (GHC.Hs.Binds.LHsBind a), Compat.HieAst.ModifyState (GHC.Hs.Extension.IdP a), Data.Data.Data (GHC.Hs.Binds.HsBind a)) => Compat.HieAst.ToHie (Compat.HieAst.BindContext (GHC.Hs.Binds.LHsBind a))
+ Compat.HieAst: instance (Compat.HieAst.ToHie (Compat.HieAst.RFContext (SrcLoc.Located label)), Compat.HieAst.ToHie arg, Compat.HieAst.HasLoc arg, Data.Data.Data label, Data.Data.Data arg) => Compat.HieAst.ToHie (Compat.HieAst.RContext (GHC.Hs.Pat.LHsRecField' label arg))
+ Compat.HieAst: instance (Compat.HieAst.ToHie (GHC.Hs.Expr.LHsCmd a), Data.Data.Data (GHC.Hs.Expr.HsCmdTop a)) => Compat.HieAst.ToHie (GHC.Hs.Expr.LHsCmdTop a)
+ Compat.HieAst: instance (Compat.HieAst.ToHie (GHC.Hs.Expr.LHsExpr a), Compat.HieAst.ToHie (Compat.HieAst.PScoped (GHC.Hs.Pat.LPat a)), Compat.HieAst.ToHie (Compat.HieAst.BindContext (GHC.Hs.Binds.LHsBind a)), Compat.HieAst.ToHie (Compat.HieAst.SigContext (GHC.Hs.Binds.LSig a)), Compat.HieAst.ToHie (Compat.HieAst.RScoped (GHC.Hs.Binds.HsValBindsLR a a)), Data.Data.Data (GHC.Hs.Binds.HsLocalBinds a)) => Compat.HieAst.ToHie (Compat.HieAst.RScoped (GHC.Hs.Binds.LHsLocalBinds a))
+ Compat.HieAst: instance (Compat.HieAst.ToHie (GHC.Hs.Expr.LHsExpr a), Data.Data.Data (GHC.Hs.Expr.HsSplice a)) => Compat.HieAst.ToHie (SrcLoc.Located (GHC.Hs.Expr.HsSplice a))
+ Compat.HieAst: instance (Compat.HieAst.ToHie (SrcLoc.Located body), Compat.HieAst.ToHie (Compat.HieAst.RScoped (GHC.Hs.Expr.GuardLStmt a)), Data.Data.Data (GHC.Hs.Expr.GRHS a (SrcLoc.Located body))) => Compat.HieAst.ToHie (GHC.Hs.Expr.LGRHS a (SrcLoc.Located body))
+ Compat.HieAst: instance (Compat.HieAst.ToHie arg, Compat.HieAst.ToHie rec) => Compat.HieAst.ToHie (GHC.Hs.Types.HsConDetails arg rec)
+ Compat.HieAst: instance (Compat.HieAst.ToHie body, Compat.HieAst.ToHie (GHC.Hs.Expr.LGRHS a body), Compat.HieAst.ToHie (Compat.HieAst.RScoped (GHC.Hs.Binds.LHsLocalBinds a))) => Compat.HieAst.ToHie (GHC.Hs.Expr.GRHSs a body)
+ Compat.HieAst: instance (Compat.HieAst.ToHie rhs, Compat.HieAst.HasLoc rhs) => Compat.HieAst.ToHie (Compat.HieAst.TScoped (GHC.Hs.Decls.FamEqn GHC.Hs.Extension.GhcRn rhs))
+ Compat.HieAst: instance (Compat.HieAst.ToHie rhs, Compat.HieAst.HasLoc rhs) => Compat.HieAst.ToHie (GHC.Hs.Decls.FamEqn GHC.Hs.Extension.GhcRn rhs)
+ Compat.HieAst: instance (Compat.HieAst.ToHie tm, Compat.HieAst.ToHie ty) => Compat.HieAst.ToHie (GHC.Hs.Types.HsArg tm ty)
+ Compat.HieAst: instance (a GHC.Types.~ GHC.Hs.Extension.GhcPass p, Compat.HieAst.ToHie (Compat.HieAst.Context (SrcLoc.Located (GHC.Hs.Extension.IdP a))), Compat.HieAst.HasType (GHC.Hs.Expr.LHsExpr a), Compat.HieAst.ToHie (Compat.HieAst.PScoped (GHC.Hs.Pat.LPat a)), Compat.HieAst.ToHie (GHC.Hs.Expr.MatchGroup a (GHC.Hs.Expr.LHsExpr a)), Compat.HieAst.ToHie (GHC.Hs.Expr.LGRHS a (GHC.Hs.Expr.LHsExpr a)), Compat.HieAst.ToHie (Compat.HieAst.RContext (GHC.Hs.Expr.HsRecordBinds a)), Compat.HieAst.ToHie (Compat.HieAst.RFContext (SrcLoc.Located (GHC.Hs.Types.AmbiguousFieldOcc a))), Compat.HieAst.ToHie (GHC.Hs.Expr.ArithSeqInfo a), Compat.HieAst.ToHie (GHC.Hs.Expr.LHsCmdTop a), Compat.HieAst.ToHie (Compat.HieAst.RScoped (GHC.Hs.Expr.GuardLStmt a)), Compat.HieAst.ToHie (Compat.HieAst.RScoped (GHC.Hs.Binds.LHsLocalBinds a)), Compat.HieAst.ToHie (Compat.HieAst.TScoped (GHC.Hs.Types.LHsWcType (GHC.Hs.Extension.NoGhcTc a))), Compat.HieAst.ToHie (Compat.HieAst.TScoped (GHC.Hs.Types.LHsSigWcType (GHC.Hs.Extension.NoGhcTc a))), Data.Data.Data (GHC.Hs.Expr.HsExpr a), Data.Data.Data (GHC.Hs.Expr.HsSplice a), Data.Data.Data (GHC.Hs.Expr.HsTupArg a), Data.Data.Data (GHC.Hs.Types.AmbiguousFieldOcc a), Compat.HieAst.HasRealDataConName a) => Compat.HieAst.ToHie (GHC.Hs.Expr.LHsExpr (GHC.Hs.Extension.GhcPass p))
+ Compat.HieAst: instance (a GHC.Types.~ GHC.Hs.Extension.GhcPass p, Compat.HieAst.ToHie (Compat.HieAst.Context (SrcLoc.Located (GHC.Hs.Extension.IdP a))), Compat.HieAst.ToHie (Compat.HieAst.RContext (GHC.Hs.Pat.HsRecFields a (Compat.HieAst.PScoped (GHC.Hs.Pat.LPat a)))), Compat.HieAst.ToHie (GHC.Hs.Expr.LHsExpr a), Compat.HieAst.ToHie (Compat.HieAst.TScoped (GHC.Hs.Types.LHsSigWcType a)), Compat.HieAst.ProtectSig a, Compat.HieAst.ToHie (Compat.HieAst.TScoped (Compat.HieAst.ProtectedSig a)), Compat.HieAst.HasType (GHC.Hs.Pat.LPat a), Data.Data.Data (GHC.Hs.Expr.HsSplice a)) => Compat.HieAst.ToHie (Compat.HieAst.PScoped (SrcLoc.Located (GHC.Hs.Pat.Pat (GHC.Hs.Extension.GhcPass p))))
+ Compat.HieAst: instance (a GHC.Types.~ GHC.Hs.Extension.GhcPass p, Compat.HieAst.ToHie (Compat.HieAst.PScoped (GHC.Hs.Pat.LPat a)), Compat.HieAst.ToHie (Compat.HieAst.BindContext (GHC.Hs.Binds.LHsBind a)), Compat.HieAst.ToHie (GHC.Hs.Expr.LHsExpr a), Compat.HieAst.ToHie (Compat.HieAst.SigContext (GHC.Hs.Binds.LSig a)), Compat.HieAst.ToHie (Compat.HieAst.RScoped (GHC.Hs.Binds.HsValBindsLR a a)), Data.Data.Data (GHC.Hs.Expr.StmtLR a a (SrcLoc.Located (GHC.Hs.Expr.HsExpr a))), Data.Data.Data (GHC.Hs.Binds.HsLocalBinds a)) => Compat.HieAst.ToHie (Compat.HieAst.RScoped (GHC.Hs.Expr.ApplicativeArg (GHC.Hs.Extension.GhcPass p)))
+ Compat.HieAst: instance (a GHC.Types.~ GHC.Hs.Extension.GhcPass p, Compat.HieAst.ToHie (Compat.HieAst.PScoped (GHC.Hs.Pat.LPat a)), Compat.HieAst.ToHie (Compat.HieAst.BindContext (GHC.Hs.Binds.LHsBind a)), Compat.HieAst.ToHie (GHC.Hs.Expr.LHsExpr a), Compat.HieAst.ToHie (GHC.Hs.Expr.MatchGroup a (GHC.Hs.Expr.LHsCmd a)), Compat.HieAst.ToHie (Compat.HieAst.SigContext (GHC.Hs.Binds.LSig a)), Compat.HieAst.ToHie (Compat.HieAst.RScoped (GHC.Hs.Binds.HsValBindsLR a a)), Data.Data.Data (GHC.Hs.Expr.HsCmd a), Data.Data.Data (GHC.Hs.Expr.HsCmdTop a), Data.Data.Data (GHC.Hs.Expr.StmtLR a a (SrcLoc.Located (GHC.Hs.Expr.HsCmd a))), Data.Data.Data (GHC.Hs.Binds.HsLocalBinds a), Data.Data.Data (GHC.Hs.Expr.StmtLR a a (SrcLoc.Located (GHC.Hs.Expr.HsExpr a)))) => Compat.HieAst.ToHie (GHC.Hs.Expr.LHsCmd (GHC.Hs.Extension.GhcPass p))
+ Compat.HieAst: instance (a GHC.Types.~ GHC.Hs.Extension.GhcPass p, Compat.HieAst.ToHie (Compat.HieAst.PScoped (GHC.Hs.Pat.LPat a)), Compat.HieAst.ToHie (GHC.Hs.Expr.LHsExpr a), Compat.HieAst.ToHie (Compat.HieAst.SigContext (GHC.Hs.Binds.LSig a)), Compat.HieAst.ToHie (Compat.HieAst.RScoped (GHC.Hs.Binds.LHsLocalBinds a)), Compat.HieAst.ToHie (Compat.HieAst.RScoped (GHC.Hs.Expr.ApplicativeArg a)), Compat.HieAst.ToHie (SrcLoc.Located body), Data.Data.Data (GHC.Hs.Expr.StmtLR a a (SrcLoc.Located body)), Data.Data.Data (GHC.Hs.Expr.StmtLR a a (SrcLoc.Located (GHC.Hs.Expr.HsExpr a)))) => Compat.HieAst.ToHie (Compat.HieAst.RScoped (GHC.Hs.Expr.LStmt (GHC.Hs.Extension.GhcPass p) (SrcLoc.Located body)))
+ Compat.HieAst: instance (a GHC.Types.~ GHC.Hs.Extension.GhcPass p, Compat.HieAst.ToHie (GHC.Hs.Expr.LHsExpr a), Data.Data.Data (GHC.Hs.Expr.HsTupArg a)) => Compat.HieAst.ToHie (GHC.Hs.Expr.LHsTupArg (GHC.Hs.Extension.GhcPass p))
+ Compat.HieAst: instance (a GHC.Types.~ GHC.Hs.Extension.GhcPass p, Compat.HieAst.ToHie body, Compat.HieAst.ToHie (GHC.Hs.Expr.HsMatchContext (GHC.Hs.PlaceHolder.NameOrRdrName (GHC.Hs.Extension.IdP a))), Compat.HieAst.ToHie (Compat.HieAst.PScoped (GHC.Hs.Pat.LPat a)), Compat.HieAst.ToHie (GHC.Hs.Expr.GRHSs a body), Data.Data.Data (GHC.Hs.Expr.Match a body)) => Compat.HieAst.ToHie (GHC.Hs.Expr.LMatch (GHC.Hs.Extension.GhcPass p) body)
+ Compat.HieAst: instance Compat.HieAst.HasLoc (GHC.Hs.Decls.HsDataDefn GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.HasLoc (GHC.Hs.Types.LHsQTyVars GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.HasLoc a => Compat.HieAst.HasLoc (GHC.Hs.Decls.FamEqn s a)
+ Compat.HieAst: instance Compat.HieAst.HasLoc thing => Compat.HieAst.HasLoc (GHC.Hs.Types.HsImplicitBndrs a thing)
+ Compat.HieAst: instance Compat.HieAst.HasLoc thing => Compat.HieAst.HasLoc (GHC.Hs.Types.HsWildCardBndrs a thing)
+ Compat.HieAst: instance Compat.HieAst.HasRealDataConName GHC.Hs.Extension.GhcRn
+ Compat.HieAst: instance Compat.HieAst.HasRealDataConName GHC.Hs.Extension.GhcTc
+ Compat.HieAst: instance Compat.HieAst.HasType (GHC.Hs.Binds.LHsBind GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.HasType (GHC.Hs.Binds.LHsBind GHC.Hs.Extension.GhcTc)
+ Compat.HieAst: instance Compat.HieAst.HasType (GHC.Hs.Expr.LHsExpr GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.HasType (GHC.Hs.Expr.LHsExpr GHC.Hs.Extension.GhcTc)
+ Compat.HieAst: instance Compat.HieAst.HasType (SrcLoc.Located (GHC.Hs.Pat.Pat GHC.Hs.Extension.GhcRn))
+ Compat.HieAst: instance Compat.HieAst.HasType (SrcLoc.Located (GHC.Hs.Pat.Pat GHC.Hs.Extension.GhcTc))
+ Compat.HieAst: instance Compat.HieAst.ProtectSig GHC.Hs.Extension.GhcRn
+ Compat.HieAst: instance Compat.HieAst.ProtectSig GHC.Hs.Extension.GhcTc
+ Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.Context (SrcLoc.Located GHC.Hs.Extension.NoExtField))
+ Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.Context (SrcLoc.Located a)) => Compat.HieAst.ToHie (GHC.Hs.Decls.AnnProvenance a)
+ Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.Context (SrcLoc.Located a)) => Compat.HieAst.ToHie (GHC.Hs.Expr.HsMatchContext a)
+ Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.Context a) => Compat.HieAst.ToHie (Compat.HieAst.PatSynFieldContext (GHC.Hs.Binds.RecordPatSynField a))
+ Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.IEContext (GHC.Hs.ImpExp.LIE GHC.Hs.Extension.GhcRn))
+ Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.IEContext (GHC.Hs.ImpExp.LIEWrappedName Name.Name))
+ Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.RContext (GHC.Hs.Pat.LHsRecField a arg)) => Compat.HieAst.ToHie (Compat.HieAst.RContext (GHC.Hs.Pat.HsRecFields a arg))
+ Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.RFContext (GHC.Hs.Types.LFieldOcc GHC.Hs.Extension.GhcRn))
+ Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.RFContext (GHC.Hs.Types.LFieldOcc GHC.Hs.Extension.GhcTc))
+ Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.RFContext (SrcLoc.Located (GHC.Hs.Types.AmbiguousFieldOcc GHC.Hs.Extension.GhcRn)))
+ Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.RFContext (SrcLoc.Located (GHC.Hs.Types.AmbiguousFieldOcc GHC.Hs.Extension.GhcTc)))
+ Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.RScoped (GHC.Hs.Binds.NHsValBindsLR GHC.Hs.Extension.GhcRn))
+ Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.RScoped (GHC.Hs.Binds.NHsValBindsLR GHC.Hs.Extension.GhcTc))
+ Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.RScoped (GHC.Hs.Decls.LFamilyResultSig GHC.Hs.Extension.GhcRn))
+ Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.RScoped (GHC.Hs.Decls.LRuleBndr GHC.Hs.Extension.GhcRn))
+ Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.SigContext (GHC.Hs.Binds.LSig GHC.Hs.Extension.GhcRn))
+ Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.SigContext (GHC.Hs.Binds.LSig GHC.Hs.Extension.GhcTc))
+ Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.TScoped (GHC.Hs.Types.LHsQTyVars GHC.Hs.Extension.GhcRn))
+ Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.TScoped (GHC.Hs.Types.LHsSigWcType GHC.Hs.Extension.GhcTc))
+ Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.TScoped (GHC.Hs.Types.LHsType GHC.Hs.Extension.GhcRn))
+ Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.TScoped (GHC.Hs.Types.LHsWcType GHC.Hs.Extension.GhcTc))
+ Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.TScoped GHC.Hs.Extension.NoExtField)
+ Compat.HieAst: instance Compat.HieAst.ToHie (Compat.HieAst.TVScoped (GHC.Hs.Types.LHsTyVarBndr GHC.Hs.Extension.GhcRn))
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Binds.LFixitySig GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Decls.FamilyInfo GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Decls.HsDataDefn GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Decls.HsDeriving GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Decls.LAnnDecl GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Decls.LClsInstDecl GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Decls.LConDecl GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Decls.LDataFamInstDecl GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Decls.LDefaultDecl GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Decls.LDerivDecl GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Decls.LFamilyDecl GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Decls.LForeignDecl GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Decls.LHsDerivingClause GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Decls.LInjectivityAnn GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Decls.LInstDecl GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Decls.LRoleAnnotDecl GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Decls.LRuleDecl GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Decls.LRuleDecls GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Decls.LSpliceDecl GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Decls.LStandaloneKindSig GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Decls.LTyClDecl GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Decls.LTyFamInstDecl GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Decls.LWarnDecl GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Decls.LWarnDecls GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Decls.StandaloneKindSig GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Decls.TyClGroup GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Expr.HsBracket a)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Expr.HsMatchContext a) => Compat.HieAst.ToHie (GHC.Hs.Expr.HsStmtContext a)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Expr.LHsExpr a) => Compat.HieAst.ToHie (GHC.Hs.Expr.ArithSeqInfo a)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Expr.LMatch a body) => Compat.HieAst.ToHie (GHC.Hs.Expr.MatchGroup a body)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Expr.MatchGroup a (GHC.Hs.Expr.LHsExpr a)) => Compat.HieAst.ToHie (GHC.Hs.Binds.HsPatSynDir a)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.ImpExp.LImportDecl GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Types.LConDeclField GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Types.LHsContext GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.ToHie (GHC.Hs.Types.LHsType GHC.Hs.Extension.GhcRn)
+ Compat.HieAst: instance Compat.HieAst.ToHie (SrcLoc.Located (GHC.Hs.Decls.DerivStrategy GHC.Hs.Extension.GhcRn))
+ Compat.HieAst: instance Compat.HieAst.ToHie (SrcLoc.Located GHC.Hs.Types.HsIPName)
+ Compat.HieAst: instance Compat.HieAst.ToHie (SrcLoc.Located [GHC.Hs.Types.LConDeclField GHC.Hs.Extension.GhcRn])
+ Compat.HieAst: instance Compat.HieAst.ToHie GHC.Hs.Decls.ForeignExport
+ Compat.HieAst: instance Compat.HieAst.ToHie GHC.Hs.Decls.ForeignImport
+ Compat.HieAst: instance Compat.HieAst.ToHie GHC.Hs.Expr.PendingRnSplice
+ Compat.HieAst: instance Compat.HieAst.ToHie GHC.Hs.Expr.PendingTcSplice
+ Compat.HieBin: hieNameOcc :: HieName -> OccName

Files

hie-compat.cabal view
@@ -1,6 +1,6 @@ cabal-version:       1.22 name:                hie-compat-version:             0.1.0.0+version:             0.2.0.0 synopsis:            HIE files for GHC 8.6 and other HIE file backports license:             Apache-2.0 description:@@ -23,11 +23,13 @@ library   default-language:    Haskell2010   build-depends:-     base < 4.15, array, bytestring, containers, directory, filepath, transformers+     base < 4.16, array, bytestring, containers, directory, filepath, transformers   if flag(ghc-lib)     build-depends: ghc-lib   else     build-depends: ghc, ghc-boot+  if (impl(ghc >= 9.0) && impl(ghc < 9.1))+    ghc-options: -Wall -Wno-name-shadowing    exposed-modules:     Compat.HieAst@@ -38,8 +40,10 @@    if (impl(ghc > 8.5) && impl(ghc < 8.7) && !flag(ghc-lib))     hs-source-dirs: src-ghc86-  if ((impl(ghc > 8.7) && impl(ghc < 8.10)) || flag(ghc-lib))+  if (impl(ghc > 8.7) && impl(ghc < 8.10))     hs-source-dirs: src-ghc88 src-reexport   if (impl(ghc > 8.9) && impl(ghc < 8.11))     hs-source-dirs: src-ghc810 src-reexport+  if (impl(ghc >= 9.0) && impl(ghc < 9.1) || flag(ghc-lib))+    hs-source-dirs: src-ghc901 
src-ghc86/Compat/HieBin.hs view
@@ -97,7 +97,7 @@   -- hieVersion and the GHC version used to generate this file   mapM_ (putByte bh0) hieMagic   putBinLine bh0 $ BSC.pack $ show hieVersion-  putBinLine bh0 $ ghcVersion+  putBinLine bh0 ghcVersion    -- remember where the dictionary pointer will go   dict_p_p <- tellBin bh0@@ -297,7 +297,7 @@ getSymTabName :: SymbolTable -> BinHandle -> IO Name getSymTabName st bh = do   i :: Word32 <- get bh-  return $ st A.! (fromIntegral i)+  return $ st A.! fromIntegral i  putName :: HieSymbolTable -> BinHandle -> Name -> IO () putName (HieSymbolTable next ref) bh name = do
src-ghc86/Compat/HieDebug.hs view
@@ -22,10 +22,10 @@ import Data.List        ( sortOn ) import Data.Foldable    ( toList ) -ppHies :: Outputable a => (HieASTs a) -> SDoc+ppHies :: Outputable a => HieASTs a -> SDoc ppHies (HieASTs asts) = M.foldrWithKey go "" asts   where-    go k a rest = vcat $+    go k a rest = vcat       [ "File: " <> ppr k       , ppHie a       , rest@@ -112,9 +112,9 @@           ]     checkContainment [] = return ()     checkContainment (x:xs)-      | span `containsSpan` (nodeSpan x) = checkContainment xs+      | span `containsSpan` nodeSpan x = checkContainment xs       | otherwise = Left $ hsep-          [ ppr $ span+          [ ppr span           , "does not contain"           , ppr $ nodeSpan x           ]@@ -139,7 +139,7 @@               [] -> []               _ -> if any (`scopeContainsSpan` sp) scopes                    then []-                   else return $ hsep $+                   else return $ hsep                      [ "Name", ppr n, "at position", ppr sp                      , "doesn't occur in calculated scope", ppr scopes]           | otherwise = []
src-ghc86/Compat/HieTypes.hs view
@@ -168,7 +168,7 @@ type HieTypeFlat = HieType TypeIndex  -- | Roughly isomorphic to the original core 'Type'.-newtype HieTypeFix = Roll (HieType (HieTypeFix))+newtype HieTypeFix = Roll (HieType HieTypeFix)  instance Binary (HieType TypeIndex) where   put_ bh (HTyVarTy n) = do@@ -200,7 +200,7 @@   put_ bh (HCastTy a) = do     putByte bh 7     put_ bh a-  put_ bh (HCoercionTy) = putByte bh 8+  put_ bh HCoercionTy = putByte bh 8    get bh = do     (t :: Word8) <- get bh@@ -228,7 +228,7 @@  -- | Mapping from filepaths (represented using 'FastString') to the -- corresponding AST-newtype HieASTs a = HieASTs { getAsts :: (M.Map FastString (HieAST a)) }+newtype HieASTs a = HieASTs { getAsts :: M.Map FastString (HieAST a) }   deriving (Functor, Foldable, Traversable)  instance Binary (HieASTs TypeIndex) where@@ -276,9 +276,9 @@     put_ bh $ nodeType ni     put_ bh $ M.toList $ nodeIdentifiers ni   get bh = NodeInfo-    <$> fmap (S.fromDistinctAscList) (get bh)+    <$> fmap S.fromDistinctAscList (get bh)     <*> get bh-    <*> fmap (M.fromList) (get bh)+    <*> fmap M.fromList (get bh)  type Identifier = Either ModuleName Name @@ -309,7 +309,7 @@     put_ bh $ S.toAscList $ identInfo dets   get bh =  IdentifierDetails     <$> get bh-    <*> fmap (S.fromDistinctAscList) (get bh)+    <*> fmap S.fromDistinctAscList (get bh)   -- | Different contexts under which identifiers exist@@ -419,7 +419,7 @@  instance Binary IEType where   put_ bh b = putByte bh (fromIntegral (fromEnum b))-  get bh = do x <- getByte bh; pure $! (toEnum (fromIntegral x))+  get bh = do x <- getByte bh; pure $! toEnum (fromIntegral x)   data RecFieldContext@@ -431,7 +431,7 @@  instance Binary RecFieldContext where   put_ bh b = putByte bh (fromIntegral (fromEnum b))-  get bh = do x <- getByte bh; pure $! (toEnum (fromIntegral x))+  get bh = do x <- getByte bh; pure $! toEnum (fromIntegral x)   data BindType@@ -441,7 +441,7 @@  instance Binary BindType where   put_ bh b = putByte bh (fromIntegral (fromEnum b))-  get bh = do x <- getByte bh; pure $! (toEnum (fromIntegral x))+  get bh = do x <- getByte bh; pure $! toEnum (fromIntegral x)   data DeclType@@ -456,7 +456,7 @@  instance Binary DeclType where   put_ bh b = putByte bh (fromIntegral (fromEnum b))-  get bh = do x <- getByte bh; pure $! (toEnum (fromIntegral x))+  get bh = do x <- getByte bh; pure $! toEnum (fromIntegral x)   data Scope
src-ghc86/Compat/HieUtils.hs view
@@ -62,11 +62,11 @@         ts' = go (extendTvSubst env tv t) res ts      go env (FunTy _ res) (t:ts) -- No type-class args in tycon apps-      = (True,t) : (go env res ts)+      = (True,t) : go env res ts      go env (TyVarTy tv) ts       | Just ki <- lookupTyVar env tv = go env ki ts-    go env kind (t:ts) = (True, t) : (go env kind ts) -- Ill-kinded+    go env kind (t:ts) = (True, t) : go env kind ts -- Ill-kinded  foldType :: (HieType a -> a) -> HieTypeFix -> a foldType f (Roll t) = f $ fmap (foldType f) t@@ -114,7 +114,7 @@   -> (HieASTs TypeIndex, A.Array TypeIndex HieTypeFlat) compressTypes asts = (a, arr)   where-    (a, (HTS _ m i)) = flip runState initialHTS $+    (a, HTS _ m i) = flip runState initialHTS $       for asts $ \typ -> do         i <- getTypeIndex typ         return i
+ src-ghc901/Compat/HieAst.hs view
@@ -0,0 +1,35 @@+{-+Forked from GHC v9.0.1 to work around the readFile side effect in mkHiefile++Main functions for .hie file generation+-}+{- HLINT ignore -}+{-# OPTIONS_GHC -Wno-incomplete-uni-patterns #-}++module Compat.HieAst ( mkHieFile, enrichHie ) where++import           GHC.Data.Maybe      (expectJust)+import           GHC.Driver.Types+import           GHC.Hs+import           GHC.Tc.Types        (TcGblEnv)+import           GHC.Types.Avail     (Avails)+import           GHC.Unit.Module     (ml_hs_file)++import           GHC.Iface.Ext.Ast   (enrichHie, mkHieFileWithSource)+import           GHC.Iface.Ext.Types++import qualified Data.ByteString     as BS+++type RenamedSource     = ( HsGroup GhcRn, [LImportDecl GhcRn]+                         , Maybe [(LIE GhcRn, Avails)]+                         , Maybe LHsDocString )++-- | Construct an 'HieFile' from the outputs of the typechecker.+mkHieFile :: ModSummary+          -> TcGblEnv+          -> RenamedSource+          -> BS.ByteString -> Hsc HieFile+mkHieFile ms ts rs src = do+  let src_file = expectJust "mkHieFile" (ml_hs_file $ ms_location ms)+  mkHieFileWithSource src_file src ms ts rs
+ src-ghc901/Compat/HieBin.hs view
@@ -0,0 +1,8 @@+{-+Binary serialization for .hie files.+-}++module Compat.HieBin ( module GHC.Iface.Ext.Binary)+where++import GHC.Iface.Ext.Binary
+ src-ghc901/Compat/HieDebug.hs view
@@ -0,0 +1,10 @@+module Compat.HieDebug+  ( module GHC.Iface.Ext.Debug+  , ppHie ) where+import GHC.Iface.Ext.Debug++import GHC.Iface.Ext.Types (HieAST)+import GHC.Utils.Outputable (Outputable(ppr), SDoc)++ppHie :: Outputable a => HieAST a -> SDoc+ppHie = ppr
+ src-ghc901/Compat/HieTypes.hs view
@@ -0,0 +1,3 @@+module Compat.HieTypes+  ( module GHC.Iface.Ext.Types ) where+import GHC.Iface.Ext.Types
+ src-ghc901/Compat/HieUtils.hs view
@@ -0,0 +1,3 @@+module Compat.HieUtils+  ( module GHC.Iface.Ext.Utils ) where+import GHC.Iface.Ext.Utils