| /- | |
| 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 |