21 lines
590 B
Text
21 lines
590 B
Text
/-
|
|
Copyright (c) 2021 Microsoft Corporation. All rights reserved.
|
|
Released under Apache 2.0 license as described in the file LICENSE.
|
|
Authors: Leonardo de Moura
|
|
|
|
Additional helper methods that require `MetaM` infrastructure.
|
|
-/
|
|
import Lean.Structure
|
|
import Lean.Meta.AppBuilder
|
|
|
|
namespace Lean.Meta
|
|
|
|
def getStructureName (struct : Expr) : MetaM Name :=
|
|
match struct.getAppFn with
|
|
| Expr.const declName .. => do
|
|
unless isStructure (← getEnv) declName do
|
|
throwError "'{declName}' is not a structure"
|
|
return declName
|
|
| _ => throwError "expected structure"
|
|
|
|
end Lean.Meta
|