chore: remove restriction on leading/trailing_parser macros
I don't think we quote any parsers right now
This commit is contained in:
parent
7460878e05
commit
99464c352e
1 changed files with 2 additions and 4 deletions
|
|
@ -100,12 +100,10 @@ private def elabParserMacroAux (prec : Syntax) (e : Syntax) : TermElabM Syntax :
|
|||
let (some declName) ← getDeclName?
|
||||
| throwError "invalid `leading_parser` macro, it must be used in definitions"
|
||||
match extractMacroScopes declName with
|
||||
| { name := Name.str _ s _, scopes := scps, .. } =>
|
||||
| { name := Name.str _ s _, .. } =>
|
||||
let kind := quote declName
|
||||
let s := quote s
|
||||
-- if the parser decl is hidden by hygiene, it doesn't make sense to provide an antiquotation kind
|
||||
let antiquotKind ← if scps == [] then `(some $kind) else `(none)
|
||||
``(withAntiquot (mkAntiquot $s $antiquotKind) (leadingNode $kind $prec $e))
|
||||
``(withAntiquot (mkAntiquot $s $kind) (leadingNode $kind $prec $e))
|
||||
| _ => throwError "invalid `leading_parser` macro, unexpected declaration name"
|
||||
|
||||
@[builtinTermElab «leading_parser»] def elabLeadingParserMacro : TermElab :=
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue