File: .lake/packages/lean4/src/lean/Lean/Elab/Quotation/Precheck.lean

full_name: Lean.Elab.Term.Quotation.Precheck.Context
code: structure Precheck.Context where
  quotLCtx : NameSet
goal: Type

full_name: Lean.Elab.Term.Quotation.Precheck.Context.quotLCtx
code: structure Precheck.Context where
  quotLCtx : NameSet
goal: Lean.NameSet

full_name: Lean.Elab.Term.Quotation.PrecheckM
code: abbrev PrecheckM 
goal: Type

full_name: Lean.Elab.Term.Quotation.Precheck
code: abbrev Precheck  
goal: Type

full_name: Lean.Elab.Term.Quotation.withNewLocal
code: protected def withNewLocal (l : Name) (x : PrecheckM α) : PrecheckM α 
goal: Lean.Elab.Term.Quotation.PrecheckM α

full_name: Lean.Elab.Term.Quotation.withNewLocals
code: protected def withNewLocals (ls : Array Name) (x : PrecheckM α) : PrecheckM α 
goal: Lean.Elab.Term.Quotation.PrecheckM α

full_name: Lean.Elab.Term.Quotation.quotPrecheck
code: register_builtin_option quotPrecheck : Bool := {
  defValue := true
  descr    := "Enable eager name analysis on notations in order to find unbound identifiers early.
Note that type-sensitive syntax (\"elaborators\") needs special support for this kind of check, so it might need to be turned off when using such syntax."
}
goal: Lean.Option Bool

full_name: Lean.Elab.Term.Quotation.initFn._@..lake.packages.lean4.src.lean.Lean.Elab.Quotation.Precheck._hyg.91
code: register_builtin_option quotPrecheck : Bool := {
  defValue := true
  descr    := "Enable eager name analysis on notations in order to find unbound identifiers early.
Note that type-sensitive syntax (\"elaborators\") needs special support for this kind of check, so it might need to be turned off when using such syntax."
}
goal: IO (Lean.Option Bool)

full_name: Lean.Elab.Term.Quotation.quotPrecheck.allowSectionVars
code: register_builtin_option quotPrecheck.allowSectionVars : Bool := {
  defValue := false
  descr    := "Allow occurrences of section variables in checked quotations, it is useful when declaring local notation."
}
goal: Lean.Option Bool

full_name: Lean.Elab.Term.Quotation.initFn._@..lake.packages.lean4.src.lean.Lean.Elab.Quotation.Precheck._hyg.127
code: register_builtin_option quotPrecheck.allowSectionVars : Bool := {
  defValue := false
  descr    := "Allow occurrences of section variables in checked quotations, it is useful when declaring local notation."
}
goal: IO (Lean.Option Bool)

full_name: Lean.Elab.Term.Quotation.mkPrecheckAttribute
code: unsafe def mkPrecheckAttribute : IO (KeyedDeclsAttribute Precheck) 
goal: IO (Lean.KeyedDeclsAttribute Lean.Elab.Term.Quotation.Precheck)

full_name: Lean.Elab.Term.Quotation.precheckAttribute
code: @[builtin_init mkPrecheckAttribute] opaque precheckAttribute : KeyedDeclsAttribute Precheck
goal: Lean.KeyedDeclsAttribute Lean.Elab.Term.Quotation.Precheck

full_name: Lean.Elab.Term.Quotation.precheck
code: partial def precheck : Precheck 
goal: Lean.Elab.Term.Quotation.Precheck

full_name: Lean.Elab.Term.Quotation.precheck.hasQuotedIdent
code: partial def precheck : Precheck 
goal: Lean.Syntax → Bool

full_name: Lean.Elab.Term.Quotation.runPrecheck
code: def runPrecheck (stx : Syntax) : TermElabM Unit 
goal: Lean.Elab.TermElabM Unit

full_name: _private.«.lake».packages.lean4.src.lean.Lean.Elab.Quotation.Precheck.0.Lean.Elab.Term.Quotation.isSectionVariable
code: private def isSectionVariable (e : Expr) : TermElabM Bool 
goal: Lean.Elab.TermElabM Bool

full_name: Lean.Elab.Term.Quotation.precheckIdent
code: @[builtin_quot_precheck ident] def precheckIdent : Precheck 
goal: Lean.Elab.Term.Quotation.Precheck

full_name: Lean.Elab.Term.Quotation.precheckApp
code: @[builtin_quot_precheck Lean.Parser.Term.app] def precheckApp : Precheck
  
goal: Lean.Elab.Term.Quotation.Precheck

full_name: Lean.Elab.Term.Quotation.precheckTypeAscription
code: @[builtin_quot_precheck Lean.Parser.Term.typeAscription] def precheckTypeAscription : Precheck
  
goal: Lean.Elab.Term.Quotation.Precheck

full_name: Lean.Elab.Term.Quotation.precheckExplicit
code: @[builtin_quot_precheck Lean.Parser.Term.explicit] def precheckExplicit : Precheck
  
goal: Lean.Elab.Term.Quotation.Precheck

full_name: Lean.Elab.Term.Quotation.precheckChoice
code: @[builtin_quot_precheck choice] def precheckChoice : Precheck 
goal: Lean.Elab.Term.Quotation.Precheck

full_name: Lean.Elab.Term.Quotation.elabPrecheckedQuot
code: @[builtin_term_elab precheckedQuot] def elabPrecheckedQuot : TermElab 
goal: Lean.Elab.Term.TermElab

full_name: Lean.Elab.Term.Quotation.precheckBinrel
code: @[builtin_quot_precheck Lean.Parser.Term.binrel] def precheckBinrel : Precheck
  
goal: Lean.Elab.Term.Quotation.Precheck

full_name: Lean.Elab.Term.Quotation.precheckBinrelNoProp
code: @[builtin_quot_precheck Lean.Parser.Term.binrel_no_prop] def precheckBinrelNoProp : Precheck
  
goal: Lean.Elab.Term.Quotation.Precheck

full_name: Lean.Elab.Term.Quotation.precheckBinop
code: @[builtin_quot_precheck Lean.Parser.Term.binop] def precheckBinop : Precheck
  
goal: Lean.Elab.Term.Quotation.Precheck

full_name: Lean.Elab.Term.Quotation.precheckBinopLazy
code: @[builtin_quot_precheck Lean.Parser.Term.binop_lazy] def precheckBinopLazy : Precheck
  
goal: Lean.Elab.Term.Quotation.Precheck

full_name: Lean.Elab.Term.Quotation.precheckLeftact
code: @[builtin_quot_precheck Lean.Parser.Term.leftact] def precheckLeftact : Precheck
  
goal: Lean.Elab.Term.Quotation.Precheck

full_name: Lean.Elab.Term.Quotation.precheckRightact
code: @[builtin_quot_precheck Lean.Parser.Term.rightact] def precheckRightact : Precheck
  
goal: Lean.Elab.Term.Quotation.Precheck

full_name: Lean.Elab.Term.Quotation.precheckUnop
code: @[builtin_quot_precheck Lean.Parser.Term.unop] def precheckUnop : Precheck
  
goal: Lean.Elab.Term.Quotation.Precheck