diff options
Diffstat (limited to 'tactics/tacinterp.ml')
| -rw-r--r-- | tactics/tacinterp.ml | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/tactics/tacinterp.ml b/tactics/tacinterp.ml index 55134310fa..3c50c26725 100644 --- a/tactics/tacinterp.ml +++ b/tactics/tacinterp.ml @@ -868,6 +868,15 @@ VIdentifier id (* Gives the identifier corresponding to an Identifier tactic_arg *) let id_of_Identifier = function | VConstr c when isVar c -> destVar c + | VConstr c -> + (match kind_of_term c with + Var id -> id + | Const sp -> id_of_global None (ConstRef sp) + | Ind sp -> id_of_global None (IndRef sp) + | Construct sp -> id_of_global None (ConstructRef sp) + | _ -> + anomalylabstrm "id_of_Identifier" + (str "Not an IDENTIFIER tactic_arg")) | VIdentifier id -> id | _ -> anomalylabstrm "id_of_Identifier" (str "Not an IDENTIFIER tactic_arg") |
