lean4-htt/src/Lean/Modifiers.lean

28 lines
774 B
Text

/-
Copyright (c) 2019 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Leonardo de Moura
-/
module
prelude
public import Lean.EnvExtension
public section
namespace Lean
builtin_initialize protectedExt : TagDeclarationExtension ← mkTagDeclarationExtension
def addProtected (env : Environment) (n : Name) : Environment :=
protectedExt.tag env n
def isProtected (env : Environment) (n : Name) : Bool :=
protectedExt.isTagged env n
def mkPrivateName (env : Environment) (n : Name) : Name :=
-- If name is already private, remove previous suffix first. We need to ensure the resulting name
-- is private to *this* module.
mkPrivateNameCore env.mainModule <| privateToUserName n
end Lean