- step: Lake.Name → Array Lean.IR.Decl → Lean.IR.LogEntry
- message: Lean.Format → Lean.IR.LogEntry
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Lean.IR.LogEntry.instToFormat = { format := Lean.IR.LogEntry.fmt }
@[reducible, inline]
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[export lean_ir_log_to_string]
Equations
- log.toString = log.format.pretty Std.Format.defWidth 0
Instances For
@[reducible, inline]
Instances For
Equations
- Lean.IR.log entry = modify fun (s : Lean.IR.CompilerState) => { env := s.env, log := Array.push s.log entry }
Instances For
Equations
- Lean.IR.tracePrefixOptionName = `trace.compiler.ir
Instances For
@[inline]
Equations
- Lean.IR.logDecls cls decl = Lean.IR.logDeclsAux (Lean.IR.tracePrefixOptionName ++ cls) cls decl
Instances For
@[inline]
Equations
Instances For
@[inline]
Instances For
@[inline]
Equations
- Lean.IR.modifyEnv f = modify fun (s : Lean.IR.CompilerState) => { env := f s.env, log := s.log }
Instances For
@[reducible, inline]
Equations
Instances For
@[export lean_ir_find_env_decl]
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Lean.IR.findDecl n = do let __do_lift ← get pure (Lean.IR.findEnvDecl __do_lift.env n)
Instances For
Equations
- Lean.IR.containsDecl n = do let __do_lift ← Lean.IR.findDecl n pure __do_lift.isSome
Instances For
Equations
Instances For
@[export lean_ir_add_decl]
Equations
- Lean.IR.addDeclAux env decl = Lean.PersistentEnvExtension.addEntry Lean.IR.declMapExt (env.addExtraName decl.name) decl
Instances For
Equations
- Lean.IR.getDecls env = Lean.IR.declMapExt.getEntries env
Instances For
Equations
- Lean.IR.getEnv = do let s ← get pure s.env
Instances For
Equations
- Lean.IR.addDecl decl = Lean.IR.modifyEnv fun (env : Lean.Environment) => Lean.PersistentEnvExtension.addEntry Lean.IR.declMapExt (env.addExtraName decl.name) decl
Instances For
Equations
- Lean.IR.addDecls decls = Array.forM Lean.IR.addDecl decls 0
Instances For
Equations
- Lean.IR.findEnvDecl' env n decls = match decls.find? fun (decl : Lean.IR.Decl) => decl.name == n with | some decl => some decl | none => Lean.IR.findEnvDecl env n
Instances For
Equations
- Lean.IR.findDecl' n decls = do let __do_lift ← get pure (Lean.IR.findEnvDecl' __do_lift.env n decls)
Instances For
Equations
- Lean.IR.containsDecl' n decls = if decls.any (fun (decl : Lean.IR.Decl) => decl.name == n) 0 = true then pure true else Lean.IR.containsDecl n
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[export lean_decl_get_sorry_dep]
Equations
- Lean.IR.getSorryDep env declName = match Lean.IR.findEnvDecl env declName with | some (Lean.IR.Decl.fdecl f xs type body { sorryDep? := dep? }) => dep? | x => none