Documentation

Lean.Elab.Open

structure Lean.Elab.OpenDecl.State :
Type

A local copy of name resolution state that allows us to immediately use new open decls in further name resolution as in open Lean Elab.

Instances For
    @[inline]
    abbrev Lean.Elab.OpenDecl.M {m : TypeType} (α : Type) :
    Type
    Equations
    instance Lean.Elab.OpenDecl.instMonadResolveNameM {m : TypeType} [inst : Monad m] [inst : MonadLiftT (ST IO.RealWorld) m] :
    Lean.MonadResolveName Lean.Elab.OpenDecl.M
    Equations
    • Lean.Elab.OpenDecl.instMonadResolveNameM = { getCurrNamespace := do let a ← get pure a.currNamespace, getOpenDecls := do let a ← get pure a.openDecls }
    def Lean.Elab.OpenDecl.resolveId {m : TypeType} [inst : Monad m] [inst : Lean.MonadEnv m] [inst : MonadExceptOf Lean.Exception m] [inst : Lean.MonadRef m] [inst : Lean.AddMessageContext m] [inst : MonadLiftT (ST IO.RealWorld) m] (ns : Lean.Name) (idStx : Lean.Syntax) :
    Equations
    • One or more equations did not get rendered due to their size.
    def Lean.Elab.OpenDecl.elabOpenDecl {m : TypeType} [inst : Monad m] [inst : Lean.MonadEnv m] [inst : MonadExceptOf Lean.Exception m] [inst : Lean.MonadRef m] [inst : Lean.AddMessageContext m] [inst : MonadLiftT (ST IO.RealWorld) m] [inst : Lean.MonadLog m] [inst : Lean.MonadResolveName m] (stx : Lean.TSyntax (Lean.Name.mkStr4 "Lean" "Parser" "Command" "openDecl")) :
    Equations
    • One or more equations did not get rendered due to their size.
    def Lean.Elab.OpenDecl.resolveNameUsingNamespaces {m : TypeType} [inst : Monad m] [inst : Lean.MonadEnv m] [inst : MonadExceptOf Lean.Exception m] [inst : Lean.MonadRef m] [inst : Lean.AddMessageContext m] [inst : MonadLiftT (ST IO.RealWorld) m] [inst : Lean.MonadLog m] [inst : Lean.MonadResolveName m] (nss : List Lean.Name) (idStx : Lean.Ident) :
    Equations
    • One or more equations did not get rendered due to their size.