chore: update stage0
This commit is contained in:
parent
3b793b949b
commit
9bafe2f5b5
50 changed files with 18772 additions and 8500 deletions
1
stage0/src/Lean/Compiler.lean
generated
1
stage0/src/Lean/Compiler.lean
generated
|
|
@ -18,6 +18,7 @@ import Lean.Compiler.CompilerM
|
|||
import Lean.Compiler.LCNFTypes
|
||||
import Lean.Compiler.InferType
|
||||
import Lean.Compiler.LCNF
|
||||
import Lean.Compiler.Stage1
|
||||
import Lean.Compiler.Decl
|
||||
import Lean.Compiler.Main
|
||||
import Lean.Compiler.AtMostOnce -- TODO: delete after we port code generator to Lean
|
||||
|
|
|
|||
84
stage0/src/Lean/Compiler/CompilerM.lean
generated
84
stage0/src/Lean/Compiler/CompilerM.lean
generated
|
|
@ -8,7 +8,14 @@ import Lean.Compiler.InferType
|
|||
|
||||
namespace Lean.Compiler
|
||||
|
||||
/--
|
||||
The state managed by the `CompilerM` `Monad`.
|
||||
-/
|
||||
structure CompilerM.State where
|
||||
/--
|
||||
A `LocalContext` to store local declarations from let binders
|
||||
and other constructs in as we move through `Expr`s.
|
||||
-/
|
||||
lctx : LocalContext := {}
|
||||
letFVars : Array Expr := #[]
|
||||
/-- Next auxiliary variable suffix -/
|
||||
|
|
@ -26,17 +33,43 @@ instance : AddMessageContext CompilerM where
|
|||
instance : MonadInferType CompilerM where
|
||||
inferType e := do InferType.inferType e { lctx := (← get).lctx }
|
||||
|
||||
/--
|
||||
Add a new local declaration with the given arguments to the `LocalContext` of `CompilerM`.
|
||||
Returns the free variable representing the new declaration.
|
||||
-/
|
||||
def mkLocalDecl (binderName : Name) (type : Expr) (bi := BinderInfo.default) : CompilerM Expr := do
|
||||
let fvarId ← mkFreshFVarId
|
||||
modify fun s => { s with lctx := s.lctx.mkLocalDecl fvarId binderName type bi }
|
||||
return .fvar fvarId
|
||||
|
||||
/--
|
||||
Add a new let declaration with the given arguments to the `LocalContext` of `CompilerM`.
|
||||
Returns the free variable representing the new declaration.
|
||||
-/
|
||||
def mkLetDecl (binderName : Name) (type : Expr) (value : Expr) (nonDep : Bool) : CompilerM Expr := do
|
||||
let fvarId ← mkFreshFVarId
|
||||
let x := .fvar fvarId
|
||||
modify fun s => { s with lctx := s.lctx.mkLetDecl fvarId binderName type value nonDep, letFVars := s.letFVars.push x }
|
||||
return x
|
||||
|
||||
/--
|
||||
Look for a declaration with the given `FvarId` in the `LocalContext` of `CompilerM`.
|
||||
-/
|
||||
def findDecl? (fvarId : FVarId) : CompilerM (Option LocalDecl) := do
|
||||
let lctx := (← get).lctx
|
||||
return lctx.find? fvarId
|
||||
|
||||
/--
|
||||
Whether a given local declaration is a join point.
|
||||
-/
|
||||
def _root_.Lean.LocalDecl.isJp (decl : LocalDecl) : Bool :=
|
||||
decl.userName.getPrefix == `_jp
|
||||
|
||||
/--
|
||||
Create a new auxiliary let declaration with value `e` The name of the
|
||||
declaration is guaranteed to be unique.
|
||||
Returns the free variable representing the new declaration.
|
||||
-/
|
||||
def mkAuxLetDecl (e : Expr) (prefixName := `_x) : CompilerM Expr := do
|
||||
if e.isFVar then
|
||||
return e
|
||||
|
|
@ -46,9 +79,17 @@ def mkAuxLetDecl (e : Expr) (prefixName := `_x) : CompilerM Expr := do
|
|||
finally
|
||||
modify fun s => { s with nextIdx := s.nextIdx + 1 }
|
||||
|
||||
/--
|
||||
Create an auxiliary let declaration with value `e`, that is a join point.
|
||||
recognizable by the _jp name prefix.
|
||||
Returns the free variable representing the new declaration.
|
||||
-/
|
||||
def mkJpDecl (e : Expr) : CompilerM Expr := do
|
||||
mkAuxLetDecl e `_jp
|
||||
|
||||
/--
|
||||
Compute the maximum auxiliary let variable index that is used within `e`.
|
||||
-/
|
||||
def getMaxLetVarIdx (e : Expr) : CoreM Nat := do
|
||||
let maxRef ← IO.mkRef 0
|
||||
e.forEach fun
|
||||
|
|
@ -57,6 +98,14 @@ def getMaxLetVarIdx (e : Expr) : CoreM Nat := do
|
|||
| _ => pure ()
|
||||
maxRef.get
|
||||
|
||||
/--
|
||||
Move through all consecutive lambda abstractions at the top level of `e`.
|
||||
Returning the body of the last one we find with all bound variables
|
||||
instantiated as new free variables.
|
||||
Returns a tuple consisting of:
|
||||
1. An `Array` of all the newly created free variables
|
||||
2. The (fully instantiated) body of the last lambda binder that was visited
|
||||
-/
|
||||
def visitLambda (e : Expr) : CompilerM (Array Expr × Expr) :=
|
||||
go e #[]
|
||||
where
|
||||
|
|
@ -68,6 +117,25 @@ where
|
|||
else
|
||||
return (fvars, e.instantiateRev fvars)
|
||||
|
||||
/--
|
||||
Given an expression representing a `match` return a tuple consisting of:
|
||||
1. The motive
|
||||
2. The discriminators
|
||||
3. The expressions inside of the match arms
|
||||
-/
|
||||
def visitMatch (cases : Expr) (casesInfo : CasesInfo) : CompilerM (Expr × Array Expr × Array Expr) := do
|
||||
let args := cases.getAppArgs
|
||||
let motive := args.get! casesInfo.motivePos
|
||||
|
||||
let mut discrs := #[]
|
||||
for i in casesInfo.discrsRange do
|
||||
discrs := discrs.push args[i]!
|
||||
|
||||
let mut arms := #[]
|
||||
for i in casesInfo.altsRange do
|
||||
arms := arms.push (←visitLambda args[i]!).snd
|
||||
return (motive, discrs, arms)
|
||||
|
||||
def withNewScopeImp (x : CompilerM α) : CompilerM α := do
|
||||
let saved ← get
|
||||
modify fun s => { s with letFVars := #[] }
|
||||
|
|
@ -79,7 +147,18 @@ def withNewScopeImp (x : CompilerM α) : CompilerM α := do
|
|||
def withNewScope [MonadFunctorT CompilerM m] (x : m α) : m α :=
|
||||
monadMap (m := CompilerM) withNewScopeImp x
|
||||
|
||||
/--
|
||||
A typeclass for `Monad`s that are able to perform a visit operation for
|
||||
let binders. That is move through a chain of consecutive let binders
|
||||
and returning the body of the final one.
|
||||
-/
|
||||
class VisitLet (m : Type → Type) where
|
||||
/--
|
||||
Move through consecutive top level let binders in the first argument,
|
||||
applying the function in the second argument to the values before the
|
||||
the local declarations for the binders are created. The final return
|
||||
value is the body of the last let binder in the chain.
|
||||
-/
|
||||
visitLet : Expr → (Expr → m Expr) → m Expr
|
||||
|
||||
export VisitLet (visitLet)
|
||||
|
|
@ -115,7 +194,10 @@ def mkLetUsingScope (e : Expr) : CompilerM Expr := do
|
|||
pure e
|
||||
return (← get).lctx.mkLambda (← get).letFVars e
|
||||
|
||||
/--
|
||||
Shorthand for `LocalContext.mkLambda` with the `LocalContext` of `CompilerM`.
|
||||
-/
|
||||
def mkLambda (xs : Array Expr) (e : Expr) : CompilerM Expr :=
|
||||
return (← get).lctx.mkLambda xs e
|
||||
|
||||
end Lean.Compiler
|
||||
end Lean.Compiler
|
||||
|
|
|
|||
30
stage0/src/Lean/Compiler/Decl.lean
generated
30
stage0/src/Lean/Compiler/Decl.lean
generated
|
|
@ -8,6 +8,7 @@ import Lean.Meta.Check
|
|||
import Lean.Compiler.LCNF
|
||||
import Lean.Compiler.Check
|
||||
import Lean.Compiler.CompilerM
|
||||
import Lean.Compiler.JoinPoints
|
||||
|
||||
namespace Lean.Compiler
|
||||
|
||||
|
|
@ -75,8 +76,33 @@ def toDecl (declName : Name) : CoreM Decl := do
|
|||
let value ← toLCNF value
|
||||
return { name := declName, type, value }
|
||||
|
||||
|
||||
|
||||
/--
|
||||
Join points are let bound variables with an _jp name prefix.
|
||||
They always need to satisfy two conditions:
|
||||
1. Be fully applied
|
||||
2. Always be called in tail position
|
||||
in order to allow the optimizer to turn them into efficient machine code.
|
||||
This function ensures that inside the given declaration both of these
|
||||
conditions are satisfied and throws an exception otherwise.
|
||||
-/
|
||||
def Decl.checkJoinPoints (decl : Decl) : CompilerM Unit :=
|
||||
JoinPointChecker.checkJoinPoints decl.value
|
||||
|
||||
|
||||
/--
|
||||
Check whether a declaration still fulfills all the invariants that we put
|
||||
on them, if it does not throw an exception. This is meant as a sanity
|
||||
check for the code generator itself, not to find errors in the user code.
|
||||
|
||||
These invariants are:
|
||||
- The ones enforced by `Compiler.check`
|
||||
- The stored and the inferred LCNF type of the declaration are compatible according to `compatibleTypes`
|
||||
-/
|
||||
def Decl.check (decl : Decl) (cfg : Check.Config := {}): CoreM Unit := do
|
||||
Compiler.check decl.value cfg { lctx := {} }
|
||||
checkJoinPoints decl |>.run' {}
|
||||
let valueType ← InferType.inferType decl.value { lctx := {} }
|
||||
unless compatibleTypes decl.type valueType do
|
||||
throwError "declaration type mismatch at `{decl.name}`, value has type{indentExpr valueType}\nbut is expected to have type{indentExpr decl.type}"
|
||||
|
|
@ -85,4 +111,8 @@ def Decl.check (decl : Decl) (cfg : Check.Config := {}): CoreM Unit := do
|
|||
def Decl.mapValue (decl : Decl) (f : Expr → CompilerM Expr) : CoreM Decl := do
|
||||
return { decl with value := (← f decl.value |>.run' { nextIdx := (← getMaxLetVarIdx decl.value) + 1 }) }
|
||||
|
||||
def Decl.toString (decl : Decl) : CoreM String := do
|
||||
Meta.MetaM.run' do
|
||||
return s!"{decl.name} : {← Meta.ppExpr decl.type} :=\n{← Meta.ppExpr decl.value}"
|
||||
|
||||
end Lean.Compiler
|
||||
|
|
|
|||
3
stage0/src/Lean/Compiler/InitAttr.lean
generated
3
stage0/src/Lean/Compiler/InitAttr.lean
generated
|
|
@ -5,6 +5,7 @@ Authors: Leonardo de Moura
|
|||
-/
|
||||
import Lean.Environment
|
||||
import Lean.Attributes
|
||||
import Lean.Elab.InfoTree.Main
|
||||
|
||||
namespace Lean
|
||||
|
||||
|
|
@ -41,7 +42,7 @@ unsafe def registerInitAttrUnsafe (attrName : Name) (runAfterImport : Bool) (ref
|
|||
let decl ← getConstInfo declName
|
||||
match (← Attribute.Builtin.getIdent? stx) with
|
||||
| some initFnName =>
|
||||
let initFnName ← resolveGlobalConstNoOverload initFnName
|
||||
let initFnName ← Elab.resolveGlobalConstNoOverloadWithInfo initFnName
|
||||
let initDecl ← getConstInfo initFnName
|
||||
match getIOTypeArg initDecl.type with
|
||||
| none => throwError "initialization function '{initFnName}' must have type of the form `IO <type>`"
|
||||
|
|
|
|||
93
stage0/src/Lean/Compiler/JoinPoints.lean
generated
Normal file
93
stage0/src/Lean/Compiler/JoinPoints.lean
generated
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
/-
|
||||
Copyright (c) 2022 Henrik Böving. All rights reserved.
|
||||
Released under Apache 2.0 license as described in the file LICENSE.
|
||||
Authors: Henrik Böving
|
||||
-/
|
||||
import Lean.Compiler.CompilerM
|
||||
|
||||
namespace Lean.Compiler
|
||||
|
||||
namespace JoinPointChecker
|
||||
|
||||
def jpArity (jp : LocalDecl) : Nat :=
|
||||
go jp.value
|
||||
where
|
||||
go : Expr → Nat
|
||||
| .lam _ _ body _ => 1 + go body
|
||||
| _ => 0
|
||||
|
||||
/--
|
||||
Throws an exception if `e` contains a join point.
|
||||
-/
|
||||
partial def containsNoJp (e : Expr) : CompilerM Unit := do
|
||||
match e.consumeMData with
|
||||
| .proj _ _ struct => containsNoJp struct
|
||||
| .lam .. =>
|
||||
withNewScope do
|
||||
let (_, b) ← visitLambda e
|
||||
containsNoJp b
|
||||
| .letE .. =>
|
||||
withNewScope do
|
||||
let body ← visitLet e (fun e => do containsNoJp e; pure e)
|
||||
containsNoJp body
|
||||
| .app fn arg =>
|
||||
containsNoJp fn
|
||||
containsNoJp arg
|
||||
| .fvar fvarId =>
|
||||
let some decl ← findDecl? fvarId | unreachable!
|
||||
if decl.isJp then
|
||||
throwError s!"Join point {decl.userName} in forbidden position"
|
||||
| .sort .. | .forallE .. | .const .. | .lit .. => return ()
|
||||
| .bvar .. | .mvar .. | .mdata .. => unreachable!
|
||||
|
||||
/--
|
||||
Check whether all join points in `e` are in a valid position that is:
|
||||
1. Fully applied
|
||||
2. In tail position inside of `e`
|
||||
-/
|
||||
partial def checkJoinPoints (e : Expr) : CompilerM Unit := do
|
||||
goLambda e
|
||||
where
|
||||
goLambda (e : Expr) : CompilerM Unit := do
|
||||
withNewScope do
|
||||
let (_, body) ← visitLambda e
|
||||
go body
|
||||
|
||||
goLetValue (value : Expr) : CompilerM Unit := do
|
||||
let value := value.consumeMData
|
||||
match value with
|
||||
| .lam .. => goLambda value
|
||||
| _ => containsNoJp value
|
||||
|
||||
go (e : Expr) : CompilerM Unit := do
|
||||
let e := e.consumeMData
|
||||
match e with
|
||||
| .letE .. =>
|
||||
withNewScope do
|
||||
let body ← visitLet e (fun value => do goLetValue value; pure value)
|
||||
go body
|
||||
| .app (.fvar fvarId) arg =>
|
||||
let some decl ← findDecl? fvarId | unreachable!
|
||||
if decl.isJp then
|
||||
let args := e.getAppNumArgs
|
||||
let jpArity := jpArity decl
|
||||
if args != jpArity then
|
||||
throwError s!"Join point {decl.userName} : {decl.type} is not fully applied in {e}"
|
||||
-- Make sure no join point is inside the arguments since that would not be in tail position
|
||||
containsNoJp arg
|
||||
| .app .. =>
|
||||
if let some casesInfo ←isCasesApp? e then
|
||||
withNewScope do
|
||||
let (motive, discrs, arms) ← visitMatch e casesInfo
|
||||
containsNoJp motive
|
||||
discrs.forM containsNoJp
|
||||
arms.forM go
|
||||
else
|
||||
containsNoJp e
|
||||
| .proj .. | .lam .. => containsNoJp e
|
||||
| .fvar .. | .sort .. | .forallE .. | .const .. | .lit .. => return ()
|
||||
| .bvar .. | .mvar .. | .mdata .. => unreachable!
|
||||
|
||||
end JoinPointChecker
|
||||
|
||||
end Lean.Compiler
|
||||
17
stage0/src/Lean/Compiler/Main.lean
generated
17
stage0/src/Lean/Compiler/Main.lean
generated
|
|
@ -6,6 +6,7 @@ Authors: Leonardo de Moura
|
|||
import Lean.Compiler.Decl
|
||||
import Lean.Compiler.TerminalCases
|
||||
import Lean.Compiler.CSE
|
||||
import Lean.Compiler.Stage1
|
||||
|
||||
namespace Lean.Compiler
|
||||
|
||||
|
|
@ -41,11 +42,8 @@ def checkpoint (step : Name) (decls : Array Decl) (cfg : Check.Config := {}): Co
|
|||
trace[Compiler.step] "{decl.name} : {decl.type} :=\n{decl.value}"
|
||||
decl.check cfg
|
||||
|
||||
/--
|
||||
Run the code generation pipeline for all declarations in `declNames`
|
||||
that fulfill the requirements of `shouldGenerateCode`.
|
||||
-/
|
||||
def compile (declNames : Array Name) : CoreM Unit := do profileitM Exception "compiler new" (← getOptions) do
|
||||
@[export lean_compile_stage1]
|
||||
def compileStage1Impl (declNames : Array Name) : CoreM (Array Decl) := do
|
||||
let declNames ← declNames.filterM shouldGenerateCode
|
||||
let decls ← declNames.mapM toDecl
|
||||
checkpoint `init decls { terminalCasesOnly := false }
|
||||
|
|
@ -54,6 +52,15 @@ def compile (declNames : Array Name) : CoreM Unit := do profileitM Exception "co
|
|||
-- Remark: add simplification step here, `cse` is useful after simplification
|
||||
let decls ← decls.mapM (·.cse)
|
||||
checkpoint `cse decls
|
||||
saveStage1Decls decls
|
||||
return decls
|
||||
|
||||
/--
|
||||
Run the code generation pipeline for all declarations in `declNames`
|
||||
that fulfill the requirements of `shouldGenerateCode`.
|
||||
-/
|
||||
def compile (declNames : Array Name) : CoreM Unit := do profileitM Exception "compiler new" (← getOptions) do
|
||||
discard <| compileStage1Impl declNames
|
||||
|
||||
builtin_initialize
|
||||
registerTraceClass `Compiler
|
||||
|
|
|
|||
42
stage0/src/Lean/Compiler/Stage1.lean
generated
Normal file
42
stage0/src/Lean/Compiler/Stage1.lean
generated
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
/-
|
||||
Copyright (c) 2022 Microsoft Corporation. All rights reserved.
|
||||
Released under Apache 2.0 license as described in the file LICENSE.
|
||||
Authors: Leonardo de Moura
|
||||
-/
|
||||
import Lean.Compiler.Decl
|
||||
|
||||
namespace Lean.Compiler
|
||||
|
||||
structure Stage1ExtState where
|
||||
decls : Std.PHashMap Name Decl := {}
|
||||
deriving Inhabited
|
||||
|
||||
builtin_initialize stage1Ext : EnvExtension Stage1ExtState ←
|
||||
registerEnvExtension (pure {})
|
||||
|
||||
/- "Forward declaration" -/
|
||||
@[extern "lean_compile_stage1"]
|
||||
opaque compileStage1 : Array Name → CoreM (Array Decl)
|
||||
|
||||
/--
|
||||
Save/Cache the given LCNF declarations in the stage1 environment extension.
|
||||
-/
|
||||
def saveStage1Decls (decls : Array Decl) : CoreM Unit :=
|
||||
modifyEnv fun env => stage1Ext.modifyState env fun s => decls.foldl (init := s) fun s decl =>
|
||||
{ s with decls := s.decls.insert decl.name decl }
|
||||
|
||||
/--
|
||||
Retrieve stage1 LCNF declaration for the given declaration.
|
||||
|
||||
We currently do not store stage1 declarations on .olean files,
|
||||
and we generate
|
||||
-/
|
||||
def getStage1Decl? (declName : Name) : CoreM (Option Decl) := do
|
||||
match stage1Ext.getState (← getEnv) |>.decls.find? declName with
|
||||
| some decl => return decl
|
||||
| none =>
|
||||
let info ← getConstInfo declName
|
||||
let decls ← compileStage1 info.all.toArray
|
||||
return decls.find? fun decl => declName == decl.name
|
||||
|
||||
end Lean.Compiler
|
||||
3
stage0/src/Lean/Deprecated.lean
generated
3
stage0/src/Lean/Deprecated.lean
generated
|
|
@ -5,6 +5,7 @@ Authors: Leonardo de Moura
|
|||
-/
|
||||
import Lean.Log
|
||||
import Lean.Attributes
|
||||
import Lean.Elab.InfoTree.Main
|
||||
|
||||
namespace Lean
|
||||
|
||||
|
|
@ -16,7 +17,7 @@ builtin_initialize deprecatedAttr : ParametricAttribute (Option Name) ←
|
|||
match stx with
|
||||
| `(attr| deprecated $[$id?]?) =>
|
||||
let some id := id? | return none
|
||||
let declNameNew ← resolveGlobalConstNoOverload id
|
||||
let declNameNew ← Elab.resolveGlobalConstNoOverloadWithInfo id
|
||||
return some declNameNew
|
||||
| _ => throwError "invalid `[deprecated]` attribute"
|
||||
}
|
||||
|
|
|
|||
2
stage0/src/Lean/Elab/BuiltinCommand.lean
generated
2
stage0/src/Lean/Elab/BuiltinCommand.lean
generated
|
|
@ -408,7 +408,7 @@ opaque elabEval : CommandElab
|
|||
@[builtinCommandElab Parser.Command.addDocString] def elabAddDeclDoc : CommandElab := fun stx => do
|
||||
match stx with
|
||||
| `($doc:docComment add_decl_doc $id) =>
|
||||
let declName ← resolveGlobalConstNoOverload id
|
||||
let declName ← resolveGlobalConstNoOverloadWithInfo id
|
||||
addDocString declName (← getDocStringText doc)
|
||||
| _ => throwUnsupportedSyntax
|
||||
|
||||
|
|
|
|||
2
stage0/src/Lean/Elab/BuiltinNotation.lean
generated
2
stage0/src/Lean/Elab/BuiltinNotation.lean
generated
|
|
@ -160,7 +160,7 @@ partial def mkPairs (elems : Array Term) : MacroM Term :=
|
|||
pure acc
|
||||
loop (elems.size - 1) elems.back
|
||||
|
||||
private partial def hasCDot : Syntax → Bool
|
||||
partial def hasCDot : Syntax → Bool
|
||||
| Syntax.node _ k args =>
|
||||
if k == ``Lean.Parser.Term.paren then false
|
||||
else if k == ``Lean.Parser.Term.cdot then true
|
||||
|
|
|
|||
84
stage0/src/Lean/Elab/Extra.lean
generated
84
stage0/src/Lean/Elab/Extra.lean
generated
|
|
@ -4,6 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
|
|||
Authors: Leonardo de Moura
|
||||
-/
|
||||
import Lean.Elab.App
|
||||
import Lean.Elab.BuiltinNotation
|
||||
|
||||
/-! # Auxiliary elaboration functions: AKA custom elaborators -/
|
||||
|
||||
|
|
@ -127,26 +128,57 @@ there is no coercion `Matrix Real 5 4` from `Matrix Real 4 8` and vice-versa, bu
|
|||
-/
|
||||
|
||||
private inductive Tree where
|
||||
| term (ref : Syntax) (val : Expr)
|
||||
| op (ref : Syntax) (lazy : Bool) (f : Expr) (lhs rhs : Tree)
|
||||
| /--
|
||||
Leaf of the tree.
|
||||
We store the `infoTrees` generated when elaborating `val`. These trees become
|
||||
subtrees of the infotree nodes generated for `op` nodes.
|
||||
-/
|
||||
term (ref : Syntax) (infoTrees : Std.PersistentArray InfoTree) (val : Expr)
|
||||
| /--
|
||||
`ref` is the original syntax that expanded into `binop%`.
|
||||
`macroName` is the `macro_rule` that produce the expansion. We store this information
|
||||
here to make sure "go to definition" behaves similarly to notation defined without using `binop%` helper elaborator.
|
||||
-/
|
||||
op (ref : Syntax) (macroName : Name) (lazy : Bool) (f : Expr) (lhs rhs : Tree)
|
||||
|
||||
private partial def toTree (s : Syntax) : TermElabM Tree := do
|
||||
let s ← liftMacroM <| expandMacros s
|
||||
/-
|
||||
Remark: ew used to use `expandMacros` here, but this is a bad idiom
|
||||
because we do not record the macro expansion information in the info tree.
|
||||
We now manually expand the notation in the `go` function, and save
|
||||
the macro declaration names in the `op` nodes.
|
||||
-/
|
||||
let result ← go s
|
||||
synthesizeSyntheticMVars (mayPostpone := true)
|
||||
return result
|
||||
where
|
||||
go (s : Syntax) := do
|
||||
match s with
|
||||
| `(binop% $f $lhs $rhs) => processOp (lazy := false) f lhs rhs
|
||||
| `(binop_lazy% $f $lhs $rhs) => processOp (lazy := true) f lhs rhs
|
||||
| `(($e)) => go e
|
||||
| `(binop% $f $lhs $rhs) => processOp (lazy := false) s .anonymous f lhs rhs
|
||||
| `(binop_lazy% $f $lhs $rhs) => processOp (lazy := true) s .anonymous f lhs rhs
|
||||
| `(($e)) =>
|
||||
if hasCDot e then
|
||||
processLeaf s
|
||||
else
|
||||
go e
|
||||
| _ =>
|
||||
return Tree.term s (← elabTerm s none)
|
||||
match (← liftMacroM <| expandMacroImpl? (← getEnv) s) with
|
||||
| some (macroName, s?) =>
|
||||
let s' ← liftMacroM <| liftExcept s?
|
||||
match s' with
|
||||
| `(binop% $f $lhs $rhs) => processOp (lazy := false) s macroName f lhs rhs
|
||||
| `(binop_lazy% $f $lhs $rhs) => processOp (lazy := true) s macroName f lhs rhs
|
||||
| _ => processLeaf s
|
||||
| none => processLeaf s
|
||||
|
||||
processOp (f lhs rhs : Syntax) (lazy : Bool) := do
|
||||
processOp (ref : Syntax) (declName : Name) (f lhs rhs : Syntax) (lazy : Bool) := do
|
||||
let some f ← resolveId? f | throwUnknownConstant f.getId
|
||||
return Tree.op s (lazy := lazy) f (← go lhs) (← go rhs)
|
||||
return .op (lazy := lazy) ref declName f (← go lhs) (← go rhs)
|
||||
|
||||
processLeaf (s : Syntax) := do
|
||||
let e ← elabTerm s none
|
||||
let info ← getResetInfoTrees
|
||||
return .term s info e
|
||||
|
||||
-- Auxiliary function used at `analyze`
|
||||
private def hasCoe (fromType toType : Expr) : TermElabM Bool := do
|
||||
|
|
@ -184,8 +216,8 @@ where
|
|||
go (t : Tree) : StateRefT AnalyzeResult TermElabM Unit := do
|
||||
unless (← get).hasUncomparable do
|
||||
match t with
|
||||
| Tree.op _ _ _ lhs rhs => go lhs; go rhs
|
||||
| Tree.term _ val =>
|
||||
| .op _ _ _ _ lhs rhs => go lhs; go rhs
|
||||
| .term _ _ val =>
|
||||
let type ← instantiateMVars (← inferType val)
|
||||
unless isUnknow type do
|
||||
match (← get).max? with
|
||||
|
|
@ -200,14 +232,19 @@ where
|
|||
trace[Elab.binop] "uncomparable types: {max}, {type}"
|
||||
modify fun s => { s with hasUncomparable := true }
|
||||
|
||||
private def mkOp (f : Expr) (lhs rhs : Expr) : TermElabM Expr :=
|
||||
private def mkOp (f : Expr) (lhs rhs : Expr) : TermElabM Expr := do
|
||||
elabAppArgs f #[] #[Arg.expr lhs, Arg.expr rhs] (expectedType? := none) (explicit := false) (ellipsis := false) (resultIsOutParamSupport := false)
|
||||
|
||||
private def toExprCore (t : Tree) : TermElabM Expr := do
|
||||
match t with
|
||||
| .term _ e => return e
|
||||
| .op ref true f lhs rhs => withRef ref <| mkOp f (← toExprCore lhs) (← mkFunUnit (← toExprCore rhs))
|
||||
| .op ref false f lhs rhs => withRef ref <| mkOp f (← toExprCore lhs) (← toExprCore rhs)
|
||||
| .term _ trees e =>
|
||||
modifyInfoState (fun s => { s with trees := s.trees ++ trees }); return e
|
||||
| .op ref macroName true f lhs rhs =>
|
||||
withRef ref <| withInfoContext' ref (mkInfo := mkTermInfo macroName ref) do
|
||||
mkOp f (← toExprCore lhs) (← mkFunUnit (← toExprCore rhs))
|
||||
| .op ref macroName false f lhs rhs =>
|
||||
withRef ref <| withInfoContext' ref (mkInfo := mkTermInfo macroName ref) do
|
||||
mkOp f (← toExprCore lhs) (← toExprCore rhs)
|
||||
|
||||
/--
|
||||
Auxiliary function to decide whether we should coerce `f`'s argument to `maxType` or not.
|
||||
|
|
@ -286,7 +323,7 @@ mutual
|
|||
where
|
||||
go (t : Tree) (f? : Option Expr) (lhs : Bool) (isPred : Bool) : TermElabM Tree := do
|
||||
match t with
|
||||
| .op ref lazy f lhs rhs =>
|
||||
| .op ref macroName lazy f lhs rhs =>
|
||||
/-
|
||||
We only keep applying coercions to `maxType` if `f` is predicate or
|
||||
`f` has a homogenous instance with `maxType`. See `hasHomogeneousInstance` for additional details.
|
||||
|
|
@ -294,12 +331,13 @@ mutual
|
|||
Remark: We assume `binrel%` elaborator is only used with homogenous predicates.
|
||||
-/
|
||||
if (← pure isPred <||> hasHomogeneousInstance f maxType) then
|
||||
return Tree.op ref lazy f (← go lhs f true false) (← go rhs f false false)
|
||||
return Tree.op ref macroName lazy f (← go lhs f true false) (← go rhs f false false)
|
||||
else
|
||||
let lhs ← toExpr lhs none
|
||||
let rhs ← toExpr rhs none
|
||||
return Tree.term ref (← mkOp f lhs rhs)
|
||||
| .term ref e =>
|
||||
let r ← withRef ref <| withInfoContext' ref (mkInfo := mkTermInfo macroName ref) do
|
||||
mkOp f (← toExpr lhs none) (← toExpr rhs none)
|
||||
let infoTrees ← getResetInfoTrees
|
||||
return .term ref infoTrees r
|
||||
| .term ref trees e =>
|
||||
let type ← instantiateMVars (← inferType e)
|
||||
trace[Elab.binop] "visiting {e} : {type} =?= {maxType}"
|
||||
if isUnknow type then
|
||||
|
|
@ -311,7 +349,7 @@ mutual
|
|||
return t
|
||||
else
|
||||
trace[Elab.binop] "added coercion: {e} : {type} => {maxType}"
|
||||
withRef ref <| return Tree.term ref (← mkCoe maxType type e)
|
||||
withRef ref <| return .term ref trees (← mkCoe maxType type e)
|
||||
|
||||
private partial def toExpr (tree : Tree) (expectedType? : Option Expr) : TermElabM Expr := do
|
||||
let r ← analyze tree expectedType?
|
||||
|
|
@ -346,7 +384,7 @@ def elabBinRelCore (noProp : Bool) (stx : Syntax) (expectedType? : Option Expr)
|
|||
| some f => withSynthesize (mayPostpone := true) do
|
||||
let lhs ← withRef stx[2] <| toTree stx[2]
|
||||
let rhs ← withRef stx[3] <| toTree stx[3]
|
||||
let tree := Tree.op (lazy := false) stx f lhs rhs
|
||||
let tree := Tree.op (lazy := false) stx .anonymous f lhs rhs
|
||||
let r ← analyze tree none
|
||||
trace[Elab.binrel] "hasUncomparable: {r.hasUncomparable}, maxType: {r.max?}"
|
||||
if r.hasUncomparable || r.max?.isNone then
|
||||
|
|
|
|||
2
stage0/src/Lean/Elab/GenInjective.lean
generated
2
stage0/src/Lean/Elab/GenInjective.lean
generated
|
|
@ -9,7 +9,7 @@ import Lean.Meta.Injective
|
|||
namespace Lean.Elab.Command
|
||||
|
||||
@[builtinCommandElab genInjectiveTheorems] def elabGenInjectiveTheorems : CommandElab := fun stx => do
|
||||
let declName ← resolveGlobalConstNoOverload stx[1]
|
||||
let declName ← resolveGlobalConstNoOverloadWithInfo stx[1]
|
||||
liftTermElabM do
|
||||
Meta.mkInjectiveTheorems declName
|
||||
|
||||
|
|
|
|||
26
stage0/src/Lean/Elab/Mixfix.lean
generated
26
stage0/src/Lean/Elab/Mixfix.lean
generated
|
|
@ -10,26 +10,26 @@ namespace Lean.Elab.Command
|
|||
@[builtinMacro Lean.Parser.Command.mixfix] def expandMixfix : Macro := fun stx =>
|
||||
withAttrKindGlobal stx fun stx => do
|
||||
match stx with
|
||||
| `($[$doc?:docComment]? infixl:$prec $[(name := $name)]? $[(priority := $prio)]? $op => $f) =>
|
||||
| `($[$doc?:docComment]? $[@[$attrs?,*]]? infixl:$prec $[(name := $name)]? $[(priority := $prio)]? $op => $f) =>
|
||||
let prec1 := quote <| (← evalPrec prec) + 1
|
||||
`($[$doc?:docComment]? notation:$prec $[(name := $name)]? $[(priority := $prio)]? lhs:$prec $op:str rhs:$prec1 => $f lhs rhs)
|
||||
| `($[$doc?:docComment]? infix:$prec $[(name := $name)]? $[(priority := $prio)]? $op => $f) =>
|
||||
`($[$doc?:docComment]? $[@[$attrs?,*]]? notation:$prec $[(name := $name)]? $[(priority := $prio)]? lhs:$prec $op:str rhs:$prec1 => $f lhs rhs)
|
||||
| `($[$doc?:docComment]? $[@[$attrs?,*]]? infix:$prec $[(name := $name)]? $[(priority := $prio)]? $op => $f) =>
|
||||
let prec1 := quote <| (← evalPrec prec) + 1
|
||||
`($[$doc?:docComment]? notation:$prec $[(name := $name)]? $[(priority := $prio)]? lhs:$prec1 $op:str rhs:$prec1 => $f lhs rhs)
|
||||
| `($[$doc?:docComment]? infixr:$prec $[(name := $name)]? $[(priority := $prio)]? $op => $f) =>
|
||||
`($[$doc?:docComment]? $[@[$attrs?,*]]? notation:$prec $[(name := $name)]? $[(priority := $prio)]? lhs:$prec1 $op:str rhs:$prec1 => $f lhs rhs)
|
||||
| `($[$doc?:docComment]? $[@[$attrs?,*]]? infixr:$prec $[(name := $name)]? $[(priority := $prio)]? $op => $f) =>
|
||||
let prec1 := quote <| (← evalPrec prec) + 1
|
||||
`($[$doc?:docComment]? notation:$prec $[(name := $name)]? $[(priority := $prio)]? lhs:$prec1 $op:str rhs:$prec => $f lhs rhs)
|
||||
| `($[$doc?:docComment]? prefix:$prec $[(name := $name)]? $[(priority := $prio)]? $op => $f) =>
|
||||
`($[$doc?:docComment]? notation:$prec $[(name := $name)]? $[(priority := $prio)]? $op:str arg:$prec => $f arg)
|
||||
| `($[$doc?:docComment]? postfix:$prec $[(name := $name)]? $[(priority := $prio)]? $op => $f) =>
|
||||
`($[$doc?:docComment]? notation:$prec $[(name := $name)]? $[(priority := $prio)]? arg:$prec $op:str => $f arg)
|
||||
`($[$doc?:docComment]? $[@[$attrs?,*]]? notation:$prec $[(name := $name)]? $[(priority := $prio)]? lhs:$prec1 $op:str rhs:$prec => $f lhs rhs)
|
||||
| `($[$doc?:docComment]? $[@[$attrs?,*]]? prefix:$prec $[(name := $name)]? $[(priority := $prio)]? $op => $f) =>
|
||||
`($[$doc?:docComment]? $[@[$attrs?,*]]? notation:$prec $[(name := $name)]? $[(priority := $prio)]? $op:str arg:$prec => $f arg)
|
||||
| `($[$doc?:docComment]? $[@[$attrs?,*]]? postfix:$prec $[(name := $name)]? $[(priority := $prio)]? $op => $f) =>
|
||||
`($[$doc?:docComment]? $[@[$attrs?,*]]? notation:$prec $[(name := $name)]? $[(priority := $prio)]? arg:$prec $op:str => $f arg)
|
||||
| _ => Macro.throwUnsupported
|
||||
where
|
||||
-- set "global" `attrKind`, apply `f`, and restore `attrKind` to result
|
||||
withAttrKindGlobal stx f := do
|
||||
let attrKind := stx[1]
|
||||
let stx := stx.setArg 1 mkAttrKindGlobal
|
||||
let attrKind := stx[2]
|
||||
let stx := stx.setArg 2 mkAttrKindGlobal
|
||||
let stx ← f stx
|
||||
return stx.raw.setArg 1 attrKind
|
||||
return stx.raw.setArg 2 attrKind
|
||||
|
||||
end Lean.Elab.Command
|
||||
|
|
|
|||
14
stage0/src/Lean/Elab/Notation.lean
generated
14
stage0/src/Lean/Elab/Notation.lean
generated
|
|
@ -107,7 +107,9 @@ private def isLocalAttrKind (attrKind : Syntax) : Bool :=
|
|||
| _ => false
|
||||
|
||||
private def expandNotationAux (ref : Syntax) (currNamespace : Name)
|
||||
(doc? : Option (TSyntax ``docComment)) (attrKind : TSyntax ``attrKind)
|
||||
(doc? : Option (TSyntax ``docComment))
|
||||
(attrs? : Option (TSepArray ``attrInstance ","))
|
||||
(attrKind : TSyntax ``attrKind)
|
||||
(prec? : Option Prec) (name? : Option Ident) (prio? : Option Prio)
|
||||
(items : Array (TSyntax ``notationItem)) (rhs : Term) : MacroM Syntax := do
|
||||
let prio ← evalOptPrio prio?
|
||||
|
|
@ -119,7 +121,7 @@ private def expandNotationAux (ref : Syntax) (currNamespace : Name)
|
|||
| some name => pure name.getId
|
||||
| none => mkNameFromParserSyntax `term (mkNullNode syntaxParts)
|
||||
-- build macro rules
|
||||
let vars := items.filter fun item => item.raw.getKind == `Lean.Parser.Command.identPrec
|
||||
let vars := items.filter fun item => item.raw.getKind == ``identPrec
|
||||
let vars := vars.map fun var => var.raw[0]
|
||||
let qrhs := ⟨antiquote vars rhs⟩
|
||||
let patArgs ← items.mapM expandNotationItemIntoPattern
|
||||
|
|
@ -127,7 +129,8 @@ private def expandNotationAux (ref : Syntax) (currNamespace : Name)
|
|||
So, we must include current namespace when we create a pattern for the following `macro_rules` commands. -/
|
||||
let fullName := currNamespace ++ name
|
||||
let pat : Term := ⟨mkNode fullName patArgs⟩
|
||||
let stxDecl ← `($[$doc?:docComment]? $attrKind:attrKind syntax $[: $prec?]? (name := $(mkIdent name)) (priority := $(quote prio)) $[$syntaxParts]* : $cat)
|
||||
let stxDecl ← `($[$doc?:docComment]? $[@[$attrs?,*]]? $attrKind:attrKind
|
||||
syntax $[: $prec?]? (name := $(mkIdent name)) (priority := $(quote prio)) $[$syntaxParts]* : $cat)
|
||||
let macroDecl ← `(macro_rules | `($pat) => ``($qrhs))
|
||||
let macroDecls ←
|
||||
if isLocalAttrKind attrKind then
|
||||
|
|
@ -140,10 +143,11 @@ private def expandNotationAux (ref : Syntax) (currNamespace : Name)
|
|||
| none => return mkNullNode #[stxDecl, macroDecls]
|
||||
|
||||
@[builtinMacro Lean.Parser.Command.notation] def expandNotation : Macro
|
||||
| stx@`($[$doc?:docComment]? $attrKind:attrKind notation $[: $prec? ]? $[(name := $name?)]? $[(priority := $prio?)]? $items* => $rhs) => do
|
||||
| stx@`($[$doc?:docComment]? $[@[$attrs?,*]]? $attrKind:attrKind
|
||||
notation $[: $prec?]? $[(name := $name?)]? $[(priority := $prio?)]? $items* => $rhs) => do
|
||||
-- trigger scoped checks early and only once
|
||||
let _ ← toAttributeKind attrKind
|
||||
expandNotationAux stx (← Macro.getCurrNamespace) doc? attrKind prec? name? prio? items rhs
|
||||
expandNotationAux stx (← Macro.getCurrNamespace) doc? attrs? attrKind prec? name? prio? items rhs
|
||||
| _ => Macro.throwUnsupported
|
||||
|
||||
end Lean.Elab.Command
|
||||
|
|
|
|||
2
stage0/src/Lean/Elab/Tactic/Conv/Delta.lean
generated
2
stage0/src/Lean/Elab/Tactic/Conv/Delta.lean
generated
|
|
@ -10,7 +10,7 @@ namespace Lean.Elab.Tactic.Conv
|
|||
open Meta
|
||||
|
||||
@[builtinTactic Lean.Parser.Tactic.Conv.delta] def evalDelta : Tactic := fun stx => withMainContext do
|
||||
let declName ← resolveGlobalConstNoOverload stx[1]
|
||||
let declName ← resolveGlobalConstNoOverloadWithInfo stx[1]
|
||||
let lhsNew ← deltaExpand (← instantiateMVars (← getLhs)) (· == declName)
|
||||
changeLhs lhsNew
|
||||
|
||||
|
|
|
|||
2
stage0/src/Lean/Elab/Tactic/Conv/Unfold.lean
generated
2
stage0/src/Lean/Elab/Tactic/Conv/Unfold.lean
generated
|
|
@ -10,7 +10,7 @@ namespace Lean.Elab.Tactic.Conv
|
|||
open Meta
|
||||
|
||||
@[builtinTactic Lean.Parser.Tactic.Conv.unfold] def evalUnfold : Tactic := fun stx => withMainContext do
|
||||
let declName ← resolveGlobalConstNoOverload stx[1]
|
||||
let declName ← resolveGlobalConstNoOverloadWithInfo stx[1]
|
||||
applySimpResult (← unfold (← getLhs) declName)
|
||||
|
||||
end Lean.Elab.Tactic.Conv
|
||||
|
|
|
|||
2
stage0/src/Lean/Elab/Tactic/Delta.lean
generated
2
stage0/src/Lean/Elab/Tactic/Delta.lean
generated
|
|
@ -30,7 +30,7 @@ def deltaTarget (declName : Name) : TacticM Unit := do
|
|||
"delta " ident (location)?
|
||||
-/
|
||||
@[builtinTactic Lean.Parser.Tactic.delta] def evalDelta : Tactic := fun stx => do
|
||||
let declName ← resolveGlobalConstNoOverload stx[1]
|
||||
let declName ← resolveGlobalConstNoOverloadWithInfo stx[1]
|
||||
let loc := expandOptLocation stx[2]
|
||||
withLocation loc (deltaLocalDecl declName) (deltaTarget declName) (throwTacticEx `delta · m!"did not delta reduce '{declName}'")
|
||||
|
||||
|
|
|
|||
1
stage0/src/Lean/Elab/Tactic/Rewrite.lean
generated
1
stage0/src/Lean/Elab/Tactic/Rewrite.lean
generated
|
|
@ -50,6 +50,7 @@ def withRWRulesSeq (token : Syntax) (rwRulesSeqStx : Syntax) (x : (symm : Bool)
|
|||
| [] => throwError "failed to rewrite using equation theorems for '{declName}'"
|
||||
| eqThm::eqThms => (x symm (mkIdentFrom id eqThm)) <|> go eqThms
|
||||
go eqThms.toList
|
||||
discard <| Term.addTermInfo id (← mkConstWithFreshMVarLevels declName) (lctx? := ← getLCtx)
|
||||
match term with
|
||||
| `($id:ident) => processId id
|
||||
| `(@$id:ident) => processId id
|
||||
|
|
|
|||
2
stage0/src/Lean/Elab/Tactic/Unfold.lean
generated
2
stage0/src/Lean/Elab/Tactic/Unfold.lean
generated
|
|
@ -25,7 +25,7 @@ def unfoldTarget (declName : Name) : TacticM Unit := do
|
|||
go declNameId loc
|
||||
where
|
||||
go (declNameId : Syntax) (loc : Location) : TacticM Unit := do
|
||||
let declName ← resolveGlobalConstNoOverload declNameId
|
||||
let declName ← resolveGlobalConstNoOverloadWithInfo declNameId
|
||||
withLocation loc (unfoldLocalDecl declName) (unfoldTarget declName) (throwTacticEx `unfold · m!"did not unfold '{declName}'")
|
||||
|
||||
end Lean.Elab.Tactic
|
||||
|
|
|
|||
12
stage0/src/Lean/Linter/MissingDocs.lean
generated
12
stage0/src/Lean/Linter/MissingDocs.lean
generated
|
|
@ -169,15 +169,15 @@ def checkInit : SimpleHandler := fun stx => do
|
|||
|
||||
@[builtinMissingDocsHandler «notation»]
|
||||
def checkNotation : SimpleHandler := fun stx => do
|
||||
if stx[0].isNone && stx[1][0][0].getKind != ``«local» then
|
||||
if stx[4].isNone then lint stx[2] "notation"
|
||||
else lintNamed stx[4][0][3] "notation"
|
||||
if stx[0].isNone && stx[2][0][0].getKind != ``«local» then
|
||||
if stx[5].isNone then lint stx[3] "notation"
|
||||
else lintNamed stx[5][0][3] "notation"
|
||||
|
||||
@[builtinMissingDocsHandler «mixfix»]
|
||||
def checkMixfix : SimpleHandler := fun stx => do
|
||||
if stx[0].isNone && stx[1][0][0].getKind != ``«local» then
|
||||
if stx[4].isNone then lint stx[2] stx[2][0].getAtomVal!
|
||||
else lintNamed stx[4][0][3] stx[2][0].getAtomVal!
|
||||
if stx[0].isNone && stx[2][0][0].getKind != ``«local» then
|
||||
if stx[5].isNone then lint stx[3] stx[3][0].getAtomVal!
|
||||
else lintNamed stx[5][0][3] stx[3][0].getAtomVal!
|
||||
|
||||
@[builtinMissingDocsHandler «syntax»]
|
||||
def checkSyntax : SimpleHandler := fun stx => do
|
||||
|
|
|
|||
4
stage0/src/Lean/Parser/Syntax.lean
generated
4
stage0/src/Lean/Parser/Syntax.lean
generated
|
|
@ -59,7 +59,7 @@ def «infixl» := leading_parser "infixl"
|
|||
def «infixr» := leading_parser "infixr"
|
||||
def «postfix» := leading_parser "postfix"
|
||||
def mixfixKind := «prefix» <|> «infix» <|> «infixl» <|> «infixr» <|> «postfix»
|
||||
@[builtinCommandParser] def «mixfix» := leading_parser optional docComment >> Term.attrKind >> mixfixKind >> precedence >> optNamedName >> optNamedPrio >> ppSpace >> strLit >> darrow >> termParser
|
||||
@[builtinCommandParser] def «mixfix» := leading_parser optional docComment >> optional (Term.«attributes») >> Term.attrKind >> mixfixKind >> precedence >> optNamedName >> optNamedPrio >> ppSpace >> strLit >> darrow >> termParser
|
||||
-- NOTE: We use `suppressInsideQuot` in the following parsers because quotations inside them are evaluated in the same stage and
|
||||
-- thus should be ignored when we use `checkInsideQuot` to prepare the next stage for a builtin syntax change
|
||||
def identPrec := leading_parser ident >> optPrecedence
|
||||
|
|
@ -67,7 +67,7 @@ def identPrec := leading_parser ident >> optPrecedence
|
|||
def optKind : Parser := optional ("(" >> nonReservedSymbol "kind" >> ":=" >> ident >> ")")
|
||||
|
||||
def notationItem := ppSpace >> withAntiquot (mkAntiquot "notationItem" `Lean.Parser.Command.notationItem) (strLit <|> identPrec)
|
||||
@[builtinCommandParser] def «notation» := leading_parser optional docComment >> Term.attrKind >> "notation" >> optPrecedence >> optNamedName >> optNamedPrio >> many notationItem >> darrow >> termParser
|
||||
@[builtinCommandParser] def «notation» := leading_parser optional docComment >> optional (Term.«attributes») >> Term.attrKind >> "notation" >> optPrecedence >> optNamedName >> optNamedPrio >> many notationItem >> darrow >> termParser
|
||||
@[builtinCommandParser] def «macro_rules» := suppressInsideQuot (leading_parser optional docComment >> Term.attrKind >> "macro_rules" >> optKind >> Term.matchAlts)
|
||||
@[builtinCommandParser] def «syntax» := leading_parser optional docComment >> optional (Term.«attributes») >> Term.attrKind >> "syntax " >> optPrecedence >> optNamedName >> optNamedPrio >> many1 (syntaxParser argPrec) >> " : " >> ident
|
||||
@[builtinCommandParser] def syntaxAbbrev := leading_parser optional docComment >> "syntax " >> ident >> " := " >> many1 syntaxParser
|
||||
|
|
|
|||
2
stage0/src/stdlib_flags.h
generated
2
stage0/src/stdlib_flags.h
generated
|
|
@ -8,7 +8,7 @@ options get_default_options() {
|
|||
// switch to `true` for ABI-breaking changes affecting meta code
|
||||
opts = opts.update({"interpreter", "prefer_native"}, false);
|
||||
// switch to `true` for changing built-in parsers used in quotations
|
||||
opts = opts.update({"internal", "parseQuotWithCurrentStage"}, true);
|
||||
opts = opts.update({"internal", "parseQuotWithCurrentStage"}, false);
|
||||
opts = opts.update({"pp", "rawOnError"}, true);
|
||||
#endif
|
||||
return opts;
|
||||
|
|
|
|||
6
stage0/stdlib/Lean/Compiler.c
generated
6
stage0/stdlib/Lean/Compiler.c
generated
|
|
@ -1,6 +1,6 @@
|
|||
// Lean compiler output
|
||||
// Module: Lean.Compiler
|
||||
// Imports: Init Lean.Compiler.InlineAttrs Lean.Compiler.Specialize Lean.Compiler.ConstFolding Lean.Compiler.ClosedTermCache Lean.Compiler.ExternAttr Lean.Compiler.ImplementedByAttr Lean.Compiler.NeverExtractAttr Lean.Compiler.IR Lean.Compiler.CSimpAttr Lean.Compiler.FFI Lean.Compiler.NoncomputableAttr Lean.Compiler.CompilerM Lean.Compiler.LCNFTypes Lean.Compiler.InferType Lean.Compiler.LCNF Lean.Compiler.Decl Lean.Compiler.Main Lean.Compiler.AtMostOnce Lean.Compiler.Old
|
||||
// Imports: Init Lean.Compiler.InlineAttrs Lean.Compiler.Specialize Lean.Compiler.ConstFolding Lean.Compiler.ClosedTermCache Lean.Compiler.ExternAttr Lean.Compiler.ImplementedByAttr Lean.Compiler.NeverExtractAttr Lean.Compiler.IR Lean.Compiler.CSimpAttr Lean.Compiler.FFI Lean.Compiler.NoncomputableAttr Lean.Compiler.CompilerM Lean.Compiler.LCNFTypes Lean.Compiler.InferType Lean.Compiler.LCNF Lean.Compiler.Stage1 Lean.Compiler.Decl Lean.Compiler.Main Lean.Compiler.AtMostOnce Lean.Compiler.Old
|
||||
#include <lean/lean.h>
|
||||
#if defined(__clang__)
|
||||
#pragma clang diagnostic ignored "-Wunused-parameter"
|
||||
|
|
@ -29,6 +29,7 @@ lean_object* initialize_Lean_Compiler_CompilerM(uint8_t builtin, lean_object*);
|
|||
lean_object* initialize_Lean_Compiler_LCNFTypes(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Compiler_InferType(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Compiler_LCNF(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Compiler_Stage1(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Compiler_Decl(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Compiler_Main(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Compiler_AtMostOnce(uint8_t builtin, lean_object*);
|
||||
|
|
@ -86,6 +87,9 @@ lean_dec_ref(res);
|
|||
res = initialize_Lean_Compiler_LCNF(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
res = initialize_Lean_Compiler_Stage1(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
res = initialize_Lean_Compiler_Decl(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
|
|
|
|||
498
stage0/stdlib/Lean/Compiler/CompilerM.c
generated
498
stage0/stdlib/Lean/Compiler/CompilerM.c
generated
|
|
@ -22,41 +22,63 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_withNewScope___rarg(lean_object*, lean_
|
|||
lean_object* l_Lean_Name_str___override(lean_object*, lean_object*);
|
||||
lean_object* l_Std_HashMapImp_find_x3f___at_Lean_ForEachExpr_visit___spec__1(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_instMonadInferTypeCompilerM___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_LocalDecl_userName(lean_object*);
|
||||
static lean_object* l_Lean_Compiler_CompilerM_State_lctx___default___closed__4;
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_mkLetUsingScope(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_findDecl_x3f(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__2;
|
||||
static lean_object* l_Lean_Compiler_CompilerM_State_lctx___default___closed__6;
|
||||
static lean_object* l_Lean_Compiler_visitMatch___closed__1;
|
||||
lean_object* lean_local_ctx_mk_let_decl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_mkJpDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_st_ref_get(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_CompilerM_State_nextIdx___default;
|
||||
uint8_t lean_name_eq(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_mkFreshId___at_Lean_Compiler_mkLocalDecl___spec__2___rarg___boxed(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_CompilerM_State_letFVars___default___closed__1;
|
||||
lean_object* lean_array_push(lean_object*, lean_object*);
|
||||
lean_object* lean_array_get_size(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_mkLetDecl___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_mkFreshId___at_Lean_Compiler_mkLocalDecl___spec__2___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_Nat_max(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_withNewScopeImp___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_mkFreshId___at_Lean_Compiler_mkLocalDecl___spec__2___rarg(lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_levelZero;
|
||||
lean_object* lean_nat_add(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_instVisitLetReaderT___rarg___lambda__1(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_mkLambda___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_getMaxLetVarIdx___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__3;
|
||||
lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_array_fget(lean_object*, lean_object*);
|
||||
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
|
||||
lean_object* lean_st_ref_take(lean_object*, lean_object*);
|
||||
lean_object* lean_nat_sub(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_instVisitLetReaderT___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_mkLetDecl(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_mkLetUsingScope___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_instAddMessageContextCompilerM___closed__3;
|
||||
lean_object* l_Lean_Name_num___override(lean_object*, lean_object*);
|
||||
lean_object* lean_array_get(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_mkLetUsingScope___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_getMaxLetVarIdx(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Std_mkHashMapImp___rarg(lean_object*);
|
||||
lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*);
|
||||
lean_object* l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(lean_object*, lean_object*);
|
||||
lean_object* lean_st_mk_ref(lean_object*, lean_object*);
|
||||
lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_ForEachExpr_visit___at_Lean_Compiler_getMaxLetVarIdx___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_sort___override(lean_object*);
|
||||
extern lean_object* l_Lean_instInhabitedExpr;
|
||||
static lean_object* l_Lean_Compiler_instAddMessageContextCompilerM___closed__4;
|
||||
lean_object* l___private_Init_Util_0__mkPanicMessageWithDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_instVisitLetReaderT(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_instAddMessageContextCompilerM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_withNewScope(lean_object*, lean_object*);
|
||||
static lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_visitMatch(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_CompilerM_State_lctx___default;
|
||||
uint8_t l_Lean_Expr_isLambda(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_instAddMessageContextCompilerM___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -65,23 +87,29 @@ static lean_object* l_Lean_Compiler_instAddMessageContextCompilerM___closed__1;
|
|||
LEAN_EXPORT lean_object* l_Lean_Compiler_mkLocalDecl___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_mkFreshFVarId___at_Lean_Compiler_mkLocalDecl___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_local_ctx_mk_local_decl(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t);
|
||||
static lean_object* l_Lean_LocalDecl_isJp___closed__1;
|
||||
lean_object* l_Lean_Expr_fvar___override(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_withNewScope___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_mkJpDecl___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__4;
|
||||
LEAN_EXPORT lean_object* l_Lean_LocalDecl_isJp___boxed(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_mkAuxLetDecl___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_withNewScope___rarg___closed__1;
|
||||
uint8_t lean_nat_dec_le(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_mkJpDecl___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_instAddMessageContextCompilerM___closed__2;
|
||||
static lean_object* l_Lean_Compiler_CompilerM_State_lctx___default___closed__5;
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_withNewScopeImp(lean_object*);
|
||||
static lean_object* l_Lean_Compiler_CompilerM_State_lctx___default___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_mkLambda(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_mkJpDecl___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Lean_mkFreshId___at_Lean_Compiler_mkLocalDecl___spec__2(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_CompilerM_State_lctx___default___closed__3;
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_visitLambda___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_getMaxLetVarIdx___closed__1;
|
||||
lean_object* l_Lean_LocalContext_mkLambda(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l_Lean_LocalDecl_isJp(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Name_getPrefix(lean_object*);
|
||||
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
|
||||
uint8_t l_Lean_Expr_isFVar(lean_object*);
|
||||
static lean_object* l_Lean_Compiler_mkLetUsingScope___closed__2;
|
||||
|
|
@ -91,19 +119,25 @@ LEAN_EXPORT lean_object* l_Lean_Compiler_getMaxLetVarIdx___lambda__1___boxed(lea
|
|||
lean_object* lean_expr_instantiate_rev(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_CompilerM_State_lctx___default___closed__2;
|
||||
static lean_object* l_Lean_Compiler_mkLetUsingScope___closed__1;
|
||||
lean_object* lean_mk_array(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_visitLetImp_go(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_instVisitLetCompilerM___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_ForEachExpr_visit___at_Lean_Compiler_getMaxLetVarIdx___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_LocalDecl_isJp___closed__2;
|
||||
static lean_object* l_Lean_Compiler_CompilerM_State_lctx___default___closed__7;
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_mkLocalDecl(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_CompilerM_State_letFVars___default;
|
||||
lean_object* lean_local_ctx_find(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_visitMatch___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_mkAuxLetDecl(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_mkFreshFVarId___at_Lean_Compiler_mkLocalDecl___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_instVisitLetStateRefT_x27___rarg(lean_object*);
|
||||
lean_object* l_Std_HashMap_insert___at_Lean_ForEachExpr_visit___spec__3(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_findDecl_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_instMonadInferTypeCompilerM(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_visitLambda(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t lean_string_dec_eq(lean_object*, lean_object*);
|
||||
uint8_t lean_nat_dec_lt(lean_object*, lean_object*);
|
||||
static lean_object* _init_l_Lean_Compiler_CompilerM_State_lctx___default___closed__1() {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -843,6 +877,98 @@ lean_dec(x_5);
|
|||
return x_10;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_findDecl_x3f(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_6; lean_object* x_7; lean_object* x_8; uint8_t x_9;
|
||||
x_6 = lean_st_ref_get(x_4, x_5);
|
||||
x_7 = lean_ctor_get(x_6, 1);
|
||||
lean_inc(x_7);
|
||||
lean_dec(x_6);
|
||||
x_8 = lean_st_ref_get(x_2, x_7);
|
||||
x_9 = !lean_is_exclusive(x_8);
|
||||
if (x_9 == 0)
|
||||
{
|
||||
lean_object* x_10; lean_object* x_11; lean_object* x_12;
|
||||
x_10 = lean_ctor_get(x_8, 0);
|
||||
x_11 = lean_ctor_get(x_10, 0);
|
||||
lean_inc(x_11);
|
||||
lean_dec(x_10);
|
||||
x_12 = lean_local_ctx_find(x_11, x_1);
|
||||
lean_ctor_set(x_8, 0, x_12);
|
||||
return x_8;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
|
||||
x_13 = lean_ctor_get(x_8, 0);
|
||||
x_14 = lean_ctor_get(x_8, 1);
|
||||
lean_inc(x_14);
|
||||
lean_inc(x_13);
|
||||
lean_dec(x_8);
|
||||
x_15 = lean_ctor_get(x_13, 0);
|
||||
lean_inc(x_15);
|
||||
lean_dec(x_13);
|
||||
x_16 = lean_local_ctx_find(x_15, x_1);
|
||||
x_17 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_17, 0, x_16);
|
||||
lean_ctor_set(x_17, 1, x_14);
|
||||
return x_17;
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_findDecl_x3f___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_6;
|
||||
x_6 = l_Lean_Compiler_findDecl_x3f(x_1, x_2, x_3, x_4, x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_LocalDecl_isJp___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_from_bytes("_jp", 3);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_LocalDecl_isJp___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_LocalDecl_isJp___closed__1;
|
||||
x_3 = l_Lean_Name_str___override(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT uint8_t l_Lean_LocalDecl_isJp(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_2; lean_object* x_3; lean_object* x_4; uint8_t x_5;
|
||||
x_2 = l_Lean_LocalDecl_userName(x_1);
|
||||
x_3 = l_Lean_Name_getPrefix(x_2);
|
||||
lean_dec(x_2);
|
||||
x_4 = l_Lean_LocalDecl_isJp___closed__2;
|
||||
x_5 = lean_name_eq(x_3, x_4);
|
||||
lean_dec(x_3);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_LocalDecl_isJp___boxed(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_2; lean_object* x_3;
|
||||
x_2 = l_Lean_LocalDecl_isJp(x_1);
|
||||
lean_dec(x_1);
|
||||
x_3 = lean_box(x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_mkAuxLetDecl(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -1176,29 +1302,11 @@ lean_dec(x_3);
|
|||
return x_7;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_mkJpDecl___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_from_bytes("_jp", 3);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_mkJpDecl___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_Compiler_mkJpDecl___closed__1;
|
||||
x_3 = l_Lean_Name_str___override(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_mkJpDecl(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_6; lean_object* x_7;
|
||||
x_6 = l_Lean_Compiler_mkJpDecl___closed__2;
|
||||
x_6 = l_Lean_LocalDecl_isJp___closed__2;
|
||||
x_7 = l_Lean_Compiler_mkAuxLetDecl(x_1, x_6, x_2, x_3, x_4, x_5);
|
||||
return x_7;
|
||||
}
|
||||
|
|
@ -2517,7 +2625,7 @@ x_12 = lean_string_dec_eq(x_10, x_11);
|
|||
if (x_12 == 0)
|
||||
{
|
||||
lean_object* x_13; uint8_t x_14;
|
||||
x_13 = l_Lean_Compiler_mkJpDecl___closed__1;
|
||||
x_13 = l_Lean_LocalDecl_isJp___closed__1;
|
||||
x_14 = lean_string_dec_eq(x_10, x_13);
|
||||
if (x_14 == 0)
|
||||
{
|
||||
|
|
@ -2861,6 +2969,334 @@ lean_dec(x_2);
|
|||
return x_6;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_from_bytes("Init.Util", 9);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_from_bytes("getElem!", 8);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_from_bytes("index out of bounds", 19);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5; lean_object* x_6;
|
||||
x_1 = l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__1;
|
||||
x_2 = l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__2;
|
||||
x_3 = lean_unsigned_to_nat(73u);
|
||||
x_4 = lean_unsigned_to_nat(36u);
|
||||
x_5 = l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__3;
|
||||
x_6 = l___private_Init_Util_0__mkPanicMessageWithDecl(x_1, x_2, x_3, x_4, x_5);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_11;
|
||||
x_11 = lean_nat_dec_le(x_4, x_3);
|
||||
if (x_11 == 0)
|
||||
{
|
||||
lean_object* x_12; uint8_t x_13;
|
||||
x_12 = lean_unsigned_to_nat(0u);
|
||||
x_13 = lean_nat_dec_eq(x_2, x_12);
|
||||
if (x_13 == 0)
|
||||
{
|
||||
lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17;
|
||||
x_14 = lean_unsigned_to_nat(1u);
|
||||
x_15 = lean_nat_sub(x_2, x_14);
|
||||
lean_dec(x_2);
|
||||
x_16 = lean_array_get_size(x_1);
|
||||
x_17 = lean_nat_dec_lt(x_3, x_16);
|
||||
lean_dec(x_16);
|
||||
if (x_17 == 0)
|
||||
{
|
||||
lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
|
||||
x_18 = l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__4;
|
||||
x_19 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_18);
|
||||
x_20 = lean_array_push(x_6, x_19);
|
||||
x_21 = lean_nat_add(x_3, x_5);
|
||||
lean_dec(x_3);
|
||||
x_2 = x_15;
|
||||
x_3 = x_21;
|
||||
x_6 = x_20;
|
||||
goto _start;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_23; lean_object* x_24; lean_object* x_25;
|
||||
x_23 = lean_array_fget(x_1, x_3);
|
||||
x_24 = lean_array_push(x_6, x_23);
|
||||
x_25 = lean_nat_add(x_3, x_5);
|
||||
lean_dec(x_3);
|
||||
x_2 = x_15;
|
||||
x_3 = x_25;
|
||||
x_6 = x_24;
|
||||
goto _start;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_27;
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_27 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_27, 0, x_6);
|
||||
lean_ctor_set(x_27, 1, x_10);
|
||||
return x_27;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_28;
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_28 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_28, 0, x_6);
|
||||
lean_ctor_set(x_28, 1, x_10);
|
||||
return x_28;
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_11;
|
||||
x_11 = lean_nat_dec_le(x_4, x_3);
|
||||
if (x_11 == 0)
|
||||
{
|
||||
lean_object* x_12; uint8_t x_13;
|
||||
x_12 = lean_unsigned_to_nat(0u);
|
||||
x_13 = lean_nat_dec_eq(x_2, x_12);
|
||||
if (x_13 == 0)
|
||||
{
|
||||
lean_object* x_14; lean_object* x_15; lean_object* x_16; uint8_t x_17;
|
||||
x_14 = lean_unsigned_to_nat(1u);
|
||||
x_15 = lean_nat_sub(x_2, x_14);
|
||||
lean_dec(x_2);
|
||||
x_16 = lean_array_get_size(x_1);
|
||||
x_17 = lean_nat_dec_lt(x_3, x_16);
|
||||
lean_dec(x_16);
|
||||
if (x_17 == 0)
|
||||
{
|
||||
lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25;
|
||||
x_18 = l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__4;
|
||||
x_19 = l_panic___at_Lean_Expr_getRevArg_x21___spec__1(x_18);
|
||||
x_20 = l_Lean_Compiler_visitLambda(x_19, x_7, x_8, x_9, x_10);
|
||||
x_21 = lean_ctor_get(x_20, 0);
|
||||
lean_inc(x_21);
|
||||
x_22 = lean_ctor_get(x_20, 1);
|
||||
lean_inc(x_22);
|
||||
lean_dec(x_20);
|
||||
x_23 = lean_ctor_get(x_21, 1);
|
||||
lean_inc(x_23);
|
||||
lean_dec(x_21);
|
||||
x_24 = lean_array_push(x_6, x_23);
|
||||
x_25 = lean_nat_add(x_3, x_5);
|
||||
lean_dec(x_3);
|
||||
x_2 = x_15;
|
||||
x_3 = x_25;
|
||||
x_6 = x_24;
|
||||
x_10 = x_22;
|
||||
goto _start;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33;
|
||||
x_27 = lean_array_fget(x_1, x_3);
|
||||
x_28 = l_Lean_Compiler_visitLambda(x_27, x_7, x_8, x_9, x_10);
|
||||
x_29 = lean_ctor_get(x_28, 0);
|
||||
lean_inc(x_29);
|
||||
x_30 = lean_ctor_get(x_28, 1);
|
||||
lean_inc(x_30);
|
||||
lean_dec(x_28);
|
||||
x_31 = lean_ctor_get(x_29, 1);
|
||||
lean_inc(x_31);
|
||||
lean_dec(x_29);
|
||||
x_32 = lean_array_push(x_6, x_31);
|
||||
x_33 = lean_nat_add(x_3, x_5);
|
||||
lean_dec(x_3);
|
||||
x_2 = x_15;
|
||||
x_3 = x_33;
|
||||
x_6 = x_32;
|
||||
x_10 = x_30;
|
||||
goto _start;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_35;
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_35 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_35, 0, x_6);
|
||||
lean_ctor_set(x_35, 1, x_10);
|
||||
return x_35;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_36;
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_36 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_36, 0, x_6);
|
||||
lean_ctor_set(x_36, 1, x_10);
|
||||
return x_36;
|
||||
}
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_visitMatch___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_levelZero;
|
||||
x_2 = l_Lean_Expr_sort___override(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_visitMatch(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; uint8_t x_30;
|
||||
x_7 = lean_unsigned_to_nat(0u);
|
||||
x_8 = l___private_Lean_Expr_0__Lean_Expr_getAppNumArgsAux(x_1, x_7);
|
||||
x_9 = l_Lean_Compiler_visitMatch___closed__1;
|
||||
lean_inc(x_8);
|
||||
x_10 = lean_mk_array(x_8, x_9);
|
||||
x_11 = lean_unsigned_to_nat(1u);
|
||||
x_12 = lean_nat_sub(x_8, x_11);
|
||||
lean_dec(x_8);
|
||||
x_13 = l___private_Lean_Expr_0__Lean_Expr_getAppArgsAux(x_1, x_10, x_12);
|
||||
x_14 = lean_ctor_get(x_2, 5);
|
||||
lean_inc(x_14);
|
||||
x_15 = l_Lean_instInhabitedExpr;
|
||||
x_16 = lean_array_get(x_15, x_13, x_14);
|
||||
lean_dec(x_14);
|
||||
x_17 = lean_ctor_get(x_2, 2);
|
||||
lean_inc(x_17);
|
||||
x_18 = lean_ctor_get(x_17, 1);
|
||||
lean_inc(x_18);
|
||||
x_19 = lean_ctor_get(x_17, 0);
|
||||
lean_inc(x_19);
|
||||
x_20 = lean_ctor_get(x_17, 2);
|
||||
lean_inc(x_20);
|
||||
lean_dec(x_17);
|
||||
x_21 = l_Lean_Compiler_CompilerM_State_letFVars___default___closed__1;
|
||||
lean_inc(x_18);
|
||||
x_22 = l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1(x_13, x_18, x_19, x_18, x_20, x_21, x_3, x_4, x_5, x_6);
|
||||
lean_dec(x_20);
|
||||
lean_dec(x_18);
|
||||
x_23 = lean_ctor_get(x_22, 0);
|
||||
lean_inc(x_23);
|
||||
x_24 = lean_ctor_get(x_22, 1);
|
||||
lean_inc(x_24);
|
||||
lean_dec(x_22);
|
||||
x_25 = lean_ctor_get(x_2, 3);
|
||||
lean_inc(x_25);
|
||||
lean_dec(x_2);
|
||||
x_26 = lean_ctor_get(x_25, 1);
|
||||
lean_inc(x_26);
|
||||
x_27 = lean_ctor_get(x_25, 0);
|
||||
lean_inc(x_27);
|
||||
x_28 = lean_ctor_get(x_25, 2);
|
||||
lean_inc(x_28);
|
||||
lean_dec(x_25);
|
||||
lean_inc(x_26);
|
||||
x_29 = l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__2(x_13, x_26, x_27, x_26, x_28, x_21, x_3, x_4, x_5, x_24);
|
||||
lean_dec(x_28);
|
||||
lean_dec(x_26);
|
||||
lean_dec(x_13);
|
||||
x_30 = !lean_is_exclusive(x_29);
|
||||
if (x_30 == 0)
|
||||
{
|
||||
lean_object* x_31; lean_object* x_32; lean_object* x_33;
|
||||
x_31 = lean_ctor_get(x_29, 0);
|
||||
x_32 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_32, 0, x_23);
|
||||
lean_ctor_set(x_32, 1, x_31);
|
||||
x_33 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_33, 0, x_16);
|
||||
lean_ctor_set(x_33, 1, x_32);
|
||||
lean_ctor_set(x_29, 0, x_33);
|
||||
return x_29;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38;
|
||||
x_34 = lean_ctor_get(x_29, 0);
|
||||
x_35 = lean_ctor_get(x_29, 1);
|
||||
lean_inc(x_35);
|
||||
lean_inc(x_34);
|
||||
lean_dec(x_29);
|
||||
x_36 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_36, 0, x_23);
|
||||
lean_ctor_set(x_36, 1, x_34);
|
||||
x_37 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_37, 0, x_16);
|
||||
lean_ctor_set(x_37, 1, x_36);
|
||||
x_38 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_38, 0, x_37);
|
||||
lean_ctor_set(x_38, 1, x_35);
|
||||
return x_38;
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_11;
|
||||
x_11 = l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_1);
|
||||
return x_11;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_11;
|
||||
x_11 = l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_1);
|
||||
return x_11;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_visitMatch___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_7;
|
||||
x_7 = l_Lean_Compiler_visitMatch(x_1, x_2, x_3, x_4, x_5, x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
return x_7;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_withNewScopeImp___rarg(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -3706,14 +4142,24 @@ l_Lean_Compiler_instAddMessageContextCompilerM___closed__3 = _init_l_Lean_Compil
|
|||
lean_mark_persistent(l_Lean_Compiler_instAddMessageContextCompilerM___closed__3);
|
||||
l_Lean_Compiler_instAddMessageContextCompilerM___closed__4 = _init_l_Lean_Compiler_instAddMessageContextCompilerM___closed__4();
|
||||
lean_mark_persistent(l_Lean_Compiler_instAddMessageContextCompilerM___closed__4);
|
||||
l_Lean_Compiler_mkJpDecl___closed__1 = _init_l_Lean_Compiler_mkJpDecl___closed__1();
|
||||
lean_mark_persistent(l_Lean_Compiler_mkJpDecl___closed__1);
|
||||
l_Lean_Compiler_mkJpDecl___closed__2 = _init_l_Lean_Compiler_mkJpDecl___closed__2();
|
||||
lean_mark_persistent(l_Lean_Compiler_mkJpDecl___closed__2);
|
||||
l_Lean_LocalDecl_isJp___closed__1 = _init_l_Lean_LocalDecl_isJp___closed__1();
|
||||
lean_mark_persistent(l_Lean_LocalDecl_isJp___closed__1);
|
||||
l_Lean_LocalDecl_isJp___closed__2 = _init_l_Lean_LocalDecl_isJp___closed__2();
|
||||
lean_mark_persistent(l_Lean_LocalDecl_isJp___closed__2);
|
||||
l_Lean_Compiler_getMaxLetVarIdx___lambda__1___closed__1 = _init_l_Lean_Compiler_getMaxLetVarIdx___lambda__1___closed__1();
|
||||
lean_mark_persistent(l_Lean_Compiler_getMaxLetVarIdx___lambda__1___closed__1);
|
||||
l_Lean_Compiler_getMaxLetVarIdx___closed__1 = _init_l_Lean_Compiler_getMaxLetVarIdx___closed__1();
|
||||
lean_mark_persistent(l_Lean_Compiler_getMaxLetVarIdx___closed__1);
|
||||
l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__1 = _init_l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__1();
|
||||
lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__1);
|
||||
l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__2 = _init_l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__2();
|
||||
lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__2);
|
||||
l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__3 = _init_l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__3();
|
||||
lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__3);
|
||||
l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__4 = _init_l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__4();
|
||||
lean_mark_persistent(l_Std_Range_forIn_loop___at_Lean_Compiler_visitMatch___spec__1___closed__4);
|
||||
l_Lean_Compiler_visitMatch___closed__1 = _init_l_Lean_Compiler_visitMatch___closed__1();
|
||||
lean_mark_persistent(l_Lean_Compiler_visitMatch___closed__1);
|
||||
l_Lean_Compiler_withNewScope___rarg___closed__1 = _init_l_Lean_Compiler_withNewScope___rarg___closed__1();
|
||||
lean_mark_persistent(l_Lean_Compiler_withNewScope___rarg___closed__1);
|
||||
l_Lean_Compiler_instVisitLetCompilerM___closed__1 = _init_l_Lean_Compiler_instVisitLetCompilerM___closed__1();
|
||||
|
|
|
|||
561
stage0/stdlib/Lean/Compiler/Decl.c
generated
561
stage0/stdlib/Lean/Compiler/Decl.c
generated
|
|
@ -1,6 +1,6 @@
|
|||
// Lean compiler output
|
||||
// Module: Lean.Compiler.Decl
|
||||
// Imports: Init Lean.Meta.Transform Lean.Meta.Check Lean.Compiler.LCNF Lean.Compiler.Check Lean.Compiler.CompilerM
|
||||
// Imports: Init Lean.Meta.Transform Lean.Meta.Check Lean.Compiler.LCNF Lean.Compiler.Check Lean.Compiler.CompilerM Lean.Compiler.JoinPoints
|
||||
#include <lean/lean.h>
|
||||
#if defined(__clang__)
|
||||
#pragma clang diagnostic ignored "-Wunused-parameter"
|
||||
|
|
@ -22,13 +22,16 @@ lean_object* lean_mk_empty_array_with_capacity(lean_object*);
|
|||
lean_object* l_Lean_Name_str___override(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_toDecl___closed__19;
|
||||
static lean_object* l_Lean_Compiler_toDecl___closed__9;
|
||||
extern lean_object* l_Std_Format_defWidth;
|
||||
uint8_t l_Lean_Compiler_compatibleTypes(lean_object*, lean_object*);
|
||||
lean_object* lean_environment_find(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_ppExpr(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Compiler_Decl_0__Lean_Compiler_replaceUnsafeRecNames___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_st_ref_get(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_Decl_mapValue(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_toDecl___closed__27;
|
||||
static lean_object* l_Lean_Compiler_toDecl___closed__4;
|
||||
lean_object* lean_string_append(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_getConstInfo___at___private_Lean_Compiler_InlineAttrs_0__Lean_Compiler_isValidMacroInline___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_toDecl___closed__8;
|
||||
static lean_object* l_Lean_Compiler_toDecl___closed__17;
|
||||
|
|
@ -48,8 +51,11 @@ lean_object* l_Lean_Compiler_toLCNFType(lean_object*, lean_object*, lean_object*
|
|||
LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_Decl_check___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_Decl_check___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_lambdaTelescope___at_Lean_Compiler_toDecl___spec__2(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_Decl_toString___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Name_toString(lean_object*, uint8_t);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Compiler_Decl_0__Lean_Compiler_replaceUnsafeRecNames___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_mkLambdaFVars(lean_object*, lean_object*, uint8_t, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_Decl_toString___closed__1;
|
||||
lean_object* l_Lean_Compiler_getMaxLetVarIdx(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_toDecl___closed__12;
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_macroInline___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -60,6 +66,7 @@ lean_object* lean_st_mk_ref(lean_object*, lean_object*);
|
|||
static lean_object* l_Lean_Compiler_macroInline___closed__1;
|
||||
static lean_object* l_Lean_Compiler_toDecl___closed__11;
|
||||
extern lean_object* l_Lean_Expr_instHashableExpr;
|
||||
lean_object* lean_format_pretty(lean_object*, lean_object*);
|
||||
lean_object* l_Std_PersistentHashMap_mkEmptyEntriesArray(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_Decl_check___closed__7;
|
||||
lean_object* l_Lean_Expr_sort___override(lean_object*);
|
||||
|
|
@ -67,6 +74,7 @@ static lean_object* l_Lean_Compiler_toDecl___closed__26;
|
|||
lean_object* l_Lean_Meta_InfoCacheKey_instHashableInfoCacheKey___boxed(lean_object*);
|
||||
static lean_object* l_Lean_Compiler_toDecl___closed__22;
|
||||
lean_object* l_Lean_Core_instantiateValueLevelParams(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_Decl_check___closed__9;
|
||||
static lean_object* l_Lean_Compiler_macroInline___closed__2;
|
||||
static lean_object* l_Lean_Compiler_toDecl___closed__18;
|
||||
static lean_object* l_Lean_Compiler_toDecl___closed__30;
|
||||
|
|
@ -82,6 +90,7 @@ static lean_object* l_Lean_Compiler_Decl_check___closed__8;
|
|||
LEAN_EXPORT lean_object* l_Lean_Compiler_Decl_check(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_macroInline___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_macroInline___lambda__1___closed__1;
|
||||
static lean_object* l_Lean_Compiler_Decl_toString___closed__2;
|
||||
lean_object* l_Lean_Meta_etaExpand(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Compiler_ToLCNF_toLCNF(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_toDecl___closed__7;
|
||||
|
|
@ -116,6 +125,9 @@ static lean_object* l_Lean_Compiler_toDecl___closed__29;
|
|||
static lean_object* l_Lean_Compiler_toDecl___closed__14;
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Compiler_Decl_0__Lean_Compiler_replaceUnsafeRecNames(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Compiler_toDecl___closed__28;
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_Decl_checkJoinPoints(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Compiler_JoinPointChecker_checkJoinPoints_goLambda(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_Decl_toString(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* _init_l_Lean_Compiler_macroInline___lambda__1___closed__1() {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -1328,6 +1340,17 @@ lean_dec(x_2);
|
|||
return x_5;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_Decl_checkJoinPoints(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_6; lean_object* x_7;
|
||||
x_6 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_6);
|
||||
lean_dec(x_1);
|
||||
x_7 = l_Lean_Compiler_JoinPointChecker_checkJoinPoints_goLambda(x_6, x_2, x_3, x_4, x_5);
|
||||
return x_7;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Compiler_Decl_check___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -1369,21 +1392,35 @@ return x_13;
|
|||
static lean_object* _init_l_Lean_Compiler_Decl_check___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_from_bytes("declaration type mismatch at `", 30);
|
||||
return x_1;
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4;
|
||||
x_1 = l_Lean_Compiler_toDecl___closed__14;
|
||||
x_2 = l_Lean_Compiler_toDecl___closed__15;
|
||||
x_3 = lean_unsigned_to_nat(1u);
|
||||
x_4 = lean_alloc_ctor(0, 3, 0);
|
||||
lean_ctor_set(x_4, 0, x_1);
|
||||
lean_ctor_set(x_4, 1, x_2);
|
||||
lean_ctor_set(x_4, 2, x_3);
|
||||
return x_4;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_Decl_check___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_from_bytes("declaration type mismatch at `", 30);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_Decl_check___closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Compiler_Decl_check___closed__1;
|
||||
x_1 = l_Lean_Compiler_Decl_check___closed__2;
|
||||
x_2 = l_Lean_stringToMessageData(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_Decl_check___closed__3() {
|
||||
static lean_object* _init_l_Lean_Compiler_Decl_check___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -1391,16 +1428,16 @@ x_1 = lean_mk_string_from_bytes("`, value has type", 17);
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_Decl_check___closed__4() {
|
||||
static lean_object* _init_l_Lean_Compiler_Decl_check___closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Compiler_Decl_check___closed__3;
|
||||
x_1 = l_Lean_Compiler_Decl_check___closed__4;
|
||||
x_2 = l_Lean_stringToMessageData(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_Decl_check___closed__5() {
|
||||
static lean_object* _init_l_Lean_Compiler_Decl_check___closed__6() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -1408,16 +1445,16 @@ x_1 = lean_mk_string_from_bytes("\nbut is expected to have type", 29);
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_Decl_check___closed__6() {
|
||||
static lean_object* _init_l_Lean_Compiler_Decl_check___closed__7() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Compiler_Decl_check___closed__5;
|
||||
x_1 = l_Lean_Compiler_Decl_check___closed__6;
|
||||
x_2 = l_Lean_stringToMessageData(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_Decl_check___closed__7() {
|
||||
static lean_object* _init_l_Lean_Compiler_Decl_check___closed__8() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -1425,11 +1462,11 @@ x_1 = lean_mk_string_from_bytes("", 0);
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_Decl_check___closed__8() {
|
||||
static lean_object* _init_l_Lean_Compiler_Decl_check___closed__9() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Compiler_Decl_check___closed__7;
|
||||
x_1 = l_Lean_Compiler_Decl_check___closed__8;
|
||||
x_2 = l_Lean_stringToMessageData(x_1);
|
||||
return x_2;
|
||||
}
|
||||
|
|
@ -1444,7 +1481,6 @@ x_7 = lean_ctor_get(x_1, 1);
|
|||
lean_inc(x_7);
|
||||
x_8 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_8);
|
||||
lean_dec(x_1);
|
||||
x_9 = l_Lean_Compiler_toDecl___closed__14;
|
||||
lean_inc(x_4);
|
||||
lean_inc(x_3);
|
||||
|
|
@ -1452,186 +1488,246 @@ lean_inc(x_8);
|
|||
x_10 = l_Lean_Compiler_check(x_8, x_2, x_9, x_3, x_4, x_5);
|
||||
if (lean_obj_tag(x_10) == 0)
|
||||
{
|
||||
lean_object* x_11; lean_object* x_12;
|
||||
lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
|
||||
x_11 = lean_ctor_get(x_10, 1);
|
||||
lean_inc(x_11);
|
||||
lean_dec(x_10);
|
||||
x_12 = lean_st_ref_get(x_4, x_11);
|
||||
x_13 = lean_ctor_get(x_12, 1);
|
||||
lean_inc(x_13);
|
||||
lean_dec(x_12);
|
||||
x_14 = l_Lean_Compiler_Decl_check___closed__1;
|
||||
x_15 = lean_st_mk_ref(x_14, x_13);
|
||||
x_16 = lean_ctor_get(x_15, 0);
|
||||
lean_inc(x_16);
|
||||
x_17 = lean_ctor_get(x_15, 1);
|
||||
lean_inc(x_17);
|
||||
lean_dec(x_15);
|
||||
lean_inc(x_4);
|
||||
lean_inc(x_3);
|
||||
x_12 = l_Lean_Compiler_InferType_inferType(x_8, x_9, x_3, x_4, x_11);
|
||||
if (lean_obj_tag(x_12) == 0)
|
||||
lean_inc(x_16);
|
||||
x_18 = l_Lean_Compiler_Decl_checkJoinPoints(x_1, x_16, x_3, x_4, x_17);
|
||||
if (lean_obj_tag(x_18) == 0)
|
||||
{
|
||||
uint8_t x_13;
|
||||
x_13 = !lean_is_exclusive(x_12);
|
||||
if (x_13 == 0)
|
||||
lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
|
||||
x_19 = lean_ctor_get(x_18, 1);
|
||||
lean_inc(x_19);
|
||||
lean_dec(x_18);
|
||||
x_20 = lean_st_ref_get(x_4, x_19);
|
||||
x_21 = lean_ctor_get(x_20, 1);
|
||||
lean_inc(x_21);
|
||||
lean_dec(x_20);
|
||||
x_22 = lean_st_ref_get(x_16, x_21);
|
||||
lean_dec(x_16);
|
||||
x_23 = lean_ctor_get(x_22, 1);
|
||||
lean_inc(x_23);
|
||||
lean_dec(x_22);
|
||||
lean_inc(x_4);
|
||||
lean_inc(x_3);
|
||||
x_24 = l_Lean_Compiler_InferType_inferType(x_8, x_9, x_3, x_4, x_23);
|
||||
if (lean_obj_tag(x_24) == 0)
|
||||
{
|
||||
lean_object* x_14; lean_object* x_15; uint8_t x_16;
|
||||
x_14 = lean_ctor_get(x_12, 0);
|
||||
x_15 = lean_ctor_get(x_12, 1);
|
||||
lean_inc(x_14);
|
||||
uint8_t x_25;
|
||||
x_25 = !lean_is_exclusive(x_24);
|
||||
if (x_25 == 0)
|
||||
{
|
||||
lean_object* x_26; lean_object* x_27; uint8_t x_28;
|
||||
x_26 = lean_ctor_get(x_24, 0);
|
||||
x_27 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_26);
|
||||
lean_inc(x_7);
|
||||
x_16 = l_Lean_Compiler_compatibleTypes(x_7, x_14);
|
||||
if (x_16 == 0)
|
||||
x_28 = l_Lean_Compiler_compatibleTypes(x_7, x_26);
|
||||
if (x_28 == 0)
|
||||
{
|
||||
lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30;
|
||||
lean_free_object(x_12);
|
||||
x_17 = lean_alloc_ctor(4, 1, 0);
|
||||
lean_ctor_set(x_17, 0, x_6);
|
||||
x_18 = l_Lean_Compiler_Decl_check___closed__2;
|
||||
x_19 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_19, 0, x_18);
|
||||
lean_ctor_set(x_19, 1, x_17);
|
||||
x_20 = l_Lean_Compiler_Decl_check___closed__4;
|
||||
x_21 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_21, 0, x_19);
|
||||
lean_ctor_set(x_21, 1, x_20);
|
||||
x_22 = l_Lean_indentExpr(x_14);
|
||||
x_23 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_23, 0, x_21);
|
||||
lean_ctor_set(x_23, 1, x_22);
|
||||
x_24 = l_Lean_Compiler_Decl_check___closed__6;
|
||||
x_25 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_25, 0, x_23);
|
||||
lean_ctor_set(x_25, 1, x_24);
|
||||
x_26 = l_Lean_indentExpr(x_7);
|
||||
x_27 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_27, 0, x_25);
|
||||
lean_ctor_set(x_27, 1, x_26);
|
||||
x_28 = l_Lean_Compiler_Decl_check___closed__8;
|
||||
x_29 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_29, 0, x_27);
|
||||
lean_ctor_set(x_29, 1, x_28);
|
||||
x_30 = l_Lean_throwError___at_Lean_Compiler_Decl_check___spec__1(x_29, x_3, x_4, x_15);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
return x_30;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_31;
|
||||
lean_dec(x_14);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
x_31 = lean_box(0);
|
||||
lean_ctor_set(x_12, 0, x_31);
|
||||
return x_12;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_32; lean_object* x_33; uint8_t x_34;
|
||||
x_32 = lean_ctor_get(x_12, 0);
|
||||
x_33 = lean_ctor_get(x_12, 1);
|
||||
lean_inc(x_33);
|
||||
lean_inc(x_32);
|
||||
lean_dec(x_12);
|
||||
lean_inc(x_32);
|
||||
lean_inc(x_7);
|
||||
x_34 = l_Lean_Compiler_compatibleTypes(x_7, x_32);
|
||||
if (x_34 == 0)
|
||||
{
|
||||
lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; lean_object* x_48;
|
||||
x_35 = lean_alloc_ctor(4, 1, 0);
|
||||
lean_ctor_set(x_35, 0, x_6);
|
||||
x_36 = l_Lean_Compiler_Decl_check___closed__2;
|
||||
lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; lean_object* x_42;
|
||||
lean_free_object(x_24);
|
||||
x_29 = lean_alloc_ctor(4, 1, 0);
|
||||
lean_ctor_set(x_29, 0, x_6);
|
||||
x_30 = l_Lean_Compiler_Decl_check___closed__3;
|
||||
x_31 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_31, 0, x_30);
|
||||
lean_ctor_set(x_31, 1, x_29);
|
||||
x_32 = l_Lean_Compiler_Decl_check___closed__5;
|
||||
x_33 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_33, 0, x_31);
|
||||
lean_ctor_set(x_33, 1, x_32);
|
||||
x_34 = l_Lean_indentExpr(x_26);
|
||||
x_35 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_35, 0, x_33);
|
||||
lean_ctor_set(x_35, 1, x_34);
|
||||
x_36 = l_Lean_Compiler_Decl_check___closed__7;
|
||||
x_37 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_37, 0, x_36);
|
||||
lean_ctor_set(x_37, 1, x_35);
|
||||
x_38 = l_Lean_Compiler_Decl_check___closed__4;
|
||||
lean_ctor_set(x_37, 0, x_35);
|
||||
lean_ctor_set(x_37, 1, x_36);
|
||||
x_38 = l_Lean_indentExpr(x_7);
|
||||
x_39 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_39, 0, x_37);
|
||||
lean_ctor_set(x_39, 1, x_38);
|
||||
x_40 = l_Lean_indentExpr(x_32);
|
||||
x_40 = l_Lean_Compiler_Decl_check___closed__9;
|
||||
x_41 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_41, 0, x_39);
|
||||
lean_ctor_set(x_41, 1, x_40);
|
||||
x_42 = l_Lean_Compiler_Decl_check___closed__6;
|
||||
x_43 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_43, 0, x_41);
|
||||
lean_ctor_set(x_43, 1, x_42);
|
||||
x_44 = l_Lean_indentExpr(x_7);
|
||||
x_45 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_45, 0, x_43);
|
||||
lean_ctor_set(x_45, 1, x_44);
|
||||
x_46 = l_Lean_Compiler_Decl_check___closed__8;
|
||||
x_47 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_47, 0, x_45);
|
||||
lean_ctor_set(x_47, 1, x_46);
|
||||
x_48 = l_Lean_throwError___at_Lean_Compiler_Decl_check___spec__1(x_47, x_3, x_4, x_33);
|
||||
x_42 = l_Lean_throwError___at_Lean_Compiler_Decl_check___spec__1(x_41, x_3, x_4, x_27);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
return x_48;
|
||||
return x_42;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_49; lean_object* x_50;
|
||||
lean_dec(x_32);
|
||||
lean_object* x_43;
|
||||
lean_dec(x_26);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
x_49 = lean_box(0);
|
||||
x_50 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_50, 0, x_49);
|
||||
lean_ctor_set(x_50, 1, x_33);
|
||||
return x_50;
|
||||
}
|
||||
x_43 = lean_box(0);
|
||||
lean_ctor_set(x_24, 0, x_43);
|
||||
return x_24;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_51;
|
||||
lean_object* x_44; lean_object* x_45; uint8_t x_46;
|
||||
x_44 = lean_ctor_get(x_24, 0);
|
||||
x_45 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_45);
|
||||
lean_inc(x_44);
|
||||
lean_dec(x_24);
|
||||
lean_inc(x_44);
|
||||
lean_inc(x_7);
|
||||
x_46 = l_Lean_Compiler_compatibleTypes(x_7, x_44);
|
||||
if (x_46 == 0)
|
||||
{
|
||||
lean_object* x_47; lean_object* x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59; lean_object* x_60;
|
||||
x_47 = lean_alloc_ctor(4, 1, 0);
|
||||
lean_ctor_set(x_47, 0, x_6);
|
||||
x_48 = l_Lean_Compiler_Decl_check___closed__3;
|
||||
x_49 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_49, 0, x_48);
|
||||
lean_ctor_set(x_49, 1, x_47);
|
||||
x_50 = l_Lean_Compiler_Decl_check___closed__5;
|
||||
x_51 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_51, 0, x_49);
|
||||
lean_ctor_set(x_51, 1, x_50);
|
||||
x_52 = l_Lean_indentExpr(x_44);
|
||||
x_53 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_53, 0, x_51);
|
||||
lean_ctor_set(x_53, 1, x_52);
|
||||
x_54 = l_Lean_Compiler_Decl_check___closed__7;
|
||||
x_55 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_55, 0, x_53);
|
||||
lean_ctor_set(x_55, 1, x_54);
|
||||
x_56 = l_Lean_indentExpr(x_7);
|
||||
x_57 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_57, 0, x_55);
|
||||
lean_ctor_set(x_57, 1, x_56);
|
||||
x_58 = l_Lean_Compiler_Decl_check___closed__9;
|
||||
x_59 = lean_alloc_ctor(10, 2, 0);
|
||||
lean_ctor_set(x_59, 0, x_57);
|
||||
lean_ctor_set(x_59, 1, x_58);
|
||||
x_60 = l_Lean_throwError___at_Lean_Compiler_Decl_check___spec__1(x_59, x_3, x_4, x_45);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
return x_60;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_61; lean_object* x_62;
|
||||
lean_dec(x_44);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
x_51 = !lean_is_exclusive(x_12);
|
||||
if (x_51 == 0)
|
||||
{
|
||||
return x_12;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_52; lean_object* x_53; lean_object* x_54;
|
||||
x_52 = lean_ctor_get(x_12, 0);
|
||||
x_53 = lean_ctor_get(x_12, 1);
|
||||
lean_inc(x_53);
|
||||
lean_inc(x_52);
|
||||
lean_dec(x_12);
|
||||
x_54 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_54, 0, x_52);
|
||||
lean_ctor_set(x_54, 1, x_53);
|
||||
return x_54;
|
||||
x_61 = lean_box(0);
|
||||
x_62 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_62, 0, x_61);
|
||||
lean_ctor_set(x_62, 1, x_45);
|
||||
return x_62;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_55;
|
||||
uint8_t x_63;
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
x_63 = !lean_is_exclusive(x_24);
|
||||
if (x_63 == 0)
|
||||
{
|
||||
return x_24;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_64; lean_object* x_65; lean_object* x_66;
|
||||
x_64 = lean_ctor_get(x_24, 0);
|
||||
x_65 = lean_ctor_get(x_24, 1);
|
||||
lean_inc(x_65);
|
||||
lean_inc(x_64);
|
||||
lean_dec(x_24);
|
||||
x_66 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_66, 0, x_64);
|
||||
lean_ctor_set(x_66, 1, x_65);
|
||||
return x_66;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_67;
|
||||
lean_dec(x_16);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
x_55 = !lean_is_exclusive(x_10);
|
||||
if (x_55 == 0)
|
||||
x_67 = !lean_is_exclusive(x_18);
|
||||
if (x_67 == 0)
|
||||
{
|
||||
return x_18;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_68; lean_object* x_69; lean_object* x_70;
|
||||
x_68 = lean_ctor_get(x_18, 0);
|
||||
x_69 = lean_ctor_get(x_18, 1);
|
||||
lean_inc(x_69);
|
||||
lean_inc(x_68);
|
||||
lean_dec(x_18);
|
||||
x_70 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_70, 0, x_68);
|
||||
lean_ctor_set(x_70, 1, x_69);
|
||||
return x_70;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_71;
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
lean_dec(x_6);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_1);
|
||||
x_71 = !lean_is_exclusive(x_10);
|
||||
if (x_71 == 0)
|
||||
{
|
||||
return x_10;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_56; lean_object* x_57; lean_object* x_58;
|
||||
x_56 = lean_ctor_get(x_10, 0);
|
||||
x_57 = lean_ctor_get(x_10, 1);
|
||||
lean_inc(x_57);
|
||||
lean_inc(x_56);
|
||||
lean_object* x_72; lean_object* x_73; lean_object* x_74;
|
||||
x_72 = lean_ctor_get(x_10, 0);
|
||||
x_73 = lean_ctor_get(x_10, 1);
|
||||
lean_inc(x_73);
|
||||
lean_inc(x_72);
|
||||
lean_dec(x_10);
|
||||
x_58 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_58, 0, x_56);
|
||||
lean_ctor_set(x_58, 1, x_57);
|
||||
return x_58;
|
||||
x_74 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_74, 0, x_72);
|
||||
lean_ctor_set(x_74, 1, x_73);
|
||||
return x_74;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1941,12 +2037,176 @@ return x_74;
|
|||
}
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_Decl_toString___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_from_bytes(" : ", 3);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_Decl_toString___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_mk_string_from_bytes(" :=\n", 4);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_Decl_toString(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13;
|
||||
x_5 = lean_ctor_get(x_1, 1);
|
||||
lean_inc(x_5);
|
||||
x_6 = lean_st_ref_get(x_3, x_4);
|
||||
x_7 = lean_ctor_get(x_6, 1);
|
||||
lean_inc(x_7);
|
||||
lean_dec(x_6);
|
||||
x_8 = l_Lean_Compiler_toDecl___closed__29;
|
||||
x_9 = lean_st_mk_ref(x_8, x_7);
|
||||
x_10 = lean_ctor_get(x_9, 0);
|
||||
lean_inc(x_10);
|
||||
x_11 = lean_ctor_get(x_9, 1);
|
||||
lean_inc(x_11);
|
||||
lean_dec(x_9);
|
||||
x_12 = l_Lean_Compiler_toDecl___closed__16;
|
||||
x_13 = l_Lean_Meta_ppExpr(x_5, x_12, x_10, x_2, x_3, x_11);
|
||||
if (lean_obj_tag(x_13) == 0)
|
||||
{
|
||||
lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17;
|
||||
x_14 = lean_ctor_get(x_13, 0);
|
||||
lean_inc(x_14);
|
||||
x_15 = lean_ctor_get(x_13, 1);
|
||||
lean_inc(x_15);
|
||||
lean_dec(x_13);
|
||||
x_16 = lean_ctor_get(x_1, 2);
|
||||
lean_inc(x_16);
|
||||
x_17 = l_Lean_Meta_ppExpr(x_16, x_12, x_10, x_2, x_3, x_15);
|
||||
if (lean_obj_tag(x_17) == 0)
|
||||
{
|
||||
lean_object* x_18; lean_object* x_19; lean_object* x_20; uint8_t x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; uint8_t x_38;
|
||||
x_18 = lean_ctor_get(x_17, 0);
|
||||
lean_inc(x_18);
|
||||
x_19 = lean_ctor_get(x_17, 1);
|
||||
lean_inc(x_19);
|
||||
lean_dec(x_17);
|
||||
x_20 = lean_ctor_get(x_1, 0);
|
||||
lean_inc(x_20);
|
||||
lean_dec(x_1);
|
||||
x_21 = 1;
|
||||
x_22 = l_Lean_Name_toString(x_20, x_21);
|
||||
x_23 = l_Lean_Compiler_Decl_check___closed__8;
|
||||
x_24 = lean_string_append(x_23, x_22);
|
||||
lean_dec(x_22);
|
||||
x_25 = l_Lean_Compiler_Decl_toString___closed__1;
|
||||
x_26 = lean_string_append(x_24, x_25);
|
||||
x_27 = l_Std_Format_defWidth;
|
||||
x_28 = lean_format_pretty(x_14, x_27);
|
||||
x_29 = lean_string_append(x_26, x_28);
|
||||
lean_dec(x_28);
|
||||
x_30 = l_Lean_Compiler_Decl_toString___closed__2;
|
||||
x_31 = lean_string_append(x_29, x_30);
|
||||
x_32 = lean_format_pretty(x_18, x_27);
|
||||
x_33 = lean_string_append(x_31, x_32);
|
||||
lean_dec(x_32);
|
||||
x_34 = lean_string_append(x_33, x_23);
|
||||
x_35 = lean_st_ref_get(x_3, x_19);
|
||||
x_36 = lean_ctor_get(x_35, 1);
|
||||
lean_inc(x_36);
|
||||
lean_dec(x_35);
|
||||
x_37 = lean_st_ref_get(x_10, x_36);
|
||||
lean_dec(x_10);
|
||||
x_38 = !lean_is_exclusive(x_37);
|
||||
if (x_38 == 0)
|
||||
{
|
||||
lean_object* x_39;
|
||||
x_39 = lean_ctor_get(x_37, 0);
|
||||
lean_dec(x_39);
|
||||
lean_ctor_set(x_37, 0, x_34);
|
||||
return x_37;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_40; lean_object* x_41;
|
||||
x_40 = lean_ctor_get(x_37, 1);
|
||||
lean_inc(x_40);
|
||||
lean_dec(x_37);
|
||||
x_41 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_41, 0, x_34);
|
||||
lean_ctor_set(x_41, 1, x_40);
|
||||
return x_41;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_42;
|
||||
lean_dec(x_14);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_1);
|
||||
x_42 = !lean_is_exclusive(x_17);
|
||||
if (x_42 == 0)
|
||||
{
|
||||
return x_17;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_43; lean_object* x_44; lean_object* x_45;
|
||||
x_43 = lean_ctor_get(x_17, 0);
|
||||
x_44 = lean_ctor_get(x_17, 1);
|
||||
lean_inc(x_44);
|
||||
lean_inc(x_43);
|
||||
lean_dec(x_17);
|
||||
x_45 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_45, 0, x_43);
|
||||
lean_ctor_set(x_45, 1, x_44);
|
||||
return x_45;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_46;
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_1);
|
||||
x_46 = !lean_is_exclusive(x_13);
|
||||
if (x_46 == 0)
|
||||
{
|
||||
return x_13;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_47; lean_object* x_48; lean_object* x_49;
|
||||
x_47 = lean_ctor_get(x_13, 0);
|
||||
x_48 = lean_ctor_get(x_13, 1);
|
||||
lean_inc(x_48);
|
||||
lean_inc(x_47);
|
||||
lean_dec(x_13);
|
||||
x_49 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_49, 0, x_47);
|
||||
lean_ctor_set(x_49, 1, x_48);
|
||||
return x_49;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_Decl_toString___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_5;
|
||||
x_5 = l_Lean_Compiler_Decl_toString(x_1, x_2, x_3, x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
lean_object* initialize_Init(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Meta_Transform(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Meta_Check(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Compiler_LCNF(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Compiler_Check(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Compiler_CompilerM(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Compiler_JoinPoints(uint8_t builtin, lean_object*);
|
||||
static bool _G_initialized = false;
|
||||
LEAN_EXPORT lean_object* initialize_Lean_Compiler_Decl(uint8_t builtin, lean_object* w) {
|
||||
lean_object * res;
|
||||
|
|
@ -1970,6 +2230,9 @@ lean_dec_ref(res);
|
|||
res = initialize_Lean_Compiler_CompilerM(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
res = initialize_Lean_Compiler_JoinPoints(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
l_Lean_Compiler_macroInline___lambda__1___closed__1 = _init_l_Lean_Compiler_macroInline___lambda__1___closed__1();
|
||||
lean_mark_persistent(l_Lean_Compiler_macroInline___lambda__1___closed__1);
|
||||
l_Lean_Compiler_macroInline___closed__1 = _init_l_Lean_Compiler_macroInline___closed__1();
|
||||
|
|
@ -2056,6 +2319,12 @@ l_Lean_Compiler_Decl_check___closed__7 = _init_l_Lean_Compiler_Decl_check___clos
|
|||
lean_mark_persistent(l_Lean_Compiler_Decl_check___closed__7);
|
||||
l_Lean_Compiler_Decl_check___closed__8 = _init_l_Lean_Compiler_Decl_check___closed__8();
|
||||
lean_mark_persistent(l_Lean_Compiler_Decl_check___closed__8);
|
||||
l_Lean_Compiler_Decl_check___closed__9 = _init_l_Lean_Compiler_Decl_check___closed__9();
|
||||
lean_mark_persistent(l_Lean_Compiler_Decl_check___closed__9);
|
||||
l_Lean_Compiler_Decl_toString___closed__1 = _init_l_Lean_Compiler_Decl_toString___closed__1();
|
||||
lean_mark_persistent(l_Lean_Compiler_Decl_toString___closed__1);
|
||||
l_Lean_Compiler_Decl_toString___closed__2 = _init_l_Lean_Compiler_Decl_toString___closed__2();
|
||||
lean_mark_persistent(l_Lean_Compiler_Decl_toString___closed__2);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
1170
stage0/stdlib/Lean/Compiler/InitAttr.c
generated
1170
stage0/stdlib/Lean/Compiler/InitAttr.c
generated
File diff suppressed because it is too large
Load diff
1831
stage0/stdlib/Lean/Compiler/JoinPoints.c
generated
Normal file
1831
stage0/stdlib/Lean/Compiler/JoinPoints.c
generated
Normal file
File diff suppressed because it is too large
Load diff
978
stage0/stdlib/Lean/Compiler/Main.c
generated
978
stage0/stdlib/Lean/Compiler/Main.c
generated
File diff suppressed because it is too large
Load diff
59
stage0/stdlib/Lean/Compiler/Simp.c
generated
Normal file
59
stage0/stdlib/Lean/Compiler/Simp.c
generated
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
// Lean compiler output
|
||||
// Module: Lean.Compiler.Simp
|
||||
// Imports: Init Lean.Compiler.CompilerM Lean.Compiler.Decl
|
||||
#include <lean/lean.h>
|
||||
#if defined(__clang__)
|
||||
#pragma clang diagnostic ignored "-Wunused-parameter"
|
||||
#pragma clang diagnostic ignored "-Wunused-label"
|
||||
#elif defined(__GNUC__) && !defined(__CLANG__)
|
||||
#pragma GCC diagnostic ignored "-Wunused-parameter"
|
||||
#pragma GCC diagnostic ignored "-Wunused-label"
|
||||
#pragma GCC diagnostic ignored "-Wunused-but-set-variable"
|
||||
#endif
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_Simp_State_unit___default;
|
||||
LEAN_EXPORT lean_object* l_Lean_Compiler_Simp_Config_increaseFactor___default;
|
||||
static lean_object* _init_l_Lean_Compiler_Simp_Config_increaseFactor___default() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_unsigned_to_nat(2u);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Compiler_Simp_State_unit___default() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
x_1 = lean_box(0);
|
||||
return x_1;
|
||||
}
|
||||
}
|
||||
lean_object* initialize_Init(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Compiler_CompilerM(uint8_t builtin, lean_object*);
|
||||
lean_object* initialize_Lean_Compiler_Decl(uint8_t builtin, lean_object*);
|
||||
static bool _G_initialized = false;
|
||||
LEAN_EXPORT lean_object* initialize_Lean_Compiler_Simp(uint8_t builtin, lean_object* w) {
|
||||
lean_object * res;
|
||||
if (_G_initialized) return lean_io_result_mk_ok(lean_box(0));
|
||||
_G_initialized = true;
|
||||
res = initialize_Init(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
res = initialize_Lean_Compiler_CompilerM(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
res = initialize_Lean_Compiler_Decl(builtin, lean_io_mk_world());
|
||||
if (lean_io_result_is_error(res)) return res;
|
||||
lean_dec_ref(res);
|
||||
l_Lean_Compiler_Simp_Config_increaseFactor___default = _init_l_Lean_Compiler_Simp_Config_increaseFactor___default();
|
||||
lean_mark_persistent(l_Lean_Compiler_Simp_Config_increaseFactor___default);
|
||||
l_Lean_Compiler_Simp_State_unit___default = _init_l_Lean_Compiler_Simp_State_unit___default();
|
||||
lean_mark_persistent(l_Lean_Compiler_Simp_State_unit___default);
|
||||
return lean_io_result_mk_ok(lean_box(0));
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
1645
stage0/stdlib/Lean/Compiler/Stage1.c
generated
Normal file
1645
stage0/stdlib/Lean/Compiler/Stage1.c
generated
Normal file
File diff suppressed because it is too large
Load diff
1004
stage0/stdlib/Lean/Deprecated.c
generated
1004
stage0/stdlib/Lean/Deprecated.c
generated
File diff suppressed because it is too large
Load diff
734
stage0/stdlib/Lean/Elab/BuiltinCommand.c
generated
734
stage0/stdlib/Lean/Elab/BuiltinCommand.c
generated
File diff suppressed because it is too large
Load diff
48
stage0/stdlib/Lean/Elab/BuiltinNotation.c
generated
48
stage0/stdlib/Lean/Elab/BuiltinNotation.c
generated
|
|
@ -23,6 +23,7 @@ static lean_object* l_Lean_Elab_Term_expandDbgTrace___closed__27;
|
|||
LEAN_EXPORT uint8_t l_Lean_Elab_Term_elabCDotFunctionAlias_x3f___lambda__1(lean_object*);
|
||||
static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__26;
|
||||
static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_withLocalIdentFor___closed__1;
|
||||
static lean_object* l_Lean_Elab_Term_hasCDot___closed__2;
|
||||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_expandAssert_declRange(lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Term_elabAnonymousCtor_declRange___closed__1;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Term_elabParen_declRange___closed__3;
|
||||
|
|
@ -148,11 +149,13 @@ lean_object* l_Lean_MonadRef_mkInfoFromRefPos___at___aux__Init__Notation______ma
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabSubst___lambda__6___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__15;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Term_expandParen_declRange___closed__2;
|
||||
static lean_object* l_Lean_Elab_Term_hasCDot___closed__1;
|
||||
static lean_object* l_Lean_Elab_Term_mkPairs_loop___closed__6;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabAnonymousCtor___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_expr_instantiate1(lean_object*, lean_object*);
|
||||
lean_object* l_Array_toSubarray___rarg(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_elabSubst___lambda__6___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_hasCDot___spec__1___boxed(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_array_push(lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Term_elabAnonymousCtor___closed__3;
|
||||
lean_object* lean_array_get_size(lean_object*);
|
||||
|
|
@ -186,6 +189,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_expandShow_declRange___closed_
|
|||
static lean_object* l_Lean_Elab_Term_expandDbgTrace___closed__1;
|
||||
static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__39;
|
||||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabSorry_docString(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_hasCDot___boxed(lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_elabTrailingParserMacro___closed__1;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Term_expandParen___closed__1;
|
||||
static lean_object* l_Lean_Elab_Term_elabSubst___lambda__6___closed__2;
|
||||
|
|
@ -411,7 +415,6 @@ lean_object* l_Lean_addBuiltinDeclarationRanges(lean_object*, lean_object*, lean
|
|||
static lean_object* l_Lean_Elab_Term_expandCDot_x3f_go___closed__4;
|
||||
uint8_t l_Lean_Environment_contains(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_throwMaxRecDepthAt___at_Lean_Elab_Term_elabCDotFunctionAlias_x3f___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___spec__1___boxed(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___closed__9;
|
||||
static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__16;
|
||||
lean_object* l_Lean_mkArrow(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -514,7 +517,6 @@ static lean_object* l___regBuiltin_Lean_Elab_Term_expandShow_declRange___closed_
|
|||
static lean_object* l___regBuiltin_Lean_Elab_Term_expandHave_declRange___closed__5;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_expandHave(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_expandShow___closed__23;
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___boxed(lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Term_elabNoindex_declRange___closed__3;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Term_elabTrailingParserMacro___closed__3;
|
||||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_expandSuffices_declRange(lean_object*);
|
||||
|
|
@ -540,7 +542,6 @@ static lean_object* l_Lean_Elab_Term_expandHave___closed__7;
|
|||
static lean_object* l___regBuiltin_Lean_Elab_Term_elabCoe___closed__6;
|
||||
lean_object* lean_environment_main_module(lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Term_expandSuffices_declRange___closed__6;
|
||||
static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___closed__1;
|
||||
static lean_object* l_Lean_Elab_Term_elabStateRefT___lambda__1___closed__4;
|
||||
static lean_object* l_Lean_Elab_Term_elabSubst___closed__11;
|
||||
static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__5;
|
||||
|
|
@ -560,6 +561,7 @@ static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elab
|
|||
static lean_object* l___regBuiltin_Lean_Elab_Term_elabStateRefT___closed__5;
|
||||
lean_object* l_Lean_Syntax_getArgs(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabLeadingParserMacro___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l_Lean_Elab_Term_hasCDot(lean_object*);
|
||||
uint8_t l_Lean_BinderInfo_isExplicit(uint8_t);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabSubst___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Syntax_getKind(lean_object*);
|
||||
|
|
@ -594,7 +596,6 @@ static lean_object* l_Lean_Elab_Term_elabSorry___closed__3;
|
|||
static lean_object* l_Lean_Elab_Term_elabPanic___closed__12;
|
||||
static lean_object* l_Lean_Elab_Term_expandDbgTrace___closed__20;
|
||||
static lean_object* l_Lean_Elab_Term_expandHave___closed__3;
|
||||
LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___spec__1(lean_object*, size_t, size_t);
|
||||
lean_object* l_Array_ofSubarray___rarg(lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_elabStateRefT___lambda__1___closed__1;
|
||||
static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabParserMacroAux___closed__42;
|
||||
|
|
@ -655,7 +656,6 @@ static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__4;
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabTrailingParserMacro___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_elabSubst___closed__9;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Term_elabCoe___closed__5;
|
||||
static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___closed__2;
|
||||
static lean_object* l_Lean_Elab_Term_elabPanic___closed__9;
|
||||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabSubst_docString(lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_elabAnonymousCtor___lambda__3___closed__8;
|
||||
|
|
@ -757,7 +757,6 @@ extern lean_object* l_Lean_levelOne;
|
|||
static lean_object* l___regBuiltin_Lean_Elab_Term_expandSuffices___closed__2;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Term_elabCoe___closed__7;
|
||||
lean_object* l_Lean_Meta_mkEq(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot(lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabTParserMacroAux___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_elabSubst___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_expandAssert(lean_object*);
|
||||
|
|
@ -786,6 +785,7 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Term_elabNoindex_declRange(lea
|
|||
static lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_elabTParserMacroAux___closed__4;
|
||||
LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_elabAnonymousCtor___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Term_elabNoindex_declRange___closed__4;
|
||||
LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Term_hasCDot___spec__1(lean_object*, size_t, size_t);
|
||||
LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Term_elabAnonymousCtor___spec__4(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Term_expandHave_declRange___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_getRefPosition___at_Lean_Elab_Term_elabPanic___spec__1___rarg(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -12536,7 +12536,7 @@ lean_dec(x_1);
|
|||
return x_4;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___spec__1(lean_object* x_1, size_t x_2, size_t x_3) {
|
||||
LEAN_EXPORT uint8_t l_Array_anyMUnsafe_any___at_Lean_Elab_Term_hasCDot___spec__1(lean_object* x_1, size_t x_2, size_t x_3) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_4;
|
||||
|
|
@ -12545,7 +12545,7 @@ if (x_4 == 0)
|
|||
{
|
||||
lean_object* x_5; uint8_t x_6;
|
||||
x_5 = lean_array_uget(x_1, x_2);
|
||||
x_6 = l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot(x_5);
|
||||
x_6 = l_Lean_Elab_Term_hasCDot(x_5);
|
||||
if (x_6 == 0)
|
||||
{
|
||||
size_t x_7; size_t x_8;
|
||||
|
|
@ -12569,7 +12569,7 @@ return x_11;
|
|||
}
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___closed__1() {
|
||||
static lean_object* _init_l_Lean_Elab_Term_hasCDot___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -12577,17 +12577,17 @@ x_1 = lean_mk_string_from_bytes("cdot", 4);
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___closed__2() {
|
||||
static lean_object* _init_l_Lean_Elab_Term_hasCDot___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Elab_Term_elabAnonymousCtor___closed__3;
|
||||
x_2 = l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___closed__1;
|
||||
x_2 = l_Lean_Elab_Term_hasCDot___closed__1;
|
||||
x_3 = l_Lean_Name_str___override(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT uint8_t l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot(lean_object* x_1) {
|
||||
LEAN_EXPORT uint8_t l_Lean_Elab_Term_hasCDot(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
if (lean_obj_tag(x_1) == 1)
|
||||
|
|
@ -12603,7 +12603,7 @@ x_5 = lean_name_eq(x_2, x_4);
|
|||
if (x_5 == 0)
|
||||
{
|
||||
lean_object* x_6; uint8_t x_7;
|
||||
x_6 = l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___closed__2;
|
||||
x_6 = l_Lean_Elab_Term_hasCDot___closed__2;
|
||||
x_7 = lean_name_eq(x_2, x_6);
|
||||
lean_dec(x_2);
|
||||
if (x_7 == 0)
|
||||
|
|
@ -12638,7 +12638,7 @@ size_t x_14; size_t x_15; uint8_t x_16;
|
|||
x_14 = 0;
|
||||
x_15 = lean_usize_of_nat(x_8);
|
||||
lean_dec(x_8);
|
||||
x_16 = l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___spec__1(x_3, x_14, x_15);
|
||||
x_16 = l_Array_anyMUnsafe_any___at_Lean_Elab_Term_hasCDot___spec__1(x_3, x_14, x_15);
|
||||
lean_dec(x_3);
|
||||
return x_16;
|
||||
}
|
||||
|
|
@ -12670,7 +12670,7 @@ return x_19;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at_Lean_Elab_Term_hasCDot___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3) {
|
||||
_start:
|
||||
{
|
||||
size_t x_4; size_t x_5; uint8_t x_6; lean_object* x_7;
|
||||
|
|
@ -12678,17 +12678,17 @@ x_4 = lean_unbox_usize(x_2);
|
|||
lean_dec(x_2);
|
||||
x_5 = lean_unbox_usize(x_3);
|
||||
lean_dec(x_3);
|
||||
x_6 = l_Array_anyMUnsafe_any___at___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___spec__1(x_1, x_4, x_5);
|
||||
x_6 = l_Array_anyMUnsafe_any___at_Lean_Elab_Term_hasCDot___spec__1(x_1, x_4, x_5);
|
||||
lean_dec(x_1);
|
||||
x_7 = lean_box(x_6);
|
||||
return x_7;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___boxed(lean_object* x_1) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_hasCDot___boxed(lean_object* x_1) {
|
||||
_start:
|
||||
{
|
||||
uint8_t x_2; lean_object* x_3;
|
||||
x_2 = l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot(x_1);
|
||||
x_2 = l_Lean_Elab_Term_hasCDot(x_1);
|
||||
x_3 = lean_box(x_2);
|
||||
return x_3;
|
||||
}
|
||||
|
|
@ -12807,7 +12807,7 @@ x_6 = l_Lean_Syntax_isOfKind(x_1, x_5);
|
|||
if (x_6 == 0)
|
||||
{
|
||||
lean_object* x_7; uint8_t x_8;
|
||||
x_7 = l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___closed__2;
|
||||
x_7 = l_Lean_Elab_Term_hasCDot___closed__2;
|
||||
lean_inc(x_1);
|
||||
x_8 = l_Lean_Syntax_isOfKind(x_1, x_7);
|
||||
if (x_8 == 0)
|
||||
|
|
@ -13720,7 +13720,7 @@ _start:
|
|||
{
|
||||
uint8_t x_4;
|
||||
lean_inc(x_1);
|
||||
x_4 = l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot(x_1);
|
||||
x_4 = l_Lean_Elab_Term_hasCDot(x_1);
|
||||
if (x_4 == 0)
|
||||
{
|
||||
lean_object* x_5; lean_object* x_6;
|
||||
|
|
@ -21992,10 +21992,10 @@ l_Lean_Elab_Term_mkPairs_loop___closed__8 = _init_l_Lean_Elab_Term_mkPairs_loop_
|
|||
lean_mark_persistent(l_Lean_Elab_Term_mkPairs_loop___closed__8);
|
||||
l_Lean_Elab_Term_mkPairs_loop___closed__9 = _init_l_Lean_Elab_Term_mkPairs_loop___closed__9();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_mkPairs_loop___closed__9);
|
||||
l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___closed__1 = _init_l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___closed__1();
|
||||
lean_mark_persistent(l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___closed__1);
|
||||
l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___closed__2 = _init_l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___closed__2();
|
||||
lean_mark_persistent(l___private_Lean_Elab_BuiltinNotation_0__Lean_Elab_Term_hasCDot___closed__2);
|
||||
l_Lean_Elab_Term_hasCDot___closed__1 = _init_l_Lean_Elab_Term_hasCDot___closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_hasCDot___closed__1);
|
||||
l_Lean_Elab_Term_hasCDot___closed__2 = _init_l_Lean_Elab_Term_hasCDot___closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_hasCDot___closed__2);
|
||||
l_Lean_Elab_Term_expandCDot_x3f_go___closed__1 = _init_l_Lean_Elab_Term_expandCDot_x3f_go___closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_Term_expandCDot_x3f_go___closed__1);
|
||||
l_Lean_Elab_Term_expandCDot_x3f_go___closed__2 = _init_l_Lean_Elab_Term_expandCDot_x3f_go___closed__2();
|
||||
|
|
|
|||
4146
stage0/stdlib/Lean/Elab/Extra.c
generated
4146
stage0/stdlib/Lean/Elab/Extra.c
generated
File diff suppressed because it is too large
Load diff
1058
stage0/stdlib/Lean/Elab/GenInjective.c
generated
1058
stage0/stdlib/Lean/Elab/GenInjective.c
generated
File diff suppressed because it is too large
Load diff
8
stage0/stdlib/Lean/Elab/Match.c
generated
8
stage0/stdlib/Lean/Elab/Match.c
generated
|
|
@ -459,6 +459,7 @@ static lean_object* l_Array_mapMUnsafe_map___at___private_Lean_Elab_Match_0__Lea
|
|||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at___private_Lean_Elab_Match_0__Lean_Elab_Term_generalize___spec__2(lean_object*, size_t, size_t, lean_object*);
|
||||
static lean_object* l_Lean_Meta_transform___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrs___spec__1___closed__2;
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_ToDepElimPattern_topSort_visit(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Std_RBNode_insert___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__1(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Term_precheckMatch(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_Match_isNamedPattern_x3f(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrs___spec__8___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -484,7 +485,6 @@ LEAN_EXPORT lean_object* l_Lean_Meta_withLetDecl___at_Lean_Elab_Term_ToDepElimPa
|
|||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at___private_Lean_Elab_Match_0__Lean_Elab_Term_tryPostponeIfDiscrTypeIsMVar___spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Term_elabNoMatch___closed__2;
|
||||
lean_object* lean_st_mk_ref(lean_object*, lean_object*);
|
||||
lean_object* l_Std_RBNode_insert___at_Lean_Meta_ToHide_moveToHiddeProp___spec__1(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchAltViews_loop(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_transform_visit_visitLet___at___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrs___spec__6___lambda__1(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Match_0__Lean_Elab_Term_elabMatchTypeAndDiscrs_elabDiscrsWitMatchType(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -22226,7 +22226,7 @@ lean_inc(x_30);
|
|||
lean_dec(x_26);
|
||||
x_31 = lean_box(0);
|
||||
lean_inc(x_11);
|
||||
x_32 = l_Std_RBNode_insert___at_Lean_Meta_ToHide_moveToHiddeProp___spec__1(x_28, x_11, x_31);
|
||||
x_32 = l_Std_RBNode_insert___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__1(x_28, x_11, x_31);
|
||||
x_33 = lean_alloc_ctor(0, 3, 0);
|
||||
lean_ctor_set(x_33, 0, x_32);
|
||||
lean_ctor_set(x_33, 1, x_29);
|
||||
|
|
@ -22392,7 +22392,7 @@ lean_inc(x_76);
|
|||
lean_dec(x_72);
|
||||
x_77 = lean_box(0);
|
||||
lean_inc(x_11);
|
||||
x_78 = l_Std_RBNode_insert___at_Lean_Meta_ToHide_moveToHiddeProp___spec__1(x_74, x_11, x_77);
|
||||
x_78 = l_Std_RBNode_insert___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__1(x_74, x_11, x_77);
|
||||
x_79 = lean_alloc_ctor(0, 3, 0);
|
||||
lean_ctor_set(x_79, 0, x_78);
|
||||
lean_ctor_set(x_79, 1, x_75);
|
||||
|
|
@ -43845,7 +43845,7 @@ lean_dec(x_21);
|
|||
x_32 = lean_array_push(x_3, x_18);
|
||||
x_33 = l_Lean_Expr_fvarId_x21(x_28);
|
||||
x_34 = lean_box(0);
|
||||
x_35 = l_Std_RBNode_insert___at_Lean_Meta_ToHide_moveToHiddeProp___spec__1(x_4, x_33, x_34);
|
||||
x_35 = l_Std_RBNode_insert___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__1(x_4, x_33, x_34);
|
||||
x_2 = x_19;
|
||||
x_3 = x_32;
|
||||
x_4 = x_35;
|
||||
|
|
|
|||
5736
stage0/stdlib/Lean/Elab/Mixfix.c
generated
5736
stage0/stdlib/Lean/Elab/Mixfix.c
generated
File diff suppressed because it is too large
Load diff
1718
stage0/stdlib/Lean/Elab/Notation.c
generated
1718
stage0/stdlib/Lean/Elab/Notation.c
generated
File diff suppressed because it is too large
Load diff
172
stage0/stdlib/Lean/Elab/Tactic/Conv/Delta.c
generated
172
stage0/stdlib/Lean/Elab/Tactic/Conv/Delta.c
generated
|
|
@ -21,14 +21,14 @@ static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalDelta___closed__1;
|
|||
lean_object* l_Lean_instantiateMVars___at_Lean_Elab_Tactic_getMainTarget___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalDelta_declRange___closed__1;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalDelta___closed__2;
|
||||
lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Tactic_Conv_changeLhs(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint8_t lean_name_eq(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Tactic_withMainContext___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalDelta___closed__12;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalDelta___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalDelta___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalDelta_declRange___closed__4;
|
||||
lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Tactic_evalDelta___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalDelta___closed__15;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalDelta___closed__14;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalDelta___closed__5;
|
||||
|
|
@ -65,10 +65,11 @@ x_3 = lean_name_eq(x_2, x_1);
|
|||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalDelta___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalDelta___lambda__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_11;
|
||||
lean_object* x_12;
|
||||
lean_inc(x_10);
|
||||
lean_inc(x_9);
|
||||
lean_inc(x_8);
|
||||
lean_inc(x_7);
|
||||
|
|
@ -76,16 +77,16 @@ lean_inc(x_6);
|
|||
lean_inc(x_5);
|
||||
lean_inc(x_4);
|
||||
lean_inc(x_3);
|
||||
lean_inc(x_2);
|
||||
x_11 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_evalDelta___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
|
||||
if (lean_obj_tag(x_11) == 0)
|
||||
x_12 = l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Tactic_evalDelta___spec__1(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
|
||||
if (lean_obj_tag(x_12) == 0)
|
||||
{
|
||||
lean_object* x_12; lean_object* x_13; lean_object* x_14;
|
||||
x_12 = lean_ctor_get(x_11, 0);
|
||||
lean_inc(x_12);
|
||||
x_13 = lean_ctor_get(x_11, 1);
|
||||
lean_object* x_13; lean_object* x_14; lean_object* x_15;
|
||||
x_13 = lean_ctor_get(x_12, 0);
|
||||
lean_inc(x_13);
|
||||
lean_dec(x_11);
|
||||
x_14 = lean_ctor_get(x_12, 1);
|
||||
lean_inc(x_14);
|
||||
lean_dec(x_12);
|
||||
lean_inc(x_10);
|
||||
lean_inc(x_9);
|
||||
lean_inc(x_8);
|
||||
lean_inc(x_7);
|
||||
|
|
@ -93,41 +94,41 @@ lean_inc(x_6);
|
|||
lean_inc(x_5);
|
||||
lean_inc(x_4);
|
||||
lean_inc(x_3);
|
||||
lean_inc(x_2);
|
||||
x_14 = l_Lean_Elab_Tactic_Conv_getLhs(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_13);
|
||||
if (lean_obj_tag(x_14) == 0)
|
||||
x_15 = l_Lean_Elab_Tactic_Conv_getLhs(x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_14);
|
||||
if (lean_obj_tag(x_15) == 0)
|
||||
{
|
||||
lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21;
|
||||
x_15 = lean_ctor_get(x_14, 0);
|
||||
lean_inc(x_15);
|
||||
x_16 = lean_ctor_get(x_14, 1);
|
||||
lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; lean_object* x_20; lean_object* x_21; lean_object* x_22;
|
||||
x_16 = lean_ctor_get(x_15, 0);
|
||||
lean_inc(x_16);
|
||||
lean_dec(x_14);
|
||||
x_17 = l_Lean_instantiateMVars___at_Lean_Elab_Tactic_getMainTarget___spec__1(x_15, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_16);
|
||||
x_18 = lean_ctor_get(x_17, 0);
|
||||
lean_inc(x_18);
|
||||
x_19 = lean_ctor_get(x_17, 1);
|
||||
x_17 = lean_ctor_get(x_15, 1);
|
||||
lean_inc(x_17);
|
||||
lean_dec(x_15);
|
||||
x_18 = l_Lean_instantiateMVars___at_Lean_Elab_Tactic_getMainTarget___spec__1(x_16, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_17);
|
||||
x_19 = lean_ctor_get(x_18, 0);
|
||||
lean_inc(x_19);
|
||||
lean_dec(x_17);
|
||||
x_20 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_Conv_evalDelta___lambda__1___boxed), 2, 1);
|
||||
lean_closure_set(x_20, 0, x_12);
|
||||
x_20 = lean_ctor_get(x_18, 1);
|
||||
lean_inc(x_20);
|
||||
lean_dec(x_18);
|
||||
x_21 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_Conv_evalDelta___lambda__1___boxed), 2, 1);
|
||||
lean_closure_set(x_21, 0, x_13);
|
||||
lean_inc(x_10);
|
||||
lean_inc(x_9);
|
||||
lean_inc(x_8);
|
||||
x_21 = l_Lean_Meta_deltaExpand(x_18, x_20, x_8, x_9, x_19);
|
||||
if (lean_obj_tag(x_21) == 0)
|
||||
x_22 = l_Lean_Meta_deltaExpand(x_19, x_21, x_9, x_10, x_20);
|
||||
if (lean_obj_tag(x_22) == 0)
|
||||
{
|
||||
lean_object* x_22; lean_object* x_23; lean_object* x_24;
|
||||
x_22 = lean_ctor_get(x_21, 0);
|
||||
lean_inc(x_22);
|
||||
x_23 = lean_ctor_get(x_21, 1);
|
||||
lean_object* x_23; lean_object* x_24; lean_object* x_25;
|
||||
x_23 = lean_ctor_get(x_22, 0);
|
||||
lean_inc(x_23);
|
||||
lean_dec(x_21);
|
||||
x_24 = l_Lean_Elab_Tactic_Conv_changeLhs(x_22, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_23);
|
||||
return x_24;
|
||||
x_24 = lean_ctor_get(x_22, 1);
|
||||
lean_inc(x_24);
|
||||
lean_dec(x_22);
|
||||
x_25 = l_Lean_Elab_Tactic_Conv_changeLhs(x_23, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_24);
|
||||
return x_25;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_25;
|
||||
uint8_t x_26;
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
|
|
@ -135,31 +136,31 @@ lean_dec(x_6);
|
|||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_25 = !lean_is_exclusive(x_21);
|
||||
if (x_25 == 0)
|
||||
x_26 = !lean_is_exclusive(x_22);
|
||||
if (x_26 == 0)
|
||||
{
|
||||
return x_21;
|
||||
return x_22;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_26; lean_object* x_27; lean_object* x_28;
|
||||
x_26 = lean_ctor_get(x_21, 0);
|
||||
x_27 = lean_ctor_get(x_21, 1);
|
||||
lean_object* x_27; lean_object* x_28; lean_object* x_29;
|
||||
x_27 = lean_ctor_get(x_22, 0);
|
||||
x_28 = lean_ctor_get(x_22, 1);
|
||||
lean_inc(x_28);
|
||||
lean_inc(x_27);
|
||||
lean_inc(x_26);
|
||||
lean_dec(x_21);
|
||||
x_28 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_28, 0, x_26);
|
||||
lean_ctor_set(x_28, 1, x_27);
|
||||
return x_28;
|
||||
lean_dec(x_22);
|
||||
x_29 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_29, 0, x_27);
|
||||
lean_ctor_set(x_29, 1, x_28);
|
||||
return x_29;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_29;
|
||||
lean_dec(x_12);
|
||||
uint8_t x_30;
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
|
|
@ -167,30 +168,30 @@ lean_dec(x_6);
|
|||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_29 = !lean_is_exclusive(x_14);
|
||||
if (x_29 == 0)
|
||||
x_30 = !lean_is_exclusive(x_15);
|
||||
if (x_30 == 0)
|
||||
{
|
||||
return x_14;
|
||||
return x_15;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_30; lean_object* x_31; lean_object* x_32;
|
||||
x_30 = lean_ctor_get(x_14, 0);
|
||||
x_31 = lean_ctor_get(x_14, 1);
|
||||
lean_object* x_31; lean_object* x_32; lean_object* x_33;
|
||||
x_31 = lean_ctor_get(x_15, 0);
|
||||
x_32 = lean_ctor_get(x_15, 1);
|
||||
lean_inc(x_32);
|
||||
lean_inc(x_31);
|
||||
lean_inc(x_30);
|
||||
lean_dec(x_14);
|
||||
x_32 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_32, 0, x_30);
|
||||
lean_ctor_set(x_32, 1, x_31);
|
||||
return x_32;
|
||||
lean_dec(x_15);
|
||||
x_33 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_33, 0, x_31);
|
||||
lean_ctor_set(x_33, 1, x_32);
|
||||
return x_33;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_33;
|
||||
uint8_t x_34;
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
|
|
@ -198,24 +199,23 @@ lean_dec(x_6);
|
|||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_33 = !lean_is_exclusive(x_11);
|
||||
if (x_33 == 0)
|
||||
x_34 = !lean_is_exclusive(x_12);
|
||||
if (x_34 == 0)
|
||||
{
|
||||
return x_11;
|
||||
return x_12;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_34; lean_object* x_35; lean_object* x_36;
|
||||
x_34 = lean_ctor_get(x_11, 0);
|
||||
x_35 = lean_ctor_get(x_11, 1);
|
||||
lean_object* x_35; lean_object* x_36; lean_object* x_37;
|
||||
x_35 = lean_ctor_get(x_12, 0);
|
||||
x_36 = lean_ctor_get(x_12, 1);
|
||||
lean_inc(x_36);
|
||||
lean_inc(x_35);
|
||||
lean_inc(x_34);
|
||||
lean_dec(x_11);
|
||||
x_36 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_36, 0, x_34);
|
||||
lean_ctor_set(x_36, 1, x_35);
|
||||
return x_36;
|
||||
lean_dec(x_12);
|
||||
x_37 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_37, 0, x_35);
|
||||
lean_ctor_set(x_37, 1, x_36);
|
||||
return x_37;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -223,13 +223,15 @@ return x_36;
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalDelta(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
|
||||
lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
|
||||
x_11 = lean_unsigned_to_nat(1u);
|
||||
x_12 = l_Lean_Syntax_getArg(x_1, x_11);
|
||||
x_13 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_Conv_evalDelta___lambda__2), 10, 1);
|
||||
lean_closure_set(x_13, 0, x_12);
|
||||
x_14 = l_Lean_Elab_Tactic_withMainContext___rarg(x_13, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
|
||||
return x_14;
|
||||
x_13 = lean_box(0);
|
||||
x_14 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_Conv_evalDelta___lambda__2), 11, 2);
|
||||
lean_closure_set(x_14, 0, x_12);
|
||||
lean_closure_set(x_14, 1, x_13);
|
||||
x_15 = l_Lean_Elab_Tactic_withMainContext___rarg(x_14, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
|
||||
return x_15;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalDelta___lambda__1___boxed(lean_object* x_1, lean_object* x_2) {
|
||||
|
|
|
|||
158
stage0/stdlib/Lean/Elab/Tactic/Conv/Unfold.c
generated
158
stage0/stdlib/Lean/Elab/Tactic/Conv/Unfold.c
generated
|
|
@ -16,9 +16,9 @@ extern "C" {
|
|||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalUnfold___closed__16;
|
||||
lean_object* l_Lean_Name_str___override(lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalUnfold___closed__10;
|
||||
lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_elabSimpArgs___spec__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Tactic_withMainContext___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalUnfold_declRange___closed__7;
|
||||
lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Tactic_elabSimpArgs___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_KeyedDeclsAttribute_addBuiltin___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalUnfold_declRange(lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalUnfold___closed__14;
|
||||
|
|
@ -41,7 +41,7 @@ static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalUnfold_declRange___
|
|||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalUnfold___closed__6;
|
||||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalUnfold(lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalUnfold___closed__9;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalUnfold___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalUnfold___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalUnfold___closed__12;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalUnfold___closed__11;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalUnfold_declRange___closed__2;
|
||||
|
|
@ -53,10 +53,11 @@ static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalUnfold___closed__18
|
|||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalUnfold___closed__8;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_Conv_evalUnfold___closed__17;
|
||||
lean_object* l_Lean_Elab_Tactic_Conv_applySimpResult(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalUnfold___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalUnfold___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10, lean_object* x_11) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_11;
|
||||
lean_object* x_12;
|
||||
lean_inc(x_10);
|
||||
lean_inc(x_9);
|
||||
lean_inc(x_8);
|
||||
lean_inc(x_7);
|
||||
|
|
@ -64,16 +65,16 @@ lean_inc(x_6);
|
|||
lean_inc(x_5);
|
||||
lean_inc(x_4);
|
||||
lean_inc(x_3);
|
||||
lean_inc(x_2);
|
||||
x_11 = l_Lean_resolveGlobalConstNoOverload___at_Lean_Elab_Tactic_elabSimpArgs___spec__3(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
|
||||
if (lean_obj_tag(x_11) == 0)
|
||||
x_12 = l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Elab_Tactic_elabSimpArgs___spec__2(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_11);
|
||||
if (lean_obj_tag(x_12) == 0)
|
||||
{
|
||||
lean_object* x_12; lean_object* x_13; lean_object* x_14;
|
||||
x_12 = lean_ctor_get(x_11, 0);
|
||||
lean_inc(x_12);
|
||||
x_13 = lean_ctor_get(x_11, 1);
|
||||
lean_object* x_13; lean_object* x_14; lean_object* x_15;
|
||||
x_13 = lean_ctor_get(x_12, 0);
|
||||
lean_inc(x_13);
|
||||
lean_dec(x_11);
|
||||
x_14 = lean_ctor_get(x_12, 1);
|
||||
lean_inc(x_14);
|
||||
lean_dec(x_12);
|
||||
lean_inc(x_10);
|
||||
lean_inc(x_9);
|
||||
lean_inc(x_8);
|
||||
lean_inc(x_7);
|
||||
|
|
@ -81,35 +82,35 @@ lean_inc(x_6);
|
|||
lean_inc(x_5);
|
||||
lean_inc(x_4);
|
||||
lean_inc(x_3);
|
||||
lean_inc(x_2);
|
||||
x_14 = l_Lean_Elab_Tactic_Conv_getLhs(x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_13);
|
||||
if (lean_obj_tag(x_14) == 0)
|
||||
x_15 = l_Lean_Elab_Tactic_Conv_getLhs(x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_14);
|
||||
if (lean_obj_tag(x_15) == 0)
|
||||
{
|
||||
lean_object* x_15; lean_object* x_16; lean_object* x_17;
|
||||
x_15 = lean_ctor_get(x_14, 0);
|
||||
lean_inc(x_15);
|
||||
x_16 = lean_ctor_get(x_14, 1);
|
||||
lean_object* x_16; lean_object* x_17; lean_object* x_18;
|
||||
x_16 = lean_ctor_get(x_15, 0);
|
||||
lean_inc(x_16);
|
||||
lean_dec(x_14);
|
||||
x_17 = lean_ctor_get(x_15, 1);
|
||||
lean_inc(x_17);
|
||||
lean_dec(x_15);
|
||||
lean_inc(x_10);
|
||||
lean_inc(x_9);
|
||||
lean_inc(x_8);
|
||||
lean_inc(x_7);
|
||||
lean_inc(x_6);
|
||||
x_17 = l_Lean_Meta_unfold(x_15, x_12, x_6, x_7, x_8, x_9, x_16);
|
||||
if (lean_obj_tag(x_17) == 0)
|
||||
x_18 = l_Lean_Meta_unfold(x_16, x_13, x_7, x_8, x_9, x_10, x_17);
|
||||
if (lean_obj_tag(x_18) == 0)
|
||||
{
|
||||
lean_object* x_18; lean_object* x_19; lean_object* x_20;
|
||||
x_18 = lean_ctor_get(x_17, 0);
|
||||
lean_inc(x_18);
|
||||
x_19 = lean_ctor_get(x_17, 1);
|
||||
lean_object* x_19; lean_object* x_20; lean_object* x_21;
|
||||
x_19 = lean_ctor_get(x_18, 0);
|
||||
lean_inc(x_19);
|
||||
lean_dec(x_17);
|
||||
x_20 = l_Lean_Elab_Tactic_Conv_applySimpResult(x_18, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_19);
|
||||
return x_20;
|
||||
x_20 = lean_ctor_get(x_18, 1);
|
||||
lean_inc(x_20);
|
||||
lean_dec(x_18);
|
||||
x_21 = l_Lean_Elab_Tactic_Conv_applySimpResult(x_19, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10, x_20);
|
||||
return x_21;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_21;
|
||||
uint8_t x_22;
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
|
|
@ -117,31 +118,31 @@ lean_dec(x_6);
|
|||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_21 = !lean_is_exclusive(x_17);
|
||||
if (x_21 == 0)
|
||||
x_22 = !lean_is_exclusive(x_18);
|
||||
if (x_22 == 0)
|
||||
{
|
||||
return x_17;
|
||||
return x_18;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_22; lean_object* x_23; lean_object* x_24;
|
||||
x_22 = lean_ctor_get(x_17, 0);
|
||||
x_23 = lean_ctor_get(x_17, 1);
|
||||
lean_object* x_23; lean_object* x_24; lean_object* x_25;
|
||||
x_23 = lean_ctor_get(x_18, 0);
|
||||
x_24 = lean_ctor_get(x_18, 1);
|
||||
lean_inc(x_24);
|
||||
lean_inc(x_23);
|
||||
lean_inc(x_22);
|
||||
lean_dec(x_17);
|
||||
x_24 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_24, 0, x_22);
|
||||
lean_ctor_set(x_24, 1, x_23);
|
||||
return x_24;
|
||||
lean_dec(x_18);
|
||||
x_25 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_25, 0, x_23);
|
||||
lean_ctor_set(x_25, 1, x_24);
|
||||
return x_25;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_25;
|
||||
lean_dec(x_12);
|
||||
uint8_t x_26;
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
|
|
@ -149,30 +150,30 @@ lean_dec(x_6);
|
|||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_25 = !lean_is_exclusive(x_14);
|
||||
if (x_25 == 0)
|
||||
x_26 = !lean_is_exclusive(x_15);
|
||||
if (x_26 == 0)
|
||||
{
|
||||
return x_14;
|
||||
return x_15;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_26; lean_object* x_27; lean_object* x_28;
|
||||
x_26 = lean_ctor_get(x_14, 0);
|
||||
x_27 = lean_ctor_get(x_14, 1);
|
||||
lean_object* x_27; lean_object* x_28; lean_object* x_29;
|
||||
x_27 = lean_ctor_get(x_15, 0);
|
||||
x_28 = lean_ctor_get(x_15, 1);
|
||||
lean_inc(x_28);
|
||||
lean_inc(x_27);
|
||||
lean_inc(x_26);
|
||||
lean_dec(x_14);
|
||||
x_28 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_28, 0, x_26);
|
||||
lean_ctor_set(x_28, 1, x_27);
|
||||
return x_28;
|
||||
lean_dec(x_15);
|
||||
x_29 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_29, 0, x_27);
|
||||
lean_ctor_set(x_29, 1, x_28);
|
||||
return x_29;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_29;
|
||||
uint8_t x_30;
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_7);
|
||||
|
|
@ -180,24 +181,23 @@ lean_dec(x_6);
|
|||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
x_29 = !lean_is_exclusive(x_11);
|
||||
if (x_29 == 0)
|
||||
x_30 = !lean_is_exclusive(x_12);
|
||||
if (x_30 == 0)
|
||||
{
|
||||
return x_11;
|
||||
return x_12;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_30; lean_object* x_31; lean_object* x_32;
|
||||
x_30 = lean_ctor_get(x_11, 0);
|
||||
x_31 = lean_ctor_get(x_11, 1);
|
||||
lean_object* x_31; lean_object* x_32; lean_object* x_33;
|
||||
x_31 = lean_ctor_get(x_12, 0);
|
||||
x_32 = lean_ctor_get(x_12, 1);
|
||||
lean_inc(x_32);
|
||||
lean_inc(x_31);
|
||||
lean_inc(x_30);
|
||||
lean_dec(x_11);
|
||||
x_32 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_32, 0, x_30);
|
||||
lean_ctor_set(x_32, 1, x_31);
|
||||
return x_32;
|
||||
lean_dec(x_12);
|
||||
x_33 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_33, 0, x_31);
|
||||
lean_ctor_set(x_33, 1, x_32);
|
||||
return x_33;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -205,13 +205,15 @@ return x_32;
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalUnfold(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14;
|
||||
lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15;
|
||||
x_11 = lean_unsigned_to_nat(1u);
|
||||
x_12 = l_Lean_Syntax_getArg(x_1, x_11);
|
||||
x_13 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_Conv_evalUnfold___lambda__1), 10, 1);
|
||||
lean_closure_set(x_13, 0, x_12);
|
||||
x_14 = l_Lean_Elab_Tactic_withMainContext___rarg(x_13, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
|
||||
return x_14;
|
||||
x_13 = lean_box(0);
|
||||
x_14 = lean_alloc_closure((void*)(l_Lean_Elab_Tactic_Conv_evalUnfold___lambda__1), 11, 2);
|
||||
lean_closure_set(x_14, 0, x_12);
|
||||
lean_closure_set(x_14, 1, x_13);
|
||||
x_15 = l_Lean_Elab_Tactic_withMainContext___rarg(x_14, x_2, x_3, x_4, x_5, x_6, x_7, x_8, x_9, x_10);
|
||||
return x_15;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_Conv_evalUnfold___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8, lean_object* x_9, lean_object* x_10) {
|
||||
|
|
|
|||
1110
stage0/stdlib/Lean/Elab/Tactic/Delta.c
generated
1110
stage0/stdlib/Lean/Elab/Tactic/Delta.c
generated
File diff suppressed because it is too large
Load diff
4
stage0/stdlib/Lean/Elab/Tactic/Induction.c
generated
4
stage0/stdlib/Lean/Elab/Tactic/Induction.c
generated
|
|
@ -282,6 +282,7 @@ lean_object* l_panic___at_Lean_Expr_getRevArg_x21___spec__1(lean_object*);
|
|||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_ElimApp_saveAltVarsInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_ElimApp_evalAlts_go___spec__5___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_throwUnknownConstant___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_getElimNameInfo___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Std_RBNode_insert___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__1(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_ElimApp_evalAlts_go___spec__5___boxed(lean_object**);
|
||||
static lean_object* l_Lean_Elab_Tactic_ElimApp_State_alts___default___closed__1;
|
||||
lean_object* l_Lean_MVarId_assign___at_Lean_Elab_Tactic_closeMainGoal___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -301,7 +302,6 @@ static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_evalInduction
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalInduction___lambda__1___boxed(lean_object**);
|
||||
lean_object* lean_st_mk_ref(lean_object*, lean_object*);
|
||||
static lean_object* l_Array_forInUnsafe_loop___at_Lean_Elab_Tactic_ElimApp_evalAlts_go___spec__5___lambda__2___closed__8;
|
||||
lean_object* l_Std_RBNode_insert___at_Lean_Meta_ToHide_moveToHiddeProp___spec__1(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Std_Range_forIn_loop___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_ElimApp_checkAltNames___spec__2___lambda__1___closed__3;
|
||||
LEAN_EXPORT lean_object* l_Array_anyMUnsafe_any___at___private_Lean_Elab_Tactic_Induction_0__Lean_Elab_Tactic_expandInductionAlts_x3f___spec__1___boxed(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalInduction___closed__3;
|
||||
|
|
@ -12421,7 +12421,7 @@ _start:
|
|||
{
|
||||
lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
|
||||
x_13 = lean_box(0);
|
||||
x_14 = l_Std_RBNode_insert___at_Lean_Meta_ToHide_moveToHiddeProp___spec__1(x_2, x_1, x_13);
|
||||
x_14 = l_Std_RBNode_insert___at___private_Lean_Meta_FunInfo_0__Lean_Meta_getFunInfoAux___spec__1(x_2, x_1, x_13);
|
||||
x_15 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_15, 0, x_14);
|
||||
x_16 = lean_alloc_ctor(0, 2, 0);
|
||||
|
|
|
|||
425
stage0/stdlib/Lean/Elab/Tactic/Rewrite.c
generated
425
stage0/stdlib/Lean/Elab/Tactic/Rewrite.c
generated
|
|
@ -40,6 +40,7 @@ static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_withRWRulesSeq_
|
|||
lean_object* l_List_mapTRAux___at_Lean_resolveGlobalConstCore___spec__2(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_withRWRulesSeq___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Std_Format_defWidth;
|
||||
lean_object* l_Lean_Meta_mkConstWithFreshMVarLevels(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRewriteSeq___closed__7;
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRewriteSeq_declRange___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_withRWRulesSeq___spec__10___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -54,15 +55,12 @@ LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_withRWRule
|
|||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRewriteSeq___closed__10;
|
||||
lean_object* l_Std_PersistentArray_append___rarg(lean_object*, lean_object*);
|
||||
lean_object* lean_st_ref_get(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__1;
|
||||
static lean_object* l_Lean_Elab_Tactic_withRWRulesSeq___closed__4;
|
||||
lean_object* l_Lean_mkIdentFrom(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_elabRewriteConfig___spec__5___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_withRWRulesSeq___spec__10___closed__4;
|
||||
lean_object* lean_array_push(lean_object*, lean_object*);
|
||||
lean_object* lean_array_get_size(lean_object*);
|
||||
static lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__2;
|
||||
lean_object* lean_string_append(lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRewriteSeq___closed__3;
|
||||
lean_object* l_Lean_Elab_InfoTree_substitute(lean_object*, lean_object*);
|
||||
|
|
@ -106,17 +104,20 @@ lean_object* l_Lean_Elab_Tactic_mkInitialTacticInfo(lean_object*, lean_object*,
|
|||
lean_object* l_Lean_Elab_Tactic_expandOptLocation(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_elabRewriteConfig___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_withoutModifyingState___at_Lean_Elab_Tactic_elabRewriteConfig___spec__12___at_Lean_Elab_Tactic_elabRewriteConfig___spec__13___closed__4;
|
||||
static lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__1;
|
||||
static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_withRWRulesSeq___spec__10___closed__6;
|
||||
lean_object* l_Lean_replaceRef(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Tactic_evalRewriteSeq___lambda__2___closed__1;
|
||||
static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_withRWRulesSeq___spec__2___closed__1;
|
||||
static lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__2;
|
||||
lean_object* l_Lean_Elab_Tactic_getMainTarget(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_withRWRulesSeq___spec__10___lambda__2___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_elabRewriteConfig___spec__4(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_withoutModifyingState___at_Lean_Elab_Tactic_elabRewriteConfig___spec__12___at_Lean_Elab_Tactic_elabRewriteConfig___spec__13___closed__8;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_rewriteTarget___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRewriteSeq_declRange___closed__6;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005_(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059_(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_withInfoTreeContext___at_Lean_Elab_Term_runTactic___spec__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Meta_evalExpr_x27___rarg(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_withRWRulesSeq___spec__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -146,7 +147,6 @@ LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_Tactic_elabRewrit
|
|||
LEAN_EXPORT lean_object* l_Std_PersistentArray_mapMAux___at_Lean_Elab_Tactic_elabRewriteConfig___spec__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
size_t lean_usize_of_nat(lean_object*);
|
||||
extern lean_object* l_Lean_Elab_Tactic_tacticElabAttribute;
|
||||
static lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__6;
|
||||
static lean_object* l_Lean_Elab_Tactic_evalRewriteSeq___lambda__2___closed__4;
|
||||
LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_withRWRulesSeq___spec__10(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_withRWRulesSeq___spec__10___lambda__2___closed__4;
|
||||
|
|
@ -154,6 +154,7 @@ lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalTactic___spec__2(lean_o
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalRewriteSeq___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_ReaderT_pure___at_Lean_Elab_Tactic_saveTacticInfoForToken___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_throwError___at_Lean_Elab_Tactic_evalTactic_throwExs___spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__4;
|
||||
lean_object* l_Lean_MVarId_rewrite(lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_withRWRulesSeq___spec__10___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_withRWRulesSeq___spec__10___lambda__2___closed__8;
|
||||
|
|
@ -177,8 +178,10 @@ static lean_object* l_Lean_resolveGlobalConst___at_Lean_Elab_Tactic_withRWRulesS
|
|||
lean_object* l_Lean_Elab_Term_SavedState_restore(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Syntax_getArgs(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_PersistentArray_mapMAux___at_Lean_Elab_Tactic_elabRewriteConfig___spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__5;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_rewriteLocalDecl___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_withRWRulesSeq___spec__10___lambda__2(lean_object*, uint8_t, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Term_addTermInfo(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_withoutModifyingState___at_Lean_Elab_Tactic_elabRewriteConfig___spec__12___at_Lean_Elab_Tactic_elabRewriteConfig___spec__13___closed__6;
|
||||
lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_withSynthesizeImp___rarg(lean_object*, uint8_t, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_withRWRulesSeq___spec__10___lambda__2___closed__5;
|
||||
|
|
@ -187,6 +190,7 @@ lean_object* l_Lean_Elab_withInfoTreeContext___at_Lean_Elab_Tactic_evalTactic_ev
|
|||
lean_object* l_Lean_instantiateMVars___at_Lean_Elab_Term_MVarErrorInfo_logError___spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalRewriteSeq___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRewriteSeq(lean_object*);
|
||||
static lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__3;
|
||||
lean_object* lean_nat_mul(lean_object*, lean_object*);
|
||||
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_withRWRulesSeq___spec__10___closed__5;
|
||||
|
|
@ -205,6 +209,7 @@ LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_wit
|
|||
uint8_t l_Lean_Syntax_isOfKind(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Tactic_evalRewriteSeq___lambda__3___closed__1;
|
||||
static lean_object* l_Lean_Elab_Tactic_elabRewriteConfig___closed__2;
|
||||
static lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__6;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalRewriteSeq___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalRewriteSeq___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRewriteSeq___closed__8;
|
||||
|
|
@ -213,7 +218,6 @@ lean_object* l_Lean_Elab_Tactic_replaceMainGoal(lean_object*, lean_object*, lean
|
|||
lean_object* l_Lean_Elab_Tactic_withoutRecover___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_resolveGlobalConstCore___at_Lean_Elab_Tactic_withRWRulesSeq___spec__5___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_elabRewriteConfig___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__4;
|
||||
static lean_object* l_Lean_Elab_Tactic_withRWRulesSeq_go___closed__2;
|
||||
lean_object* l_Lean_Syntax_getArg(lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRewriteSeq_declRange___closed__1;
|
||||
|
|
@ -230,10 +234,8 @@ static lean_object* l___regBuiltin_Lean_Elab_Tactic_evalRewriteSeq_declRange___c
|
|||
static lean_object* l_Lean_withoutModifyingState___at_Lean_Elab_Tactic_elabRewriteConfig___spec__12___at_Lean_Elab_Tactic_elabRewriteConfig___spec__13___closed__3;
|
||||
lean_object* l_Lean_Elab_Term_saveState___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalRewriteSeq___lambda__3(lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__5;
|
||||
lean_object* l_Lean_Syntax_formatStxAux(lean_object*, uint8_t, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_withoutModifyingState___at_Lean_Elab_Tactic_elabRewriteConfig___spec__12___at_Lean_Elab_Tactic_elabRewriteConfig___spec__13___closed__7;
|
||||
static lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__3;
|
||||
LEAN_EXPORT lean_object* l_Std_PersistentArray_mapM___at_Lean_Elab_Tactic_elabRewriteConfig___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_throwUnknownConstant___at_Lean_Elab_Tactic_withRWRulesSeq___spec__7___closed__1;
|
||||
lean_object* l___private_Lean_Elab_SyntheticMVars_0__Lean_Elab_Term_withSynthesizeImp___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -1821,22 +1823,325 @@ return x_20;
|
|||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24;
|
||||
lean_object* x_21; uint8_t x_22;
|
||||
lean_dec(x_3);
|
||||
x_21 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_21);
|
||||
lean_dec(x_16);
|
||||
x_22 = lean_ctor_get(x_17, 0);
|
||||
lean_inc(x_22);
|
||||
lean_dec(x_17);
|
||||
x_23 = lean_array_to_list(lean_box(0), x_22);
|
||||
x_24 = l_Lean_Elab_Tactic_withRWRulesSeq_go(x_1, x_2, x_4, x_5, x_23, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_21);
|
||||
return x_24;
|
||||
x_22 = !lean_is_exclusive(x_17);
|
||||
if (x_22 == 0)
|
||||
{
|
||||
lean_object* x_23; lean_object* x_24; lean_object* x_25;
|
||||
x_23 = lean_ctor_get(x_17, 0);
|
||||
x_24 = lean_array_to_list(lean_box(0), x_23);
|
||||
lean_inc(x_13);
|
||||
lean_inc(x_12);
|
||||
lean_inc(x_11);
|
||||
lean_inc(x_10);
|
||||
lean_inc(x_9);
|
||||
lean_inc(x_8);
|
||||
lean_inc(x_5);
|
||||
lean_inc(x_4);
|
||||
x_25 = l_Lean_Elab_Tactic_withRWRulesSeq_go(x_1, x_2, x_4, x_5, x_24, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_21);
|
||||
if (lean_obj_tag(x_25) == 0)
|
||||
{
|
||||
lean_object* x_26; lean_object* x_27;
|
||||
x_26 = lean_ctor_get(x_25, 1);
|
||||
lean_inc(x_26);
|
||||
lean_dec(x_25);
|
||||
lean_inc(x_13);
|
||||
lean_inc(x_12);
|
||||
lean_inc(x_11);
|
||||
lean_inc(x_10);
|
||||
x_27 = l_Lean_Meta_mkConstWithFreshMVarLevels(x_5, x_10, x_11, x_12, x_13, x_26);
|
||||
if (lean_obj_tag(x_27) == 0)
|
||||
{
|
||||
lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32; uint8_t x_33; lean_object* x_34;
|
||||
x_28 = lean_ctor_get(x_27, 0);
|
||||
lean_inc(x_28);
|
||||
x_29 = lean_ctor_get(x_27, 1);
|
||||
lean_inc(x_29);
|
||||
lean_dec(x_27);
|
||||
x_30 = lean_ctor_get(x_10, 1);
|
||||
lean_inc(x_30);
|
||||
x_31 = lean_box(0);
|
||||
lean_ctor_set(x_17, 0, x_30);
|
||||
x_32 = lean_box(0);
|
||||
x_33 = 0;
|
||||
x_34 = l_Lean_Elab_Term_addTermInfo(x_4, x_28, x_31, x_17, x_32, x_33, x_8, x_9, x_10, x_11, x_12, x_13, x_29);
|
||||
if (lean_obj_tag(x_34) == 0)
|
||||
{
|
||||
uint8_t x_35;
|
||||
x_35 = !lean_is_exclusive(x_34);
|
||||
if (x_35 == 0)
|
||||
{
|
||||
lean_object* x_36; lean_object* x_37;
|
||||
x_36 = lean_ctor_get(x_34, 0);
|
||||
lean_dec(x_36);
|
||||
x_37 = lean_box(0);
|
||||
lean_ctor_set(x_34, 0, x_37);
|
||||
return x_34;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_38; lean_object* x_39; lean_object* x_40;
|
||||
x_38 = lean_ctor_get(x_34, 1);
|
||||
lean_inc(x_38);
|
||||
lean_dec(x_34);
|
||||
x_39 = lean_box(0);
|
||||
x_40 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_40, 0, x_39);
|
||||
lean_ctor_set(x_40, 1, x_38);
|
||||
return x_40;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_25;
|
||||
uint8_t x_41;
|
||||
x_41 = !lean_is_exclusive(x_34);
|
||||
if (x_41 == 0)
|
||||
{
|
||||
return x_34;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_42; lean_object* x_43; lean_object* x_44;
|
||||
x_42 = lean_ctor_get(x_34, 0);
|
||||
x_43 = lean_ctor_get(x_34, 1);
|
||||
lean_inc(x_43);
|
||||
lean_inc(x_42);
|
||||
lean_dec(x_34);
|
||||
x_44 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_44, 0, x_42);
|
||||
lean_ctor_set(x_44, 1, x_43);
|
||||
return x_44;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_45;
|
||||
lean_free_object(x_17);
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_4);
|
||||
x_45 = !lean_is_exclusive(x_27);
|
||||
if (x_45 == 0)
|
||||
{
|
||||
return x_27;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_46; lean_object* x_47; lean_object* x_48;
|
||||
x_46 = lean_ctor_get(x_27, 0);
|
||||
x_47 = lean_ctor_get(x_27, 1);
|
||||
lean_inc(x_47);
|
||||
lean_inc(x_46);
|
||||
lean_dec(x_27);
|
||||
x_48 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_48, 0, x_46);
|
||||
lean_ctor_set(x_48, 1, x_47);
|
||||
return x_48;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_49;
|
||||
lean_free_object(x_17);
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
x_49 = !lean_is_exclusive(x_25);
|
||||
if (x_49 == 0)
|
||||
{
|
||||
return x_25;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_50; lean_object* x_51; lean_object* x_52;
|
||||
x_50 = lean_ctor_get(x_25, 0);
|
||||
x_51 = lean_ctor_get(x_25, 1);
|
||||
lean_inc(x_51);
|
||||
lean_inc(x_50);
|
||||
lean_dec(x_25);
|
||||
x_52 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_52, 0, x_50);
|
||||
lean_ctor_set(x_52, 1, x_51);
|
||||
return x_52;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_53; lean_object* x_54; lean_object* x_55;
|
||||
x_53 = lean_ctor_get(x_17, 0);
|
||||
lean_inc(x_53);
|
||||
lean_dec(x_17);
|
||||
x_54 = lean_array_to_list(lean_box(0), x_53);
|
||||
lean_inc(x_13);
|
||||
lean_inc(x_12);
|
||||
lean_inc(x_11);
|
||||
lean_inc(x_10);
|
||||
lean_inc(x_9);
|
||||
lean_inc(x_8);
|
||||
lean_inc(x_5);
|
||||
lean_inc(x_4);
|
||||
x_55 = l_Lean_Elab_Tactic_withRWRulesSeq_go(x_1, x_2, x_4, x_5, x_54, x_6, x_7, x_8, x_9, x_10, x_11, x_12, x_13, x_21);
|
||||
if (lean_obj_tag(x_55) == 0)
|
||||
{
|
||||
lean_object* x_56; lean_object* x_57;
|
||||
x_56 = lean_ctor_get(x_55, 1);
|
||||
lean_inc(x_56);
|
||||
lean_dec(x_55);
|
||||
lean_inc(x_13);
|
||||
lean_inc(x_12);
|
||||
lean_inc(x_11);
|
||||
lean_inc(x_10);
|
||||
x_57 = l_Lean_Meta_mkConstWithFreshMVarLevels(x_5, x_10, x_11, x_12, x_13, x_56);
|
||||
if (lean_obj_tag(x_57) == 0)
|
||||
{
|
||||
lean_object* x_58; lean_object* x_59; lean_object* x_60; lean_object* x_61; lean_object* x_62; lean_object* x_63; uint8_t x_64; lean_object* x_65;
|
||||
x_58 = lean_ctor_get(x_57, 0);
|
||||
lean_inc(x_58);
|
||||
x_59 = lean_ctor_get(x_57, 1);
|
||||
lean_inc(x_59);
|
||||
lean_dec(x_57);
|
||||
x_60 = lean_ctor_get(x_10, 1);
|
||||
lean_inc(x_60);
|
||||
x_61 = lean_box(0);
|
||||
x_62 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_62, 0, x_60);
|
||||
x_63 = lean_box(0);
|
||||
x_64 = 0;
|
||||
x_65 = l_Lean_Elab_Term_addTermInfo(x_4, x_58, x_61, x_62, x_63, x_64, x_8, x_9, x_10, x_11, x_12, x_13, x_59);
|
||||
if (lean_obj_tag(x_65) == 0)
|
||||
{
|
||||
lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69;
|
||||
x_66 = lean_ctor_get(x_65, 1);
|
||||
lean_inc(x_66);
|
||||
if (lean_is_exclusive(x_65)) {
|
||||
lean_ctor_release(x_65, 0);
|
||||
lean_ctor_release(x_65, 1);
|
||||
x_67 = x_65;
|
||||
} else {
|
||||
lean_dec_ref(x_65);
|
||||
x_67 = lean_box(0);
|
||||
}
|
||||
x_68 = lean_box(0);
|
||||
if (lean_is_scalar(x_67)) {
|
||||
x_69 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_69 = x_67;
|
||||
}
|
||||
lean_ctor_set(x_69, 0, x_68);
|
||||
lean_ctor_set(x_69, 1, x_66);
|
||||
return x_69;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73;
|
||||
x_70 = lean_ctor_get(x_65, 0);
|
||||
lean_inc(x_70);
|
||||
x_71 = lean_ctor_get(x_65, 1);
|
||||
lean_inc(x_71);
|
||||
if (lean_is_exclusive(x_65)) {
|
||||
lean_ctor_release(x_65, 0);
|
||||
lean_ctor_release(x_65, 1);
|
||||
x_72 = x_65;
|
||||
} else {
|
||||
lean_dec_ref(x_65);
|
||||
x_72 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_72)) {
|
||||
x_73 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_73 = x_72;
|
||||
}
|
||||
lean_ctor_set(x_73, 0, x_70);
|
||||
lean_ctor_set(x_73, 1, x_71);
|
||||
return x_73;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77;
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_4);
|
||||
x_74 = lean_ctor_get(x_57, 0);
|
||||
lean_inc(x_74);
|
||||
x_75 = lean_ctor_get(x_57, 1);
|
||||
lean_inc(x_75);
|
||||
if (lean_is_exclusive(x_57)) {
|
||||
lean_ctor_release(x_57, 0);
|
||||
lean_ctor_release(x_57, 1);
|
||||
x_76 = x_57;
|
||||
} else {
|
||||
lean_dec_ref(x_57);
|
||||
x_76 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_76)) {
|
||||
x_77 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_77 = x_76;
|
||||
}
|
||||
lean_ctor_set(x_77, 0, x_74);
|
||||
lean_ctor_set(x_77, 1, x_75);
|
||||
return x_77;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_81;
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
lean_dec(x_10);
|
||||
lean_dec(x_9);
|
||||
lean_dec(x_8);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
x_78 = lean_ctor_get(x_55, 0);
|
||||
lean_inc(x_78);
|
||||
x_79 = lean_ctor_get(x_55, 1);
|
||||
lean_inc(x_79);
|
||||
if (lean_is_exclusive(x_55)) {
|
||||
lean_ctor_release(x_55, 0);
|
||||
lean_ctor_release(x_55, 1);
|
||||
x_80 = x_55;
|
||||
} else {
|
||||
lean_dec_ref(x_55);
|
||||
x_80 = lean_box(0);
|
||||
}
|
||||
if (lean_is_scalar(x_80)) {
|
||||
x_81 = lean_alloc_ctor(1, 2, 0);
|
||||
} else {
|
||||
x_81 = x_80;
|
||||
}
|
||||
lean_ctor_set(x_81, 0, x_78);
|
||||
lean_ctor_set(x_81, 1, x_79);
|
||||
return x_81;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_82;
|
||||
lean_dec(x_13);
|
||||
lean_dec(x_12);
|
||||
lean_dec(x_11);
|
||||
|
|
@ -1849,23 +2154,23 @@ lean_dec(x_5);
|
|||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_1);
|
||||
x_25 = !lean_is_exclusive(x_16);
|
||||
if (x_25 == 0)
|
||||
x_82 = !lean_is_exclusive(x_16);
|
||||
if (x_82 == 0)
|
||||
{
|
||||
return x_16;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_26; lean_object* x_27; lean_object* x_28;
|
||||
x_26 = lean_ctor_get(x_16, 0);
|
||||
x_27 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_27);
|
||||
lean_inc(x_26);
|
||||
lean_object* x_83; lean_object* x_84; lean_object* x_85;
|
||||
x_83 = lean_ctor_get(x_16, 0);
|
||||
x_84 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_84);
|
||||
lean_inc(x_83);
|
||||
lean_dec(x_16);
|
||||
x_28 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_28, 0, x_26);
|
||||
lean_ctor_set(x_28, 1, x_27);
|
||||
return x_28;
|
||||
x_85 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_85, 0, x_83);
|
||||
lean_ctor_set(x_85, 1, x_84);
|
||||
return x_85;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -3119,7 +3424,7 @@ lean_dec(x_2);
|
|||
return x_13;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__1() {
|
||||
static lean_object* _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -3127,17 +3432,17 @@ x_1 = lean_mk_string_from_bytes("Meta", 4);
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__2() {
|
||||
static lean_object* _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Std_Range_forIn_loop___at_Lean_Elab_Tactic_withRWRulesSeq___spec__10___lambda__2___closed__2;
|
||||
x_2 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__1;
|
||||
x_2 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__1;
|
||||
x_3 = l_Lean_Name_str___override(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__3() {
|
||||
static lean_object* _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__3() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -3145,17 +3450,17 @@ x_1 = lean_mk_string_from_bytes("Rewrite", 7);
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__4() {
|
||||
static lean_object* _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__2;
|
||||
x_2 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__3;
|
||||
x_1 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__2;
|
||||
x_2 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__3;
|
||||
x_3 = l_Lean_Name_str___override(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__5() {
|
||||
static lean_object* _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1;
|
||||
|
|
@ -3163,31 +3468,31 @@ x_1 = lean_mk_string_from_bytes("Config", 6);
|
|||
return x_1;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__6() {
|
||||
static lean_object* _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__6() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__4;
|
||||
x_2 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__5;
|
||||
x_1 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__4;
|
||||
x_2 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__5;
|
||||
x_3 = l_Lean_Name_str___override(x_1, x_2);
|
||||
return x_3;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005_(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059_(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_9; uint8_t x_10; lean_object* x_11;
|
||||
x_9 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__6;
|
||||
x_9 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__6;
|
||||
x_10 = 0;
|
||||
x_11 = l_Lean_Meta_evalExpr_x27___rarg(x_9, x_1, x_10, x_4, x_5, x_6, x_7, x_8);
|
||||
return x_11;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) {
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_9;
|
||||
x_9 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005_(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
|
||||
x_9 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059_(x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
return x_9;
|
||||
|
|
@ -4708,7 +5013,7 @@ _start:
|
|||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_box(0);
|
||||
x_2 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__6;
|
||||
x_2 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__6;
|
||||
x_3 = l_Lean_Expr_const___override(x_2, x_1);
|
||||
return x_3;
|
||||
}
|
||||
|
|
@ -4765,7 +5070,7 @@ lean_inc(x_17);
|
|||
x_18 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_18);
|
||||
lean_dec(x_16);
|
||||
x_19 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005_(x_17, x_2, x_3, x_4, x_5, x_6, x_7, x_18);
|
||||
x_19 = l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059_(x_17, x_2, x_3, x_4, x_5, x_6, x_7, x_18);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
return x_19;
|
||||
|
|
@ -5307,7 +5612,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRewriteSeq_declRan
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(61u);
|
||||
x_1 = lean_unsigned_to_nat(62u);
|
||||
x_2 = lean_unsigned_to_nat(47u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -5319,7 +5624,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRewriteSeq_declRan
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(68u);
|
||||
x_1 = lean_unsigned_to_nat(69u);
|
||||
x_2 = lean_unsigned_to_nat(91u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -5347,7 +5652,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRewriteSeq_declRan
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(61u);
|
||||
x_1 = lean_unsigned_to_nat(62u);
|
||||
x_2 = lean_unsigned_to_nat(51u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -5359,7 +5664,7 @@ static lean_object* _init_l___regBuiltin_Lean_Elab_Tactic_evalRewriteSeq_declRan
|
|||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = lean_unsigned_to_nat(61u);
|
||||
x_1 = lean_unsigned_to_nat(62u);
|
||||
x_2 = lean_unsigned_to_nat(65u);
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
|
|
@ -5498,18 +5803,18 @@ l_Lean_Elab_Tactic_withRWRulesSeq___closed__3 = _init_l_Lean_Elab_Tactic_withRWR
|
|||
lean_mark_persistent(l_Lean_Elab_Tactic_withRWRulesSeq___closed__3);
|
||||
l_Lean_Elab_Tactic_withRWRulesSeq___closed__4 = _init_l_Lean_Elab_Tactic_withRWRulesSeq___closed__4();
|
||||
lean_mark_persistent(l_Lean_Elab_Tactic_withRWRulesSeq___closed__4);
|
||||
l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__1 = _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__1);
|
||||
l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__2 = _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__2);
|
||||
l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__3 = _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__3();
|
||||
lean_mark_persistent(l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__3);
|
||||
l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__4 = _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__4();
|
||||
lean_mark_persistent(l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__4);
|
||||
l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__5 = _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__5();
|
||||
lean_mark_persistent(l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__5);
|
||||
l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__6 = _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__6();
|
||||
lean_mark_persistent(l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1005____closed__6);
|
||||
l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__1 = _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__1);
|
||||
l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__2 = _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__2);
|
||||
l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__3 = _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__3();
|
||||
lean_mark_persistent(l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__3);
|
||||
l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__4 = _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__4();
|
||||
lean_mark_persistent(l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__4);
|
||||
l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__5 = _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__5();
|
||||
lean_mark_persistent(l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__5);
|
||||
l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__6 = _init_l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__6();
|
||||
lean_mark_persistent(l_Lean_Elab_Tactic_evalUnsafe____x40_Lean_Elab_Tactic_Rewrite___hyg_1059____closed__6);
|
||||
l_Lean_withoutModifyingState___at_Lean_Elab_Tactic_elabRewriteConfig___spec__12___at_Lean_Elab_Tactic_elabRewriteConfig___spec__13___closed__1 = _init_l_Lean_withoutModifyingState___at_Lean_Elab_Tactic_elabRewriteConfig___spec__12___at_Lean_Elab_Tactic_elabRewriteConfig___spec__13___closed__1();
|
||||
lean_mark_persistent(l_Lean_withoutModifyingState___at_Lean_Elab_Tactic_elabRewriteConfig___spec__12___at_Lean_Elab_Tactic_elabRewriteConfig___spec__13___closed__1);
|
||||
l_Lean_withoutModifyingState___at_Lean_Elab_Tactic_elabRewriteConfig___spec__12___at_Lean_Elab_Tactic_elabRewriteConfig___spec__13___closed__2 = _init_l_Lean_withoutModifyingState___at_Lean_Elab_Tactic_elabRewriteConfig___spec__12___at_Lean_Elab_Tactic_elabRewriteConfig___spec__13___closed__2();
|
||||
|
|
|
|||
1124
stage0/stdlib/Lean/Elab/Tactic/Unfold.c
generated
1124
stage0/stdlib/Lean/Elab/Tactic/Unfold.c
generated
File diff suppressed because it is too large
Load diff
379
stage0/stdlib/Lean/Elab/Util.c
generated
379
stage0/stdlib/Lean/Elab/Util.c
generated
|
|
@ -30,9 +30,9 @@ LEAN_EXPORT lean_object* l_List_foldl___at_Lean_Elab_addMacroStack___spec__1(lea
|
|||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__4___closed__4;
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__3;
|
||||
static lean_object* l_Lean_Elab_mkMacroAttributeUnsafe___closed__7;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Macro_getCurrNamespace(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_MacroScopesView_format___boxed(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__7;
|
||||
LEAN_EXPORT lean_object* l_List_forM___at_Lean_Elab_liftMacroM___spec__3___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_String_toFormat(lean_object*);
|
||||
lean_object* lean_array_uget(lean_object*, size_t);
|
||||
|
|
@ -60,6 +60,7 @@ uint8_t lean_name_eq(lean_object*, lean_object*);
|
|||
static lean_object* l_Lean_Elab_logException___rarg___lambda__1___closed__3;
|
||||
lean_object* l_Lean_Elab_throwUnsupportedSyntax___rarg(lean_object*);
|
||||
static lean_object* l_Lean_Elab_initFn____x40_Lean_Elab_Util___hyg_294____closed__4;
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__5;
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_throwErrorWithNestedErrors___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_array_push(lean_object*, lean_object*);
|
||||
|
|
@ -72,7 +73,6 @@ lean_object* l_Lean_KeyedDeclsAttribute_getEntries___rarg(lean_object*, lean_obj
|
|||
static lean_object* l_Lean_Elab_throwErrorWithNestedErrors___rarg___lambda__1___closed__2;
|
||||
static lean_object* l_Lean_Elab_expandMacroImpl_x3f___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_instMonadMacroAdapter___rarg___lambda__1(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__3;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_expandMacroImpl_x3f___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_checkSyntaxNodeKind___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_expandMacroImpl_x3f___closed__2;
|
||||
|
|
@ -84,8 +84,6 @@ static lean_object* l_Lean_Elab_nestedExceptionToMessageData___rarg___lambda__1_
|
|||
lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___rarg(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_List_forM___at_Lean_Elab_liftMacroM___spec__3___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_addMacroStack___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_nat_add(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___rarg___lambda__9(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_logDbgTrace___rarg___closed__1;
|
||||
|
|
@ -96,10 +94,10 @@ lean_object* l_Lean_mkAppN(lean_object*, lean_object*);
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__2(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___rarg___lambda__7(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___rarg___lambda__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__6;
|
||||
LEAN_EXPORT lean_object* l___private_Lean_Elab_Util_0__Lean_Elab_evalSyntaxConstantUnsafe(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_mkMacroAttributeUnsafe___closed__6;
|
||||
static lean_object* l_Lean_Elab_logDbgTrace___rarg___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Elab_mkElabAttribute___spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_nestedExceptionToMessageData___rarg___lambda__1___closed__4;
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__4___closed__2;
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__1;
|
||||
|
|
@ -111,7 +109,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_checkSyntaxNodeKindAtNamespaces(lean_object
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_expandMacroImpl_x3f___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT uint8_t l_Lean_Elab_getBetterRef___lambda__1(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_expandMacroImpl_x3f(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_st_ref_take(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_addTrace___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_ReaderT_pure___at_Lean_Elab_liftMacroM___spec__2___rarg(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_logException___rarg___lambda__1___closed__4;
|
||||
|
|
@ -133,7 +130,6 @@ lean_object* l_Lean_ResolveName_resolveNamespace(lean_object*, lean_object*, lea
|
|||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__8;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_withLogging___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_name_append_index_after(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_checkSyntaxNodeKind___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__4___closed__5;
|
||||
static lean_object* l_Lean_Elab_mkMacroAttributeUnsafe___closed__10;
|
||||
|
|
@ -200,7 +196,6 @@ LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___rarg___lambda__6___boxed(lean_
|
|||
LEAN_EXPORT lean_object* l___private_Init_Data_Option_Basic_0__beqOption____x40_Init_Data_Option_Basic___hyg_828____at_Lean_Elab_getBetterRef___spec__1___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_trace___rarg(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__4;
|
||||
lean_object* l_Std_PersistentArray_push___rarg(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_throwErrorWithNestedErrors___spec__1___rarg___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_mapMUnsafe_map___at_Lean_Elab_throwErrorWithNestedErrors___spec__1___rarg(lean_object*, lean_object*, size_t, size_t, lean_object*);
|
||||
|
|
@ -243,7 +238,6 @@ static lean_object* l_Lean_Elab_getBetterRef___closed__1;
|
|||
LEAN_EXPORT lean_object* l_Lean_Elab_getBetterRef___boxed(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__18;
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__15;
|
||||
lean_object* lean_st_ref_set(lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_findDeclarationRanges_x3f___at___private_Lean_Parser_Extension_0__Lean_Parser_BuiltinParserAttribute_add___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_List_foldl___at_Lean_MacroScopesView_review___spec__1(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_nestedExceptionToMessageData(lean_object*);
|
||||
|
|
@ -251,6 +245,7 @@ static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__14;
|
|||
uint8_t l_Lean_Syntax_isNone(lean_object*);
|
||||
static lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__5;
|
||||
LEAN_EXPORT lean_object* l_Lean_throwError___at_Lean_Elab_syntaxNodeKindOfAttrParam___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_liftMacroM___rarg___lambda__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_trace(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_expandMacroImpl_x3f___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -262,7 +257,6 @@ uint8_t l_Lean_Syntax_isOfKind(lean_object*, lean_object*);
|
|||
lean_object* l_Lean_InternalExceptionId_getName___boxed(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_expandOptNamedPrio___boxed(lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_expandOptNamedPrio___closed__8;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Elab_mkElabAttribute___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_checkSyntaxNodeKind___at_Lean_Elab_checkSyntaxNodeKindAtCurrentNamespaces___spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_logException___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_expandOptNamedPrio___closed__1;
|
||||
|
|
@ -1458,293 +1452,6 @@ lean_dec(x_2);
|
|||
return x_4;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Elab_mkElabAttribute___spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8;
|
||||
x_5 = lean_st_ref_get(x_3, x_4);
|
||||
x_6 = lean_ctor_get(x_5, 0);
|
||||
lean_inc(x_6);
|
||||
x_7 = lean_ctor_get(x_6, 6);
|
||||
lean_inc(x_7);
|
||||
lean_dec(x_6);
|
||||
x_8 = lean_ctor_get_uint8(x_7, sizeof(void*)*2);
|
||||
lean_dec(x_7);
|
||||
if (x_8 == 0)
|
||||
{
|
||||
uint8_t x_9;
|
||||
lean_dec(x_1);
|
||||
x_9 = !lean_is_exclusive(x_5);
|
||||
if (x_9 == 0)
|
||||
{
|
||||
lean_object* x_10; lean_object* x_11;
|
||||
x_10 = lean_ctor_get(x_5, 0);
|
||||
lean_dec(x_10);
|
||||
x_11 = lean_box(0);
|
||||
lean_ctor_set(x_5, 0, x_11);
|
||||
return x_5;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_12; lean_object* x_13; lean_object* x_14;
|
||||
x_12 = lean_ctor_get(x_5, 1);
|
||||
lean_inc(x_12);
|
||||
lean_dec(x_5);
|
||||
x_13 = lean_box(0);
|
||||
x_14 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_14, 0, x_13);
|
||||
lean_ctor_set(x_14, 1, x_12);
|
||||
return x_14;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20;
|
||||
x_15 = lean_ctor_get(x_5, 1);
|
||||
lean_inc(x_15);
|
||||
lean_dec(x_5);
|
||||
x_16 = lean_st_ref_take(x_3, x_15);
|
||||
x_17 = lean_ctor_get(x_16, 0);
|
||||
lean_inc(x_17);
|
||||
x_18 = lean_ctor_get(x_17, 6);
|
||||
lean_inc(x_18);
|
||||
x_19 = lean_ctor_get(x_16, 1);
|
||||
lean_inc(x_19);
|
||||
lean_dec(x_16);
|
||||
x_20 = !lean_is_exclusive(x_17);
|
||||
if (x_20 == 0)
|
||||
{
|
||||
lean_object* x_21; uint8_t x_22;
|
||||
x_21 = lean_ctor_get(x_17, 6);
|
||||
lean_dec(x_21);
|
||||
x_22 = !lean_is_exclusive(x_18);
|
||||
if (x_22 == 0)
|
||||
{
|
||||
lean_object* x_23; lean_object* x_24; lean_object* x_25; uint8_t x_26;
|
||||
x_23 = lean_ctor_get(x_18, 1);
|
||||
x_24 = l_Std_PersistentArray_push___rarg(x_23, x_1);
|
||||
lean_ctor_set(x_18, 1, x_24);
|
||||
x_25 = lean_st_ref_set(x_3, x_17, x_19);
|
||||
x_26 = !lean_is_exclusive(x_25);
|
||||
if (x_26 == 0)
|
||||
{
|
||||
lean_object* x_27; lean_object* x_28;
|
||||
x_27 = lean_ctor_get(x_25, 0);
|
||||
lean_dec(x_27);
|
||||
x_28 = lean_box(0);
|
||||
lean_ctor_set(x_25, 0, x_28);
|
||||
return x_25;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_29; lean_object* x_30; lean_object* x_31;
|
||||
x_29 = lean_ctor_get(x_25, 1);
|
||||
lean_inc(x_29);
|
||||
lean_dec(x_25);
|
||||
x_30 = lean_box(0);
|
||||
x_31 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_31, 0, x_30);
|
||||
lean_ctor_set(x_31, 1, x_29);
|
||||
return x_31;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41;
|
||||
x_32 = lean_ctor_get_uint8(x_18, sizeof(void*)*2);
|
||||
x_33 = lean_ctor_get(x_18, 0);
|
||||
x_34 = lean_ctor_get(x_18, 1);
|
||||
lean_inc(x_34);
|
||||
lean_inc(x_33);
|
||||
lean_dec(x_18);
|
||||
x_35 = l_Std_PersistentArray_push___rarg(x_34, x_1);
|
||||
x_36 = lean_alloc_ctor(0, 2, 1);
|
||||
lean_ctor_set(x_36, 0, x_33);
|
||||
lean_ctor_set(x_36, 1, x_35);
|
||||
lean_ctor_set_uint8(x_36, sizeof(void*)*2, x_32);
|
||||
lean_ctor_set(x_17, 6, x_36);
|
||||
x_37 = lean_st_ref_set(x_3, x_17, x_19);
|
||||
x_38 = lean_ctor_get(x_37, 1);
|
||||
lean_inc(x_38);
|
||||
if (lean_is_exclusive(x_37)) {
|
||||
lean_ctor_release(x_37, 0);
|
||||
lean_ctor_release(x_37, 1);
|
||||
x_39 = x_37;
|
||||
} else {
|
||||
lean_dec_ref(x_37);
|
||||
x_39 = lean_box(0);
|
||||
}
|
||||
x_40 = lean_box(0);
|
||||
if (lean_is_scalar(x_39)) {
|
||||
x_41 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_41 = x_39;
|
||||
}
|
||||
lean_ctor_set(x_41, 0, x_40);
|
||||
lean_ctor_set(x_41, 1, x_38);
|
||||
return x_41;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_46; lean_object* x_47; uint8_t x_48; lean_object* x_49; lean_object* x_50; lean_object* x_51; lean_object* x_52; lean_object* x_53; lean_object* x_54; lean_object* x_55; lean_object* x_56; lean_object* x_57; lean_object* x_58; lean_object* x_59;
|
||||
x_42 = lean_ctor_get(x_17, 0);
|
||||
x_43 = lean_ctor_get(x_17, 1);
|
||||
x_44 = lean_ctor_get(x_17, 2);
|
||||
x_45 = lean_ctor_get(x_17, 3);
|
||||
x_46 = lean_ctor_get(x_17, 4);
|
||||
x_47 = lean_ctor_get(x_17, 5);
|
||||
lean_inc(x_47);
|
||||
lean_inc(x_46);
|
||||
lean_inc(x_45);
|
||||
lean_inc(x_44);
|
||||
lean_inc(x_43);
|
||||
lean_inc(x_42);
|
||||
lean_dec(x_17);
|
||||
x_48 = lean_ctor_get_uint8(x_18, sizeof(void*)*2);
|
||||
x_49 = lean_ctor_get(x_18, 0);
|
||||
lean_inc(x_49);
|
||||
x_50 = lean_ctor_get(x_18, 1);
|
||||
lean_inc(x_50);
|
||||
if (lean_is_exclusive(x_18)) {
|
||||
lean_ctor_release(x_18, 0);
|
||||
lean_ctor_release(x_18, 1);
|
||||
x_51 = x_18;
|
||||
} else {
|
||||
lean_dec_ref(x_18);
|
||||
x_51 = lean_box(0);
|
||||
}
|
||||
x_52 = l_Std_PersistentArray_push___rarg(x_50, x_1);
|
||||
if (lean_is_scalar(x_51)) {
|
||||
x_53 = lean_alloc_ctor(0, 2, 1);
|
||||
} else {
|
||||
x_53 = x_51;
|
||||
}
|
||||
lean_ctor_set(x_53, 0, x_49);
|
||||
lean_ctor_set(x_53, 1, x_52);
|
||||
lean_ctor_set_uint8(x_53, sizeof(void*)*2, x_48);
|
||||
x_54 = lean_alloc_ctor(0, 7, 0);
|
||||
lean_ctor_set(x_54, 0, x_42);
|
||||
lean_ctor_set(x_54, 1, x_43);
|
||||
lean_ctor_set(x_54, 2, x_44);
|
||||
lean_ctor_set(x_54, 3, x_45);
|
||||
lean_ctor_set(x_54, 4, x_46);
|
||||
lean_ctor_set(x_54, 5, x_47);
|
||||
lean_ctor_set(x_54, 6, x_53);
|
||||
x_55 = lean_st_ref_set(x_3, x_54, x_19);
|
||||
x_56 = lean_ctor_get(x_55, 1);
|
||||
lean_inc(x_56);
|
||||
if (lean_is_exclusive(x_55)) {
|
||||
lean_ctor_release(x_55, 0);
|
||||
lean_ctor_release(x_55, 1);
|
||||
x_57 = x_55;
|
||||
} else {
|
||||
lean_dec_ref(x_55);
|
||||
x_57 = lean_box(0);
|
||||
}
|
||||
x_58 = lean_box(0);
|
||||
if (lean_is_scalar(x_57)) {
|
||||
x_59 = lean_alloc_ctor(0, 2, 0);
|
||||
} else {
|
||||
x_59 = x_57;
|
||||
}
|
||||
lean_ctor_set(x_59, 0, x_58);
|
||||
lean_ctor_set(x_59, 1, x_56);
|
||||
return x_59;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__1() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = lean_unsigned_to_nat(32u);
|
||||
x_2 = lean_mk_empty_array_with_capacity(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__2() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__1;
|
||||
x_2 = lean_alloc_ctor(0, 1, 0);
|
||||
lean_ctor_set(x_2, 0, x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__3() {
|
||||
_start:
|
||||
{
|
||||
size_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = 5;
|
||||
x_2 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__2;
|
||||
x_3 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__1;
|
||||
x_4 = lean_unsigned_to_nat(0u);
|
||||
x_5 = lean_alloc_ctor(0, 4, sizeof(size_t)*1);
|
||||
lean_ctor_set(x_5, 0, x_2);
|
||||
lean_ctor_set(x_5, 1, x_3);
|
||||
lean_ctor_set(x_5, 2, x_4);
|
||||
lean_ctor_set(x_5, 3, x_4);
|
||||
lean_ctor_set_usize(x_5, 4, x_1);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_5; lean_object* x_6; lean_object* x_7; uint8_t x_8;
|
||||
x_5 = lean_st_ref_get(x_3, x_4);
|
||||
x_6 = lean_ctor_get(x_5, 0);
|
||||
lean_inc(x_6);
|
||||
x_7 = lean_ctor_get(x_6, 6);
|
||||
lean_inc(x_7);
|
||||
lean_dec(x_6);
|
||||
x_8 = lean_ctor_get_uint8(x_7, sizeof(void*)*2);
|
||||
lean_dec(x_7);
|
||||
if (x_8 == 0)
|
||||
{
|
||||
uint8_t x_9;
|
||||
lean_dec(x_1);
|
||||
x_9 = !lean_is_exclusive(x_5);
|
||||
if (x_9 == 0)
|
||||
{
|
||||
lean_object* x_10; lean_object* x_11;
|
||||
x_10 = lean_ctor_get(x_5, 0);
|
||||
lean_dec(x_10);
|
||||
x_11 = lean_box(0);
|
||||
lean_ctor_set(x_5, 0, x_11);
|
||||
return x_5;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_12; lean_object* x_13; lean_object* x_14;
|
||||
x_12 = lean_ctor_get(x_5, 1);
|
||||
lean_inc(x_12);
|
||||
lean_dec(x_5);
|
||||
x_13 = lean_box(0);
|
||||
x_14 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_14, 0, x_13);
|
||||
lean_ctor_set(x_14, 1, x_12);
|
||||
return x_14;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
|
||||
x_15 = lean_ctor_get(x_5, 1);
|
||||
lean_inc(x_15);
|
||||
lean_dec(x_5);
|
||||
x_16 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__3;
|
||||
x_17 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_17, 0, x_1);
|
||||
lean_ctor_set(x_17, 1, x_16);
|
||||
x_18 = l_Lean_Elab_pushInfoTree___at_Lean_Elab_mkElabAttribute___spec__2(x_17, x_2, x_3, x_15);
|
||||
return x_18;
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -1788,9 +1495,45 @@ return x_3;
|
|||
static lean_object* _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__4() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = lean_unsigned_to_nat(32u);
|
||||
x_2 = lean_mk_empty_array_with_capacity(x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__5() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2;
|
||||
x_1 = l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__4;
|
||||
x_2 = lean_alloc_ctor(0, 1, 0);
|
||||
lean_ctor_set(x_2, 0, x_1);
|
||||
return x_2;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__6() {
|
||||
_start:
|
||||
{
|
||||
size_t x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; lean_object* x_5;
|
||||
x_1 = 5;
|
||||
x_2 = l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__5;
|
||||
x_3 = l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__4;
|
||||
x_4 = lean_unsigned_to_nat(0u);
|
||||
x_5 = lean_alloc_ctor(0, 4, sizeof(size_t)*1);
|
||||
lean_ctor_set(x_5, 0, x_2);
|
||||
lean_ctor_set(x_5, 1, x_3);
|
||||
lean_ctor_set(x_5, 2, x_4);
|
||||
lean_ctor_set(x_5, 3, x_4);
|
||||
lean_ctor_set_usize(x_5, 4, x_1);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__7() {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_1; lean_object* x_2; lean_object* x_3;
|
||||
x_1 = l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__3;
|
||||
x_2 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__3;
|
||||
x_2 = l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__6;
|
||||
x_3 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_3, 0, x_1);
|
||||
lean_ctor_set(x_3, 1, x_2);
|
||||
|
|
@ -1871,7 +1614,7 @@ x_25 = lean_box(0);
|
|||
x_26 = lean_box(0);
|
||||
lean_inc(x_8);
|
||||
x_27 = l_Lean_Expr_const___override(x_8, x_26);
|
||||
x_28 = l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__4;
|
||||
x_28 = l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__7;
|
||||
x_29 = 0;
|
||||
x_30 = lean_alloc_ctor(0, 4, 1);
|
||||
lean_ctor_set(x_30, 0, x_24);
|
||||
|
|
@ -1881,7 +1624,7 @@ lean_ctor_set(x_30, 3, x_27);
|
|||
lean_ctor_set_uint8(x_30, sizeof(void*)*4, x_29);
|
||||
x_31 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_31, 0, x_30);
|
||||
x_32 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1(x_31, x_4, x_5, x_17);
|
||||
x_32 = l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15(x_31, x_4, x_5, x_17);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
x_33 = !lean_is_exclusive(x_32);
|
||||
|
|
@ -1962,7 +1705,7 @@ x_48 = lean_box(0);
|
|||
x_49 = lean_box(0);
|
||||
lean_inc(x_8);
|
||||
x_50 = l_Lean_Expr_const___override(x_8, x_49);
|
||||
x_51 = l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__4;
|
||||
x_51 = l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__7;
|
||||
x_52 = 0;
|
||||
x_53 = lean_alloc_ctor(0, 4, 1);
|
||||
lean_ctor_set(x_53, 0, x_47);
|
||||
|
|
@ -1972,7 +1715,7 @@ lean_ctor_set(x_53, 3, x_50);
|
|||
lean_ctor_set_uint8(x_53, sizeof(void*)*4, x_52);
|
||||
x_54 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_54, 0, x_53);
|
||||
x_55 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1(x_54, x_4, x_5, x_38);
|
||||
x_55 = l_Lean_Elab_pushInfoLeaf___at_Lean_registerInitAttrUnsafe___spec__15(x_54, x_4, x_5, x_38);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
x_56 = lean_ctor_get(x_55, 1);
|
||||
|
|
@ -2553,26 +2296,6 @@ x_2 = lean_alloc_closure((void*)(l_Lean_Elab_mkElabAttribute___rarg), 7, 0);
|
|||
return x_2;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Elab_mkElabAttribute___spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_5;
|
||||
x_5 = l_Lean_Elab_pushInfoTree___at_Lean_Elab_mkElabAttribute___spec__2(x_1, x_2, x_3, x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_5;
|
||||
x_5 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1(x_1, x_2, x_3, x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_mkElabAttribute___rarg___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -5183,12 +4906,6 @@ l___private_Lean_Elab_Util_0__Lean_Elab_evalSyntaxConstantUnsafe___closed__1 = _
|
|||
lean_mark_persistent(l___private_Lean_Elab_Util_0__Lean_Elab_evalSyntaxConstantUnsafe___closed__1);
|
||||
l___private_Lean_Elab_Util_0__Lean_Elab_evalSyntaxConstantUnsafe___closed__2 = _init_l___private_Lean_Elab_Util_0__Lean_Elab_evalSyntaxConstantUnsafe___closed__2();
|
||||
lean_mark_persistent(l___private_Lean_Elab_Util_0__Lean_Elab_evalSyntaxConstantUnsafe___closed__2);
|
||||
l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__1 = _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__1);
|
||||
l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__2 = _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__2();
|
||||
lean_mark_persistent(l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__2);
|
||||
l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__3 = _init_l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__3();
|
||||
lean_mark_persistent(l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1___closed__3);
|
||||
l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__1 = _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__1);
|
||||
l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__2 = _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__2();
|
||||
|
|
@ -5197,6 +4914,12 @@ l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__3 = _init_l_Lean_Elab_m
|
|||
lean_mark_persistent(l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__3);
|
||||
l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__4 = _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__4();
|
||||
lean_mark_persistent(l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__4);
|
||||
l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__5 = _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__5();
|
||||
lean_mark_persistent(l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__5);
|
||||
l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__6 = _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__6();
|
||||
lean_mark_persistent(l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__6);
|
||||
l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__7 = _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__7();
|
||||
lean_mark_persistent(l_Lean_Elab_mkElabAttribute___rarg___lambda__2___closed__7);
|
||||
l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__1 = _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__1();
|
||||
lean_mark_persistent(l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__1);
|
||||
l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__2 = _init_l_Lean_Elab_mkElabAttribute___rarg___lambda__3___closed__2();
|
||||
|
|
|
|||
379
stage0/stdlib/Lean/Linter/MissingDocs.c
generated
379
stage0/stdlib/Lean/Linter/MissingDocs.c
generated
|
|
@ -36,7 +36,6 @@ static lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Linter_MissingDocs_handle
|
|||
static lean_object* l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_356____closed__9;
|
||||
lean_object* l_Lean_Name_str___override(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Linter_MissingDocs_mkHandlerUnsafe___closed__4;
|
||||
lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Linter_MissingDocs_lintDeclHead___closed__14;
|
||||
lean_object* l_Lean_throwError___at_Lean_registerTagAttribute___spec__3(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_SimpleHandler_toHandler___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -55,7 +54,6 @@ LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_handleIn___rarg___lambda__1(l
|
|||
static lean_object* l_Lean_Linter_MissingDocs_mkHandlerUnsafe___closed__1;
|
||||
lean_object* l_Lean_Attribute_Builtin_getIdent(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_356____closed__6;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__1___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Linter_MissingDocs_lintDeclHead___closed__22;
|
||||
static lean_object* l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_356____closed__4;
|
||||
static lean_object* l___regBuiltin_Lean_Linter_MissingDocs_checkMixfix___closed__1;
|
||||
|
|
@ -82,6 +80,7 @@ LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_Mis
|
|||
lean_object* lean_environment_find(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoTree___at_Lean_Linter_MissingDocs_handleIn___spec__4(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_checkSimpLike___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_getConstInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__14(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_st_ref_get(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_handleIn___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____lambda__4(lean_object*, lean_object*, lean_object*, lean_object*, uint8_t, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -101,7 +100,6 @@ static lean_object* l_Lean_Linter_MissingDocs_checkSimpLike___closed__1;
|
|||
static lean_object* l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____closed__19;
|
||||
lean_object* l_Lean_Elab_Command_addLinter(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Linter_MissingDocs_lintField___closed__1;
|
||||
lean_object* l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_356____closed__3;
|
||||
static lean_object* l_Lean_Linter_MissingDocs_handleIn___rarg___closed__2;
|
||||
lean_object* l_Array_toSubarray___rarg(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -109,7 +107,6 @@ lean_object* lean_array_get_size(lean_object*);
|
|||
static lean_object* l___regBuiltin_Lean_Linter_MissingDocs_checkNotation___closed__1;
|
||||
lean_object* lean_string_append(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_PersistentArray_foldlM___at_Lean_Linter_MissingDocs_checkDecl___spec__11(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__1___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_handleMutual(uint8_t);
|
||||
static lean_object* l_Lean_Linter_MissingDocs_lintDeclHead___closed__5;
|
||||
LEAN_EXPORT lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_MissingDocs___hyg_8_(lean_object*);
|
||||
|
|
@ -143,7 +140,6 @@ static lean_object* l_Lean_Linter_MissingDocs_lintDeclHead___closed__1;
|
|||
static lean_object* l___regBuiltin_Lean_Linter_MissingDocs_checkSimpLike___closed__4;
|
||||
static lean_object* l_Lean_Elab_elabSetOption_setOption___at_Lean_Linter_MissingDocs_handleIn___spec__6___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_addCompletionInfo___at_Lean_Linter_MissingDocs_handleIn___spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__3(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_lintDeclHead___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Linter_MissingDocs_mkHandlerUnsafe___closed__7;
|
||||
LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_missingDocsExt;
|
||||
|
|
@ -152,7 +148,6 @@ LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_Mis
|
|||
static lean_object* l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____lambda__5___closed__2;
|
||||
static lean_object* l___regBuiltin_Lean_Linter_MissingDocs_checkSyntax___closed__3;
|
||||
LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_checkNotation___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
extern lean_object* l_Lean_LocalContext_empty;
|
||||
size_t lean_uint64_to_usize(uint64_t);
|
||||
static lean_object* l_Lean_Linter_MissingDocs_lintDeclHead___closed__23;
|
||||
LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_lintStructField___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -170,7 +165,6 @@ LEAN_EXPORT lean_object* l___regBuiltin_Lean_Linter_MissingDocs_checkSyntaxAbbre
|
|||
lean_object* l_Lean_Syntax_isNatLit_x3f(lean_object*);
|
||||
static lean_object* l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____lambda__5___closed__1;
|
||||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Linter_MissingDocs_checkSimpLike(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Linter_MissingDocs_lintDeclHead___closed__4;
|
||||
uint8_t lean_nat_dec_eq(lean_object*, lean_object*);
|
||||
uint8_t l___private_Lean_Attributes_0__Lean_beqAttributeKind____x40_Lean_Attributes___hyg_192_(uint8_t, uint8_t);
|
||||
|
|
@ -183,7 +177,6 @@ static lean_object* l___regBuiltin_Lean_Linter_MissingDocs_checkInit___closed__2
|
|||
lean_object* lean_st_ref_take(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____closed__18;
|
||||
lean_object* l_Lean_getOptionDecl(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Linter_MissingDocs_lintDeclHead___closed__2;
|
||||
static lean_object* l___regBuiltin_Lean_Linter_MissingDocs_checkMacro___closed__2;
|
||||
lean_object* l_EStateM_bind___rarg(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -200,7 +193,6 @@ LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Linter_MissingDocs_
|
|||
LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_checkRegisterOption___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Linter_MissingDocs_handleIn___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Array_forInUnsafe_loop___at_Lean_Linter_MissingDocs_checkDecl___spec__17(lean_object*, lean_object*, lean_object*, lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____lambda__8(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Linter_MissingDocs_handleMutual___spec__1(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_handleMutual___rarg(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -266,7 +258,6 @@ LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_checkClassAbbrev(lean_object*
|
|||
LEAN_EXPORT lean_object* l___regBuiltin_Lean_Linter_MissingDocs_checkRegisterSimpAttr(lean_object*);
|
||||
static lean_object* l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_356____lambda__1___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Linter_MissingDocs_handleMutual___spec__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__3___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Linter_MissingDocs_checkDecl___spec__15___boxed(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
uint64_t lean_uint64_of_nat(lean_object*);
|
||||
static lean_object* l_Array_forInUnsafe_loop___at_Lean_Linter_MissingDocs_checkDecl___spec__18___closed__1;
|
||||
|
|
@ -387,7 +378,6 @@ static lean_object* l_Lean_Linter_MissingDocs_checkNotation___closed__1;
|
|||
LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_lintDeclHead(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_356____spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_declareBuiltin(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(lean_object*, lean_object*);
|
||||
lean_object* l_Array_ofSubarray___rarg(lean_object*);
|
||||
lean_object* lean_nat_mul(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Elab_Command_getRef(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -466,8 +456,8 @@ static lean_object* l_Lean_Linter_MissingDocs_checkNotation___closed__3;
|
|||
static lean_object* l_Lean_Linter_MissingDocs_lint___closed__3;
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_pushInfoLeaf___at_Lean_Linter_MissingDocs_handleIn___spec__3(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Linter_MissingDocs_checkNotation___closed__5;
|
||||
lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_356____spec__2(lean_object*, size_t, size_t, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_checkRegisterOption(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l___regBuiltin_Lean_Linter_MissingDocs_checkSyntaxCat___closed__4;
|
||||
LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_356____lambda__1(lean_object*);
|
||||
|
|
@ -2229,277 +2219,6 @@ return x_13;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__3(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_5;
|
||||
lean_inc(x_1);
|
||||
x_5 = l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1(x_1, x_2, x_3, x_4);
|
||||
if (lean_obj_tag(x_5) == 0)
|
||||
{
|
||||
uint8_t x_6;
|
||||
x_6 = !lean_is_exclusive(x_5);
|
||||
if (x_6 == 0)
|
||||
{
|
||||
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11;
|
||||
x_7 = lean_ctor_get(x_5, 0);
|
||||
x_8 = l_Lean_ConstantInfo_levelParams(x_7);
|
||||
lean_dec(x_7);
|
||||
x_9 = lean_box(0);
|
||||
x_10 = l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(x_8, x_9);
|
||||
x_11 = l_Lean_Expr_const___override(x_1, x_10);
|
||||
lean_ctor_set(x_5, 0, x_11);
|
||||
return x_5;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18;
|
||||
x_12 = lean_ctor_get(x_5, 0);
|
||||
x_13 = lean_ctor_get(x_5, 1);
|
||||
lean_inc(x_13);
|
||||
lean_inc(x_12);
|
||||
lean_dec(x_5);
|
||||
x_14 = l_Lean_ConstantInfo_levelParams(x_12);
|
||||
lean_dec(x_12);
|
||||
x_15 = lean_box(0);
|
||||
x_16 = l_List_mapTRAux___at_Lean_mkConstWithLevelParams___spec__1(x_14, x_15);
|
||||
x_17 = l_Lean_Expr_const___override(x_1, x_16);
|
||||
x_18 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_18, 0, x_17);
|
||||
lean_ctor_set(x_18, 1, x_13);
|
||||
return x_18;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_19;
|
||||
lean_dec(x_1);
|
||||
x_19 = !lean_is_exclusive(x_5);
|
||||
if (x_19 == 0)
|
||||
{
|
||||
return x_5;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_20; lean_object* x_21; lean_object* x_22;
|
||||
x_20 = lean_ctor_get(x_5, 0);
|
||||
x_21 = lean_ctor_get(x_5, 1);
|
||||
lean_inc(x_21);
|
||||
lean_inc(x_20);
|
||||
lean_dec(x_5);
|
||||
x_22 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_22, 0, x_20);
|
||||
lean_ctor_set(x_22, 1, x_21);
|
||||
return x_22;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__2(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_7;
|
||||
x_7 = l_Lean_mkConstWithLevelParams___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__3(x_2, x_4, x_5, x_6);
|
||||
if (lean_obj_tag(x_7) == 0)
|
||||
{
|
||||
lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16;
|
||||
x_8 = lean_ctor_get(x_7, 0);
|
||||
lean_inc(x_8);
|
||||
x_9 = lean_ctor_get(x_7, 1);
|
||||
lean_inc(x_9);
|
||||
lean_dec(x_7);
|
||||
x_10 = lean_box(0);
|
||||
x_11 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_11, 0, x_10);
|
||||
lean_ctor_set(x_11, 1, x_1);
|
||||
x_12 = l_Lean_LocalContext_empty;
|
||||
x_13 = 0;
|
||||
x_14 = lean_alloc_ctor(0, 4, 1);
|
||||
lean_ctor_set(x_14, 0, x_11);
|
||||
lean_ctor_set(x_14, 1, x_12);
|
||||
lean_ctor_set(x_14, 2, x_3);
|
||||
lean_ctor_set(x_14, 3, x_8);
|
||||
lean_ctor_set_uint8(x_14, sizeof(void*)*4, x_13);
|
||||
x_15 = lean_alloc_ctor(1, 1, 0);
|
||||
lean_ctor_set(x_15, 0, x_14);
|
||||
x_16 = l_Lean_Elab_pushInfoLeaf___at_Lean_Elab_mkElabAttribute___spec__1(x_15, x_4, x_5, x_9);
|
||||
return x_16;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_17;
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_1);
|
||||
x_17 = !lean_is_exclusive(x_7);
|
||||
if (x_17 == 0)
|
||||
{
|
||||
return x_7;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_18; lean_object* x_19; lean_object* x_20;
|
||||
x_18 = lean_ctor_get(x_7, 0);
|
||||
x_19 = lean_ctor_get(x_7, 1);
|
||||
lean_inc(x_19);
|
||||
lean_inc(x_18);
|
||||
lean_dec(x_7);
|
||||
x_20 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_20, 0, x_18);
|
||||
lean_ctor_set(x_20, 1, x_19);
|
||||
return x_20;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__1___lambda__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_6;
|
||||
x_6 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_6, 0, x_1);
|
||||
lean_ctor_set(x_6, 1, x_5);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__1(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_6;
|
||||
lean_inc(x_4);
|
||||
lean_inc(x_3);
|
||||
lean_inc(x_1);
|
||||
x_6 = l_Lean_resolveGlobalConstNoOverload___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2(x_1, x_3, x_4, x_5);
|
||||
if (lean_obj_tag(x_6) == 0)
|
||||
{
|
||||
lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; uint8_t x_12;
|
||||
x_7 = lean_ctor_get(x_6, 0);
|
||||
lean_inc(x_7);
|
||||
x_8 = lean_ctor_get(x_6, 1);
|
||||
lean_inc(x_8);
|
||||
lean_dec(x_6);
|
||||
x_9 = lean_st_ref_get(x_4, x_8);
|
||||
x_10 = lean_ctor_get(x_9, 0);
|
||||
lean_inc(x_10);
|
||||
x_11 = lean_ctor_get(x_10, 6);
|
||||
lean_inc(x_11);
|
||||
lean_dec(x_10);
|
||||
x_12 = lean_ctor_get_uint8(x_11, sizeof(void*)*2);
|
||||
lean_dec(x_11);
|
||||
if (x_12 == 0)
|
||||
{
|
||||
uint8_t x_13;
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_13 = !lean_is_exclusive(x_9);
|
||||
if (x_13 == 0)
|
||||
{
|
||||
lean_object* x_14;
|
||||
x_14 = lean_ctor_get(x_9, 0);
|
||||
lean_dec(x_14);
|
||||
lean_ctor_set(x_9, 0, x_7);
|
||||
return x_9;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_15; lean_object* x_16;
|
||||
x_15 = lean_ctor_get(x_9, 1);
|
||||
lean_inc(x_15);
|
||||
lean_dec(x_9);
|
||||
x_16 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_16, 0, x_7);
|
||||
lean_ctor_set(x_16, 1, x_15);
|
||||
return x_16;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_17; lean_object* x_18;
|
||||
x_17 = lean_ctor_get(x_9, 1);
|
||||
lean_inc(x_17);
|
||||
lean_dec(x_9);
|
||||
lean_inc(x_7);
|
||||
x_18 = l_Lean_Elab_addConstInfo___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__2(x_1, x_7, x_2, x_3, x_4, x_17);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
if (lean_obj_tag(x_18) == 0)
|
||||
{
|
||||
uint8_t x_19;
|
||||
x_19 = !lean_is_exclusive(x_18);
|
||||
if (x_19 == 0)
|
||||
{
|
||||
lean_object* x_20;
|
||||
x_20 = lean_ctor_get(x_18, 0);
|
||||
lean_dec(x_20);
|
||||
lean_ctor_set(x_18, 0, x_7);
|
||||
return x_18;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_21; lean_object* x_22;
|
||||
x_21 = lean_ctor_get(x_18, 1);
|
||||
lean_inc(x_21);
|
||||
lean_dec(x_18);
|
||||
x_22 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_22, 0, x_7);
|
||||
lean_ctor_set(x_22, 1, x_21);
|
||||
return x_22;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_23;
|
||||
lean_dec(x_7);
|
||||
x_23 = !lean_is_exclusive(x_18);
|
||||
if (x_23 == 0)
|
||||
{
|
||||
return x_18;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_24; lean_object* x_25; lean_object* x_26;
|
||||
x_24 = lean_ctor_get(x_18, 0);
|
||||
x_25 = lean_ctor_get(x_18, 1);
|
||||
lean_inc(x_25);
|
||||
lean_inc(x_24);
|
||||
lean_dec(x_18);
|
||||
x_26 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_26, 0, x_24);
|
||||
lean_ctor_set(x_26, 1, x_25);
|
||||
return x_26;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
uint8_t x_27;
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
lean_dec(x_1);
|
||||
x_27 = !lean_is_exclusive(x_6);
|
||||
if (x_27 == 0)
|
||||
{
|
||||
return x_6;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_28; lean_object* x_29; lean_object* x_30;
|
||||
x_28 = lean_ctor_get(x_6, 0);
|
||||
x_29 = lean_ctor_get(x_6, 1);
|
||||
lean_inc(x_29);
|
||||
lean_inc(x_28);
|
||||
lean_dec(x_6);
|
||||
x_30 = lean_alloc_ctor(1, 2, 0);
|
||||
lean_ctor_set(x_30, 0, x_28);
|
||||
lean_ctor_set(x_30, 1, x_29);
|
||||
return x_30;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
static lean_object* _init_l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____lambda__1___closed__1() {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -2583,7 +2302,7 @@ _start:
|
|||
lean_object* x_8;
|
||||
lean_dec(x_4);
|
||||
lean_inc(x_1);
|
||||
x_8 = l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1(x_1, x_5, x_6, x_7);
|
||||
x_8 = l_Lean_getConstInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__14(x_1, x_5, x_6, x_7);
|
||||
if (lean_obj_tag(x_8) == 0)
|
||||
{
|
||||
lean_object* x_9; lean_object* x_10; lean_object* x_11;
|
||||
|
|
@ -2606,7 +2325,7 @@ lean_dec(x_11);
|
|||
x_14 = lean_box(0);
|
||||
lean_inc(x_6);
|
||||
lean_inc(x_5);
|
||||
x_15 = l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__1(x_12, x_14, x_5, x_6, x_13);
|
||||
x_15 = l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2(x_12, x_14, x_5, x_6, x_13);
|
||||
if (lean_obj_tag(x_15) == 0)
|
||||
{
|
||||
lean_object* x_16; lean_object* x_17; lean_object* x_18; uint8_t x_19;
|
||||
|
|
@ -3042,7 +2761,7 @@ _start:
|
|||
lean_object* x_9;
|
||||
lean_dec(x_5);
|
||||
lean_inc(x_1);
|
||||
x_9 = l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1(x_1, x_6, x_7, x_8);
|
||||
x_9 = l_Lean_getConstInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__14(x_1, x_6, x_7, x_8);
|
||||
if (lean_obj_tag(x_9) == 0)
|
||||
{
|
||||
lean_object* x_10; lean_object* x_11; lean_object* x_12;
|
||||
|
|
@ -3065,7 +2784,7 @@ lean_dec(x_12);
|
|||
x_15 = lean_box(0);
|
||||
lean_inc(x_7);
|
||||
lean_inc(x_6);
|
||||
x_16 = l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__1(x_13, x_15, x_6, x_7, x_14);
|
||||
x_16 = l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__2(x_13, x_15, x_6, x_7, x_14);
|
||||
if (lean_obj_tag(x_16) == 0)
|
||||
{
|
||||
lean_object* x_17; lean_object* x_18; lean_object* x_19; uint8_t x_20;
|
||||
|
|
@ -3716,37 +3435,6 @@ return x_18;
|
|||
}
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_mkConstWithLevelParams___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__3___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_5;
|
||||
x_5 = l_Lean_mkConstWithLevelParams___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__3(x_1, x_2, x_3, x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
return x_5;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_addConstInfo___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__2___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_7;
|
||||
x_7 = l_Lean_Elab_addConstInfo___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__2(x_1, x_2, x_3, x_4, x_5, x_6);
|
||||
lean_dec(x_5);
|
||||
lean_dec(x_4);
|
||||
return x_7;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__1___lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) {
|
||||
_start:
|
||||
{
|
||||
lean_object* x_6;
|
||||
x_6 = l_Lean_Elab_resolveGlobalConstNoOverloadWithInfo___at_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____spec__1___lambda__1(x_1, x_2, x_3, x_4, x_5);
|
||||
lean_dec(x_4);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
return x_6;
|
||||
}
|
||||
}
|
||||
LEAN_EXPORT lean_object* l_Lean_Linter_MissingDocs_initFn____x40_Lean_Linter_MissingDocs___hyg_757____lambda__1___boxed(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5, lean_object* x_6, lean_object* x_7, lean_object* x_8) {
|
||||
_start:
|
||||
{
|
||||
|
|
@ -6574,7 +6262,7 @@ return x_9;
|
|||
else
|
||||
{
|
||||
lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16;
|
||||
x_10 = lean_unsigned_to_nat(1u);
|
||||
x_10 = lean_unsigned_to_nat(2u);
|
||||
x_11 = l_Lean_Syntax_getArg(x_1, x_10);
|
||||
x_12 = l_Lean_Syntax_getArg(x_11, x_5);
|
||||
lean_dec(x_11);
|
||||
|
|
@ -6587,7 +6275,7 @@ lean_dec(x_14);
|
|||
if (x_16 == 0)
|
||||
{
|
||||
lean_object* x_17; lean_object* x_18; uint8_t x_19;
|
||||
x_17 = lean_unsigned_to_nat(4u);
|
||||
x_17 = lean_unsigned_to_nat(5u);
|
||||
x_18 = l_Lean_Syntax_getArg(x_1, x_17);
|
||||
x_19 = l_Lean_Syntax_isNone(x_18);
|
||||
if (x_19 == 0)
|
||||
|
|
@ -6607,7 +6295,7 @@ else
|
|||
{
|
||||
lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28;
|
||||
lean_dec(x_18);
|
||||
x_25 = lean_unsigned_to_nat(2u);
|
||||
x_25 = lean_unsigned_to_nat(3u);
|
||||
x_26 = l_Lean_Syntax_getArg(x_1, x_25);
|
||||
x_27 = l_Lean_Linter_MissingDocs_checkNotation___closed__5;
|
||||
x_28 = l_Lean_Linter_MissingDocs_lint(x_26, x_27, x_2, x_3, x_4);
|
||||
|
|
@ -6696,7 +6384,7 @@ return x_9;
|
|||
else
|
||||
{
|
||||
lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; uint8_t x_16;
|
||||
x_10 = lean_unsigned_to_nat(1u);
|
||||
x_10 = lean_unsigned_to_nat(2u);
|
||||
x_11 = l_Lean_Syntax_getArg(x_1, x_10);
|
||||
x_12 = l_Lean_Syntax_getArg(x_11, x_5);
|
||||
lean_dec(x_11);
|
||||
|
|
@ -6709,51 +6397,50 @@ lean_dec(x_14);
|
|||
if (x_16 == 0)
|
||||
{
|
||||
lean_object* x_17; lean_object* x_18; uint8_t x_19;
|
||||
x_17 = lean_unsigned_to_nat(4u);
|
||||
x_17 = lean_unsigned_to_nat(5u);
|
||||
x_18 = l_Lean_Syntax_getArg(x_1, x_17);
|
||||
x_19 = l_Lean_Syntax_isNone(x_18);
|
||||
if (x_19 == 0)
|
||||
{
|
||||
lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26; lean_object* x_27;
|
||||
lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; lean_object* x_26;
|
||||
x_20 = l_Lean_Syntax_getArg(x_18, x_5);
|
||||
lean_dec(x_18);
|
||||
x_21 = lean_unsigned_to_nat(3u);
|
||||
x_22 = l_Lean_Syntax_getArg(x_20, x_21);
|
||||
lean_dec(x_20);
|
||||
x_23 = lean_unsigned_to_nat(2u);
|
||||
x_24 = l_Lean_Syntax_getArg(x_1, x_23);
|
||||
x_25 = l_Lean_Syntax_getArg(x_24, x_5);
|
||||
x_23 = l_Lean_Syntax_getArg(x_1, x_21);
|
||||
x_24 = l_Lean_Syntax_getArg(x_23, x_5);
|
||||
lean_dec(x_23);
|
||||
x_25 = l_Lean_Syntax_getAtomVal_x21(x_24);
|
||||
lean_dec(x_24);
|
||||
x_26 = l_Lean_Syntax_getAtomVal_x21(x_25);
|
||||
x_26 = l_Lean_Linter_MissingDocs_lintNamed(x_22, x_25, x_2, x_3, x_4);
|
||||
lean_dec(x_25);
|
||||
x_27 = l_Lean_Linter_MissingDocs_lintNamed(x_22, x_26, x_2, x_3, x_4);
|
||||
lean_dec(x_26);
|
||||
lean_dec(x_22);
|
||||
return x_27;
|
||||
return x_26;
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31; lean_object* x_32;
|
||||
lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; lean_object* x_31;
|
||||
lean_dec(x_18);
|
||||
x_28 = lean_unsigned_to_nat(2u);
|
||||
x_29 = l_Lean_Syntax_getArg(x_1, x_28);
|
||||
x_30 = l_Lean_Syntax_getArg(x_29, x_5);
|
||||
x_31 = l_Lean_Syntax_getAtomVal_x21(x_30);
|
||||
lean_dec(x_30);
|
||||
x_32 = l_Lean_Linter_MissingDocs_lint(x_29, x_31, x_2, x_3, x_4);
|
||||
lean_dec(x_31);
|
||||
x_27 = lean_unsigned_to_nat(3u);
|
||||
x_28 = l_Lean_Syntax_getArg(x_1, x_27);
|
||||
x_29 = l_Lean_Syntax_getArg(x_28, x_5);
|
||||
x_30 = l_Lean_Syntax_getAtomVal_x21(x_29);
|
||||
lean_dec(x_29);
|
||||
return x_32;
|
||||
x_31 = l_Lean_Linter_MissingDocs_lint(x_28, x_30, x_2, x_3, x_4);
|
||||
lean_dec(x_30);
|
||||
lean_dec(x_28);
|
||||
return x_31;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lean_object* x_33; lean_object* x_34;
|
||||
x_33 = lean_box(0);
|
||||
x_34 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_34, 0, x_33);
|
||||
lean_ctor_set(x_34, 1, x_4);
|
||||
return x_34;
|
||||
lean_object* x_32; lean_object* x_33;
|
||||
x_32 = lean_box(0);
|
||||
x_33 = lean_alloc_ctor(0, 2, 0);
|
||||
lean_ctor_set(x_33, 0, x_32);
|
||||
lean_ctor_set(x_33, 1, x_4);
|
||||
return x_33;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
4
stage0/stdlib/Lean/Linter/UnusedVariables.c
generated
4
stage0/stdlib/Lean/Linter/UnusedVariables.c
generated
|
|
@ -82,6 +82,7 @@ static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hy
|
|||
size_t lean_usize_sub(size_t, size_t);
|
||||
LEAN_EXPORT lean_object* l_List_forIn_loop___at_Lean_Linter_unusedVariables___spec__32___lambda__4___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Elab_InfoTree_visitM_go___at_Lean_Linter_unusedVariables___spec__24___closed__1;
|
||||
lean_object* l_Lean_getConstInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__14(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* lean_st_ref_get(lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Std_HashSetImp_expand___at_Lean_Linter_unusedVariables___spec__4(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_550____lambda__5___closed__1;
|
||||
|
|
@ -100,7 +101,6 @@ LEAN_EXPORT lean_object* l_Array_foldlMUnsafe_fold___at_Lean_Linter_unusedVariab
|
|||
LEAN_EXPORT lean_object* l_Std_HashMapImp_moveEntries___at_Lean_Linter_unusedVariables___spec__11(lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Linter_getLinterUnusedVariablesPatternVars___boxed(lean_object*);
|
||||
lean_object* l_Lean_Elab_Command_addLinter(lean_object*, lean_object*);
|
||||
lean_object* l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_1722____lambda__1___closed__4;
|
||||
static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_1778____closed__1;
|
||||
static lean_object* l_Lean_Linter_initFn____x40_Lean_Linter_UnusedVariables___hyg_550____lambda__5___closed__8;
|
||||
|
|
@ -4146,7 +4146,7 @@ _start:
|
|||
lean_object* x_7;
|
||||
lean_dec(x_3);
|
||||
lean_inc(x_1);
|
||||
x_7 = l_Lean_getConstInfo___at_Lean_registerInitAttrUnsafe___spec__1(x_1, x_4, x_5, x_6);
|
||||
x_7 = l_Lean_getConstInfo___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__14(x_1, x_4, x_5, x_6);
|
||||
if (lean_obj_tag(x_7) == 0)
|
||||
{
|
||||
lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; uint8_t x_13;
|
||||
|
|
|
|||
1869
stage0/stdlib/Lean/Parser/Syntax.c
generated
1869
stage0/stdlib/Lean/Parser/Syntax.c
generated
File diff suppressed because it is too large
Load diff
10
stage0/stdlib/Lean/PrettyPrinter/Delaborator/Basic.c
generated
10
stage0/stdlib/Lean/PrettyPrinter/Delaborator/Basic.c
generated
|
|
@ -60,7 +60,6 @@ static lean_object* l_Lean_PrettyPrinter_Delaborator_getExprKind___closed__17;
|
|||
static lean_object* l_Lean_PrettyPrinter_Delaborator_mkDelabAttribute___closed__18;
|
||||
static lean_object* l_Lean_PrettyPrinter_Delaborator_orElse___rarg___closed__1;
|
||||
LEAN_EXPORT lean_object* l_Lean_Meta_withLocalDecl___at_Lean_PrettyPrinter_Delaborator_withBindingBodyUnusedName___spec__3___rarg___lambda__1(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__10(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Std_RBNode_find___at_Lean_PrettyPrinter_Delaborator_TopDownAnalyze_annotateBoolAt___spec__5(lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_PrettyPrinter_Delaborator_mkDelabAttribute___closed__15;
|
||||
lean_object* l___private_Lean_Meta_Basic_0__Lean_Meta_withLocalDeclImp___rarg(lean_object*, uint8_t, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -225,10 +224,10 @@ LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_delab(lean_object*, lean_object*,
|
|||
static lean_object* l_Lean_PrettyPrinter_Delaborator_instAlternativeDelabM___closed__5;
|
||||
static lean_object* l_Lean_PrettyPrinter_Delaborator_getExprKind___closed__16;
|
||||
LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_delab(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_resolveGlobalConstCore___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__6(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l___private_Lean_Util_Trace_0__Lean_checkTraceOptionM___at___private_Lean_Meta_Basic_0__Lean_Meta_processPostponedStep___spec__14(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_PrettyPrinter_delabCore___closed__2;
|
||||
LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_getOptionsAtCurrPos___lambda__1___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_resolveGlobalConstCore___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__7(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_PrettyPrinter_Delaborator_getExprKind___closed__21;
|
||||
LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_instMonadQuotationDelabM;
|
||||
lean_object* l_Lean_Expr_const___override(lean_object*, lean_object*);
|
||||
|
|
@ -316,6 +315,7 @@ static lean_object* l_Lean_PrettyPrinter_Delaborator_delab___lambda__1___closed_
|
|||
lean_object* l_Lean_Expr_getAppFn(lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_PrettyPrinter_Delaborator_liftMetaM(lean_object*);
|
||||
static lean_object* l_Lean_PrettyPrinter_Delaborator_getExprKind___closed__9;
|
||||
lean_object* l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__11(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_ReaderT_pure___at_Lean_PrettyPrinter_Delaborator_instMonadQuotationDelabM___spec__1___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Option_get_x3f___at_Lean_PrettyPrinter_delabCore___spec__2(lean_object*, lean_object*);
|
||||
lean_object* lean_local_ctx_find(lean_object*, lean_object*);
|
||||
|
|
@ -8254,7 +8254,7 @@ lean_object* x_5;
|
|||
lean_inc(x_3);
|
||||
lean_inc(x_2);
|
||||
lean_inc(x_1);
|
||||
x_5 = l_Lean_resolveGlobalConstCore___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__6(x_1, x_2, x_3, x_4);
|
||||
x_5 = l_Lean_resolveGlobalConstCore___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__7(x_1, x_2, x_3, x_4);
|
||||
if (lean_obj_tag(x_5) == 0)
|
||||
{
|
||||
lean_object* x_6;
|
||||
|
|
@ -8285,7 +8285,7 @@ x_20 = lean_alloc_ctor(2, 1, 0);
|
|||
lean_ctor_set(x_20, 0, x_19);
|
||||
x_21 = lean_alloc_ctor(0, 1, 0);
|
||||
lean_ctor_set(x_21, 0, x_20);
|
||||
x_22 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__10(x_21, x_2, x_3, x_7);
|
||||
x_22 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__11(x_21, x_2, x_3, x_7);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
return x_22;
|
||||
|
|
@ -8354,7 +8354,7 @@ x_43 = lean_alloc_ctor(2, 1, 0);
|
|||
lean_ctor_set(x_43, 0, x_42);
|
||||
x_44 = lean_alloc_ctor(0, 1, 0);
|
||||
lean_ctor_set(x_44, 0, x_43);
|
||||
x_45 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__10(x_44, x_2, x_3, x_30);
|
||||
x_45 = l_Lean_throwError___at_Lean_initFn____x40_Lean_Deprecated___hyg_4____spec__11(x_44, x_2, x_3, x_30);
|
||||
lean_dec(x_3);
|
||||
lean_dec(x_2);
|
||||
return x_45;
|
||||
|
|
|
|||
|
|
@ -85,7 +85,6 @@ LEAN_EXPORT lean_object* l_Lean_Server_registerLspRequestHandler___at_Lean_Serve
|
|||
LEAN_EXPORT lean_object* l_Lean_Server_registerLspRequestHandler___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9400____spec__21___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_registerLspRequestHandler___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9400____spec__24___lambda__3(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_locationLinksOfInfo___lambda__9___boxed(lean_object*, lean_object*);
|
||||
lean_object* l_ReaderT_pure___at_Lean_Elab_CompletionInfo_format___spec__2___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_Lean_Lsp_SemanticTokenType_toCtorIdx(uint8_t);
|
||||
static lean_object* l_Lean_Server_FileWorker_handleDocumentHighlight_highlightReturn_x3f___closed__10;
|
||||
LEAN_EXPORT lean_object* l_liftExcept___at_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9400____spec__9(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -153,6 +152,7 @@ static lean_object* l_List_mapM___at_Lean_Server_FileWorker_getInteractiveGoals_
|
|||
static lean_object* l_Lean_Server_FileWorker_handleWaitForDiagnostics___lambda__2___closed__1;
|
||||
static lean_object* l_Lean_Server_FileWorker_noHighlightKinds___closed__9;
|
||||
LEAN_EXPORT lean_object* l_Lean_Server_FileWorker_handleCompletion___lambda__2(lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
lean_object* l_ReaderT_pure___at_Lean_Meta_Match_mkMatcher___spec__5___rarg___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*);
|
||||
static lean_object* l_Lean_Server_FileWorker_handleFoldingRange_isImport___closed__5;
|
||||
static lean_object* l_Lean_Server_FileWorker_initFn____x40_Lean_Server_FileWorker_RequestHandling___hyg_9400____closed__21;
|
||||
LEAN_EXPORT lean_object* l_liftExcept___at_Lean_Server_FileWorker_handleWaitForDiagnostics___spec__1(lean_object*, lean_object*, lean_object*);
|
||||
|
|
@ -3748,7 +3748,7 @@ lean_ctor_set(x_63, 2, x_59);
|
|||
lean_ctor_set(x_63, 3, x_59);
|
||||
x_64 = l_Lean_Server_FileWorker_locationLinksOfInfo___lambda__2___closed__4;
|
||||
x_65 = lean_array_push(x_64, x_63);
|
||||
x_66 = lean_alloc_closure((void*)(l_ReaderT_pure___at_Lean_Elab_CompletionInfo_format___spec__2___rarg___boxed), 6, 1);
|
||||
x_66 = lean_alloc_closure((void*)(l_ReaderT_pure___at_Lean_Meta_Match_mkMatcher___spec__5___rarg___boxed), 6, 1);
|
||||
lean_closure_set(x_66, 0, x_65);
|
||||
x_67 = l_Lean_Elab_ContextInfo_runMetaM___rarg(x_4, x_13, x_66, x_11);
|
||||
if (lean_obj_tag(x_67) == 0)
|
||||
|
|
@ -3823,7 +3823,7 @@ lean_ctor_set(x_83, 2, x_59);
|
|||
lean_ctor_set(x_83, 3, x_59);
|
||||
x_84 = l_Lean_Server_FileWorker_locationLinksOfInfo___lambda__2___closed__4;
|
||||
x_85 = lean_array_push(x_84, x_83);
|
||||
x_86 = lean_alloc_closure((void*)(l_ReaderT_pure___at_Lean_Elab_CompletionInfo_format___spec__2___rarg___boxed), 6, 1);
|
||||
x_86 = lean_alloc_closure((void*)(l_ReaderT_pure___at_Lean_Meta_Match_mkMatcher___spec__5___rarg___boxed), 6, 1);
|
||||
lean_closure_set(x_86, 0, x_85);
|
||||
x_87 = l_Lean_Elab_ContextInfo_runMetaM___rarg(x_4, x_13, x_86, x_11);
|
||||
if (lean_obj_tag(x_87) == 0)
|
||||
|
|
@ -3894,7 +3894,7 @@ lean_ctor_set(x_102, 2, x_59);
|
|||
lean_ctor_set(x_102, 3, x_59);
|
||||
x_103 = l_Lean_Server_FileWorker_locationLinksOfInfo___lambda__2___closed__4;
|
||||
x_104 = lean_array_push(x_103, x_102);
|
||||
x_105 = lean_alloc_closure((void*)(l_ReaderT_pure___at_Lean_Elab_CompletionInfo_format___spec__2___rarg___boxed), 6, 1);
|
||||
x_105 = lean_alloc_closure((void*)(l_ReaderT_pure___at_Lean_Meta_Match_mkMatcher___spec__5___rarg___boxed), 6, 1);
|
||||
lean_closure_set(x_105, 0, x_104);
|
||||
x_106 = l_Lean_Elab_ContextInfo_runMetaM___rarg(x_4, x_13, x_105, x_11);
|
||||
if (lean_obj_tag(x_106) == 0)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue