From 3eea64f88c8294c917fffe621394922079053c62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=A6=E5=A2=83=E8=BF=B7=E7=A6=BB?= Date: Sat, 3 Jul 2021 15:27:43 +0800 Subject: [PATCH] add @constructor --- src/main/scala/io/github/dreamylost/constructor.scala | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/scala/io/github/dreamylost/constructor.scala b/src/main/scala/io/github/dreamylost/constructor.scala index 2f3c264..16ebf86 100644 --- a/src/main/scala/io/github/dreamylost/constructor.scala +++ b/src/main/scala/io/github/dreamylost/constructor.scala @@ -61,7 +61,7 @@ object constructorMacro extends MacroCommon { * * @param c */ - def getClassMemberValDefOnlyVarAssign(): Seq[c.Tree] = { + def getClassMemberVarDefOnlyAssignExpr(): Seq[c.Tree] = { import c.universe._ getClassMemberValDef(c)(annotteeClassDefinitions).filter(_ match { case q"$mods var $tname: $tpt = $expr" if !excludeFields.contains(tname.asInstanceOf[TermName].decodedName.toString) => true @@ -71,9 +71,9 @@ object constructorMacro extends MacroCommon { } } - val annotteeClassFieldDefinitionsWithoutValAssign = getClassMemberValDefOnlyVarAssign() + val annotteeClassFieldDefinitionsOnlyAssignExpr = getClassMemberVarDefOnlyAssignExpr() - if (annotteeClassFieldDefinitionsWithoutValAssign.isEmpty) { + if (annotteeClassFieldDefinitionsOnlyAssignExpr.isEmpty) { c.abort(c.enclosingPosition, s"Annotation is only supported on class when the internal field (declare as 'var') is nonEmpty. classDef: $classDecl") } @@ -91,7 +91,7 @@ object constructorMacro extends MacroCommon { def getConstructorTemplate(): c.universe.Tree = { q""" - def this(..${annotteeClassParamsOnlyAssignExpr ++ annotteeClassFieldDefinitionsWithoutValAssign}){ + def this(..${annotteeClassParamsOnlyAssignExpr ++ annotteeClassFieldDefinitionsOnlyAssignExpr}){ this(..$ctorFieldNames) ..${annotteeClassFieldNames.map(f => q"this.$f = $f")} } -- GitLab