Documentation

Lean.Elab.InfoTree

structure Lean.Elab.ContextInfo :
Type
Equations
  • Lean.Elab.instInhabitedContextInfo = { default := { env := default, fileMap := default, mctx := default, options := default, currNamespace := default, openDecls := default } }
structure Lean.Elab.ElabInfo :
Type
Equations
structure Lean.Elab.TermInfo extends Lean.Elab.ElabInfo :
Type
Equations
structure Lean.Elab.FieldInfo :
Type
Equations
structure Lean.Elab.TacticInfo extends Lean.Elab.ElabInfo :
Type
Equations
  • Lean.Elab.instInhabitedTacticInfo = { default := { toElabInfo := default, mctxBefore := default, goalsBefore := default, mctxAfter := default, goalsAfter := default } }
Equations
Equations
instance Lean.Elab.instMonadInfoTree {m : TypeType} {n : TypeType} [inst : MonadLift m n] [inst : Lean.Elab.MonadInfoTree m] :
Equations
Equations
Equations
  • Lean.Elab.ContextInfo.toPPContext info lctx = { env := info.env, mctx := info.mctx, lctx := lctx, opts := info.options, currNamespace := info.currNamespace, openDecls := info.openDecls }
Equations
Equations
Equations
Equations
Equations
Equations
def Lean.Elab.pushInfoTree {m : TypeType} [inst : Monad m] [inst : Lean.Elab.MonadInfoTree m] (t : Lean.Elab.InfoTree) :
Equations
def Lean.Elab.pushInfoLeaf {m : TypeType} [inst : Monad m] [inst : Lean.Elab.MonadInfoTree m] (t : Lean.Elab.Info) :
Equations
def Lean.Elab.resolveGlobalConstNoOverloadWithInfo {m : TypeType} [inst : Monad m] [inst : Lean.Elab.MonadInfoTree m] [inst : Lean.MonadResolveName m] [inst : Lean.MonadEnv m] [inst : Lean.MonadError m] (id : Lean.Syntax) (expectedType? : optParam (Option Lean.Expr) none) :
Equations
def Lean.Elab.resolveGlobalConstWithInfos {m : TypeType} [inst : Monad m] [inst : Lean.Elab.MonadInfoTree m] [inst : Lean.MonadResolveName m] [inst : Lean.MonadEnv m] [inst : Lean.MonadError m] (id : Lean.Syntax) (expectedType? : optParam (Option Lean.Expr) none) :
Equations
def Lean.Elab.withInfoContext' {m : TypeType} [inst : Monad m] [inst : Lean.Elab.MonadInfoTree m] {α : Type} [inst : MonadFinally m] (x : m α) (mkInfo : αm (Lean.Elab.Info Lean.MVarId)) :
m α
Equations
def Lean.Elab.withInfoTreeContext {m : TypeType} [inst : Monad m] [inst : Lean.Elab.MonadInfoTree m] {α : Type} [inst : MonadFinally m] (x : m α) (mkInfoTree : Std.PersistentArray Lean.Elab.InfoTreem Lean.Elab.InfoTree) :
m α
Equations
@[inline]
def Lean.Elab.withInfoContext {m : TypeType} [inst : Monad m] [inst : Lean.Elab.MonadInfoTree m] {α : Type} [inst : MonadFinally m] (x : m α) (mkInfo : m Lean.Elab.Info) :
m α
Equations
def Lean.Elab.withSaveInfoContext {m : TypeType} [inst : Monad m] [inst : Lean.Elab.MonadInfoTree m] {α : Type} [inst : MonadFinally m] [inst : Lean.MonadEnv m] [inst : Lean.MonadOptions m] [inst : Lean.MonadMCtx m] [inst : Lean.MonadResolveName m] [inst : Lean.MonadFileMap m] (x : m α) :
m α
Equations
def Lean.Elab.getInfoHoleIdAssignment? {m : TypeType} [inst : Monad m] [inst : Lean.Elab.MonadInfoTree m] (mvarId : Lean.MVarId) :
Equations
def Lean.Elab.assignInfoHoleId {m : TypeType} [inst : Monad m] [inst : Lean.Elab.MonadInfoTree m] (mvarId : Lean.MVarId) (infoTree : Lean.Elab.InfoTree) :
Equations
def Lean.Elab.withMacroExpansionInfo {m : TypeType} {α : Type} [inst : MonadFinally m] [inst : Monad m] [inst : Lean.Elab.MonadInfoTree m] [inst : Lean.MonadLCtx m] (stx : Lean.Syntax) (output : Lean.Syntax) (x : m α) :
m α
Equations
@[inline]
def Lean.Elab.withInfoHole {m : TypeType} {α : Type} [inst : MonadFinally m] [inst : Monad m] [inst : Lean.Elab.MonadInfoTree m] (mvarId : Lean.MVarId) (x : m α) :
m α
Equations
def Lean.Elab.enableInfoTree {m : TypeType} [inst : Lean.Elab.MonadInfoTree m] (flag : optParam Bool true) :
Equations
Equations
  • Lean.Elab.getInfoTrees = do let a ← Lean.Elab.getInfoState pure a.trees