From a3e44375c63e8066a16ad34883f5a94afd380c45 Mon Sep 17 00:00:00 2001 From: "Wesley W. Terpstra" Date: Fri, 1 Dec 2017 10:54:05 -0800 Subject: [PATCH] ValName: 'lazy val' now also counts for providing a name --- macros/src/main/scala/ValName.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/macros/src/main/scala/ValName.scala b/macros/src/main/scala/ValName.scala index 962073b3..de82717d 100644 --- a/macros/src/main/scala/ValName.scala +++ b/macros/src/main/scala/ValName.scala @@ -15,7 +15,7 @@ object ValNameImpl def allOwners(s: c.Symbol): Seq[c.Symbol] = if (s == `NoSymbol`) Nil else s +: allOwners(s.owner) val terms = allOwners(c.internal.enclosingOwner).filter(_.isTerm).map(_.asTerm) - terms.filter(_.isVal).map(_.name.toString).find(_(0) != '$').map { s => + terms.filter(t => t.isVal || t.isLazy).map(_.name.toString).find(_(0) != '$').map { s => val trim = s.replaceAll("\\s", "") c.Expr[ValNameImpl] { q"_root_.freechips.rocketchip.macros.ValNameImpl(${trim})" } }.getOrElse(c.abort(c.enclosingPosition, "Not a valid application."))