Skip to content

Commit 11c0e25

Browse files
committed
refactor: mkMapDeclarationExtension as well
1 parent bfdc535 commit 11c0e25

File tree

3 files changed

+12
-6
lines changed

3 files changed

+12
-6
lines changed

src/Lean/DeclarationRange.lean

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,10 @@ namespace Lean
1515

1616
builtin_initialize builtinDeclRanges : IO.Ref (NameMap DeclarationRanges) ← IO.mkRef {}
1717
builtin_initialize declRangeExt : MapDeclarationExtension DeclarationRanges ←
18-
mkMapDeclarationExtension (exportEntriesFn := fun _ => #[])
18+
mkMapDeclarationExtension (exportEntriesFn := fun _ s level =>
19+
if level < .server then
20+
#[]
21+
else s.toArray)
1922

2023
def addBuiltinDeclarationRanges (declName : Name) (declRanges : DeclarationRanges) : IO Unit :=
2124
builtinDeclRanges.modify (·.insert declName declRanges)

src/Lean/EnvExtension.lean

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -127,15 +127,15 @@ structure MapDeclarationExtension (α : Type) extends PersistentEnvExtension (Na
127127
deriving Inhabited
128128

129129
def mkMapDeclarationExtension (name : Name := by exact decl_name%)
130-
(exportEntriesFn : NameMap α → Array (Name × α) := (·.toArray)) : IO (MapDeclarationExtension α) :=
130+
(exportEntriesFn : Environment → NameMap α → OLeanLevel → Array (Name × α) :=
131+
fun _ s _ => s.toArray) :
132+
IO (MapDeclarationExtension α) :=
131133
.mk <$> registerPersistentEnvExtension {
132134
name := name,
133135
mkInitial := pure {}
134136
addImportedFn := fun _ => pure {}
135137
addEntryFn := fun s (n, v) => s.insert n v
136-
exportEntriesFnEx _ s
137-
| .exported => exportEntriesFn s
138-
| _ => s.toArray
138+
exportEntriesFnEx env s level := exportEntriesFn env s level
139139
asyncMode := .async
140140
replay? := some fun _ newState newConsts s =>
141141
newConsts.foldl (init := s) fun s c =>

src/Lean/Environment.lean

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1465,7 +1465,10 @@ inductive OLeanLevel where
14651465
| server
14661466
/-- Private module data. -/
14671467
| «private»
1468-
deriving DecidableEq
1468+
deriving DecidableEq, Ord
1469+
1470+
instance : LE OLeanLevel := leOfOrd
1471+
instance : LT OLeanLevel := ltOfOrd
14691472

14701473
/--
14711474
An environment extension with support for storing/retrieving entries from a .olean file.

0 commit comments

Comments
 (0)