Documentation

Lean.Elab.InfoTree.Main

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      Equations
      Instances For
        def Lean.Elab.ContextInfo.runCoreM {α : Type} (info : ContextInfo) (x : CoreM α) :
        IO α

        Embeds a CoreM action in IO by supplying the information stored in info.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def Lean.Elab.ContextInfo.runMetaM {α : Type} (info : ContextInfo) (lctx : LocalContext) (x : MetaM α) :
          IO α
          Equations
          Instances For
            Equations
            Instances For
              Equations
              Instances For
                def Lean.Elab.TermInfo.runMetaM {α : Type} (info : TermInfo) (ctx : ContextInfo) (x : MetaM α) :
                IO α
                Equations
                Instances For
                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    Equations
                    Instances For
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For
                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For
                                      Equations
                                      Instances For

                                        Returns the current array of InfoTrees and resets it to an empty array.

                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For
                                          Equations
                                          • One or more equations did not get rendered due to their size.
                                          Instances For
                                            def Lean.Elab.addConstInfo {m : TypeType} [Monad m] [MonadInfoTree m] [MonadEnv m] [MonadError m] (stx : Syntax) (n : Name) (expectedType? : Option Expr := none) :
                                            Equations
                                            • One or more equations did not get rendered due to their size.
                                            Instances For

                                              This does the same job as realizeGlobalConstNoOverload; resolving an identifier syntax to a unique fully resolved name or throwing if there are ambiguities. But also adds this resolved name to the infotree. This means that when you hover over a name in the source file you will see the fully resolved name in the hover info.

                                              Equations
                                              • One or more equations did not get rendered due to their size.
                                              Instances For

                                                Similar to realizeGlobalConstNoOverloadWithInfo, except if there are multiple name resolutions then it returns them as a list.

                                                Equations
                                                • One or more equations did not get rendered due to their size.
                                                Instances For

                                                  Similar to realizeGlobalName, but it also adds the resolved name to the info tree.

                                                  Equations
                                                  • One or more equations did not get rendered due to their size.
                                                  Instances For
                                                    def Lean.Elab.withInfoContext' {m : TypeType} [Monad m] [MonadInfoTree m] {α : Type} [MonadFinally m] (x : m α) (mkInfo : αm (Info MVarId)) (mkInfoOnError : m Info) :
                                                    m α

                                                    Adds a node containing the InfoTrees generated by x to the InfoTrees in m.

                                                    If x succeeds and mkInfo yields an Info, the InfoTrees of x become subtrees of a node containing the Info produced by mkInfo, which is then added to the InfoTrees in m. If x succeeds and mkInfo yields an MVarId, the InfoTrees of x are discarded and a hole node is added to the InfoTrees in m. If x fails, the InfoTrees of x become subtrees of a node containing the Info produced by mkInfoOnError, which is then added to the InfoTrees in m.

                                                    The InfoTrees in m are reset before x is executed and restored with the addition of a new tree after x is executed.

                                                    Equations
                                                    • One or more equations did not get rendered due to their size.
                                                    Instances For
                                                      def Lean.Elab.withInfoTreeContext {m : TypeType} [Monad m] [MonadInfoTree m] {α : Type} [MonadFinally m] (x : m α) (mkInfoTree : PersistentArray InfoTreem InfoTree) :
                                                      m α

                                                      Saves the current list of trees t₀, runs x to produce a new tree list t₁ and runs mkInfoTree t₁ to get n : InfoTree and then restores the trees to be t₀ ++ [n].

                                                      Equations
                                                      • One or more equations did not get rendered due to their size.
                                                      Instances For
                                                        @[inline]
                                                        def Lean.Elab.withInfoContext {m : TypeType} [Monad m] [MonadInfoTree m] {α : Type} [MonadFinally m] (x : m α) (mkInfo : m Info) :
                                                        m α

                                                        Run x as a new child infotree node with header given by mkInfo.

                                                        Equations
                                                        • One or more equations did not get rendered due to their size.
                                                        Instances For

                                                          Resets the trees state t₀, runs x to produce a new trees state t₁ and sets the state to be t₀ ++ (InfoTree.context (PartialContextInfo.commandCtx Γ) <$> t₁) where Γ is the context derived from the monad state.

                                                          Equations
                                                          • One or more equations did not get rendered due to their size.
                                                          Instances For

                                                            Resets the trees state t₀, runs x to produce a new trees state t₁ and sets the state to be t₀ ++ (InfoTree.context (PartialContextInfo.parentDeclCtx Γ) <$> t₁) where Γ is the parent decl name provided by MonadParentDecl m.

                                                            Equations
                                                            • One or more equations did not get rendered due to their size.
                                                            Instances For

                                                              Resets the trees state t₀, runs x to produce a new trees state t₁ and sets the state to be t₀ ++ (InfoTree.context (PartialContextInfo.autoImplicitCtx Γ) <$> t₁) where Γ is the set of auto-implicits provided by MonadAutoImplicits m.

                                                              Equations
                                                              • One or more equations did not get rendered due to their size.
                                                              Instances For
                                                                Equations
                                                                Instances For
                                                                  def Lean.Elab.assignInfoHoleId {m : TypeType} [Monad m] [MonadInfoTree m] (mvarId : MVarId) (infoTree : InfoTree) :
                                                                  Equations
                                                                  • One or more equations did not get rendered due to their size.
                                                                  Instances For
                                                                    def Lean.Elab.withMacroExpansionInfo {m : TypeType} {α : Type} [MonadFinally m] [Monad m] [MonadInfoTree m] [MonadLCtx m] (stx output : Syntax) (x : m α) :
                                                                    m α
                                                                    Equations
                                                                    • One or more equations did not get rendered due to their size.
                                                                    Instances For
                                                                      @[inline]
                                                                      def Lean.Elab.withInfoHole {m : TypeType} {α : Type} [MonadFinally m] [Monad m] [MonadInfoTree m] (mvarId : MVarId) (x : m α) :
                                                                      m α

                                                                      Runs x. The last info tree that is pushed while running x is assigned to mvarId. All other pushed info trees are silently discarded.

                                                                      Equations
                                                                      • One or more equations did not get rendered due to their size.
                                                                      Instances For
                                                                        def Lean.Elab.enableInfoTree {m : TypeType} [MonadInfoTree m] (flag : Bool := true) :
                                                                        Equations
                                                                        Instances For
                                                                          def Lean.Elab.withEnableInfoTree {m : TypeType} {α : Type} [Monad m] [MonadInfoTree m] [MonadFinally m] (flag : Bool) (x : m α) :
                                                                          m α
                                                                          Equations
                                                                          • One or more equations did not get rendered due to their size.
                                                                          Instances For
                                                                            Equations
                                                                            Instances For