@@ -57,10 +57,7 @@ class TastyImpl(val rootContext: Contexts.Context) extends scala.tasty.Tasty { s
57
57
def idClassTag : ClassTag [Id ] = implicitly[ClassTag [Id ]]
58
58
59
59
object Id extends IdExtractor {
60
- def unapply (x : Id ): Option [String ] = x match {
61
- case x : untpd.Ident => Some (x.name.toString) // TODO how to make sure it is not a Ident or TypeIdent? Check x.tpe?
62
- case _ => None
63
- }
60
+ def unapply (x : Id ): Option [String ] = Some (x.name.toString)
64
61
}
65
62
66
63
// ===== Trees ====================================================
@@ -77,10 +74,7 @@ class TastyImpl(val rootContext: Contexts.Context) extends scala.tasty.Tasty { s
77
74
def packageClauseClassTag : ClassTag [PackageClause ] = implicitly[ClassTag [PackageClause ]]
78
75
79
76
object PackageClause extends PackageClauseExtractor {
80
- def unapply (x : PackageClause )(implicit ctx : Context ): Option [(Term , List [Tree ])] = x match {
81
- case x : tpd.PackageDef @ unchecked => Some ((x.pid, x.stats))
82
- case _ => None
83
- }
77
+ def unapply (x : PackageClause )(implicit ctx : Context ): Option [(Term , List [Tree ])] = Some ((x.pid, x.stats))
84
78
}
85
79
86
80
def PackageClauseDeco (pack : PackageClause ): PackageClauseAPI = new PackageClauseAPI {
@@ -96,10 +90,7 @@ class TastyImpl(val rootContext: Contexts.Context) extends scala.tasty.Tasty { s
96
90
def importClassTag : ClassTag [Import ] = implicitly[ClassTag [Import ]]
97
91
98
92
object Import extends ImportExtractor {
99
- def unapply (x : Import )(implicit ctx : Context ): Option [(Term , List [ImportSelector ])] = x match {
100
- case x : tpd.Import @ unchecked => Some ((x.expr, x.selectors))
101
- case _ => None
102
- }
93
+ def unapply (x : Import )(implicit ctx : Context ): Option [(Term , List [ImportSelector ])] = Some ((x.expr, x.selectors))
103
94
}
104
95
105
96
def ImportDeco (imp : Import ): ImportAPI = new ImportAPI {
@@ -206,10 +197,8 @@ class TastyImpl(val rootContext: Contexts.Context) extends scala.tasty.Tasty { s
206
197
def defDefClassTag : ClassTag [DefDef ] = implicitly[ClassTag [DefDef ]]
207
198
208
199
object DefDef extends DefDefExtractor {
209
- def unapply (x : DefDef )(implicit ctx : Context ): Option [(String , List [TypeDef ], List [List [ValDef ]], TypeTree , Option [Term ])] = x match {
210
- case x : tpd.DefDef @ unchecked =>
211
- Some ((x.name.toString, x.tparams, x.vparamss, x.tpt, optional(x.rhs)))
212
- case _ => None
200
+ def unapply (x : DefDef )(implicit ctx : Context ): Option [(String , List [TypeDef ], List [List [ValDef ]], TypeTree , Option [Term ])] = {
201
+ Some ((x.name.toString, x.tparams, x.vparamss, x.tpt, optional(x.rhs)))
213
202
}
214
203
}
215
204
@@ -227,10 +216,8 @@ class TastyImpl(val rootContext: Contexts.Context) extends scala.tasty.Tasty { s
227
216
def valDefClassTag : ClassTag [ValDef ] = implicitly[ClassTag [ValDef ]]
228
217
229
218
object ValDef extends ValDefExtractor {
230
- def unapply (x : ValDef )(implicit ctx : Context ): Option [(String , TypeTree , Option [Term ])] = x match {
231
- case x : tpd.ValDef @ unchecked =>
232
- Some ((x.name.toString, x.tpt, optional(x.rhs)))
233
- case _ => None
219
+ def unapply (x : ValDef )(implicit ctx : Context ): Option [(String , TypeTree , Option [Term ])] = {
220
+ Some ((x.name.toString, x.tpt, optional(x.rhs)))
234
221
}
235
222
}
236
223
@@ -273,10 +260,8 @@ class TastyImpl(val rootContext: Contexts.Context) extends scala.tasty.Tasty { s
273
260
def packageDefClassTag : ClassTag [PackageDef ] = implicitly[ClassTag [PackageDef ]]
274
261
275
262
object PackageDef extends PackageDefExtractor {
276
- def unapply (x : PackageDef )(implicit ctx : Context ): Option [(String , PackageDef )] = x match {
277
- case x : PackageDefinition =>
278
- Some ((x.symbol.name.toString, FromSymbol .packageDef(x.symbol.owner)))
279
- case _ => None
263
+ def unapply (x : PackageDef )(implicit ctx : Context ): Option [(String , PackageDef )] = {
264
+ Some ((x.symbol.name.toString, FromSymbol .packageDef(x.symbol.owner)))
280
265
}
281
266
}
282
267
@@ -546,11 +531,7 @@ class TastyImpl(val rootContext: Contexts.Context) extends scala.tasty.Tasty { s
546
531
}
547
532
548
533
object CaseDef extends CaseDefExtractor {
549
- def unapply (x : CaseDef ): Option [(Pattern , Option [Term ], Term )] = x match {
550
- case x : tpd.CaseDef @ unchecked =>
551
- Some (x.pat, optional(x.guard), x.body)
552
- case _ => None
553
- }
534
+ def unapply (x : CaseDef ): Option [(Pattern , Option [Term ], Term )] = Some (x.pat, optional(x.guard), x.body)
554
535
}
555
536
556
537
// ----- Patterns -------------------------------------------------
@@ -916,30 +897,24 @@ class TastyImpl(val rootContext: Contexts.Context) extends scala.tasty.Tasty { s
916
897
}
917
898
918
899
object RecursiveType extends RecursiveTypeExtractor {
919
- def unapply (x : RecursiveType )(implicit ctx : Context ): Option [Type ] = x match {
920
- case tp : Types .RecType => Some (tp.underlying.stripTypeVar)
921
- case _ => None
922
- }
900
+ def unapply (x : RecursiveType )(implicit ctx : Context ): Option [Type ] = Some (x.underlying.stripTypeVar)
923
901
}
924
902
925
903
object MethodType extends MethodTypeExtractor {
926
- def unapply (x : MethodType )(implicit ctx : Context ): Option [(List [String ], List [Type ], Type )] = x match {
927
- case x : MethodType => Some (x.paramNames.map(_.toString), x.paramInfos, x.resType)
928
- case _ => None
904
+ def unapply (x : MethodType )(implicit ctx : Context ): Option [(List [String ], List [Type ], Type )] = {
905
+ Some (x.paramNames.map(_.toString), x.paramInfos, x.resType)
929
906
}
930
907
}
931
908
932
909
object PolyType extends PolyTypeExtractor {
933
- def unapply (x : PolyType )(implicit ctx : Context ): Option [(List [String ], List [TypeBounds ], Type )] = x match {
934
- case x : PolyType => Some (x.paramNames.map(_.toString), x.paramInfos, x.resType)
935
- case _ => None
910
+ def unapply (x : PolyType )(implicit ctx : Context ): Option [(List [String ], List [TypeBounds ], Type )] = {
911
+ Some (x.paramNames.map(_.toString), x.paramInfos, x.resType)
936
912
}
937
913
}
938
914
939
915
object TypeLambda extends TypeLambdaExtractor {
940
- def unapply (x : TypeLambda )(implicit ctx : Context ): Option [(List [String ], List [TypeBounds ], Type )] = x match {
941
- case x : TypeLambda => Some (x.paramNames.map(_.toString), x.paramInfos, x.resType)
942
- case _ => None
916
+ def unapply (x : TypeLambda )(implicit ctx : Context ): Option [(List [String ], List [TypeBounds ], Type )] = {
917
+ Some (x.paramNames.map(_.toString), x.paramInfos, x.resType)
943
918
}
944
919
}
945
920
@@ -952,10 +927,7 @@ class TastyImpl(val rootContext: Contexts.Context) extends scala.tasty.Tasty { s
952
927
def typeBoundsClassTag : ClassTag [TypeBounds ] = implicitly[ClassTag [TypeBounds ]]
953
928
954
929
object TypeBounds extends TypeBoundsExtractor {
955
- def unapply (x : TypeBounds )(implicit ctx : Context ): Option [(Type , Type )] = x match {
956
- case x : Types .TypeBounds => Some (x.lo, x.hi)
957
- case _ => None
958
- }
930
+ def unapply (x : TypeBounds )(implicit ctx : Context ): Option [(Type , Type )] = Some (x.lo, x.hi)
959
931
}
960
932
961
933
def TypeBoundsDeco (tpe : TypeBounds ): TypeBoundsAPI = new TypeBoundsAPI {
@@ -987,17 +959,11 @@ class TastyImpl(val rootContext: Contexts.Context) extends scala.tasty.Tasty { s
987
959
object Constant extends ConstantModule {
988
960
989
961
object Unit extends UnitExtractor {
990
- def unapply (x : Constant ): Boolean = x match {
991
- case x : Constants .Constant => x.tag == Constants .UnitTag
992
- case _ => false
993
- }
962
+ def unapply (x : Constant ): Boolean = x.tag == Constants .UnitTag
994
963
}
995
964
996
965
object Null extends NullExtractor {
997
- def unapply (x : Constant ): Boolean = x match {
998
- case x : Constants .Constant => x.tag == Constants .NullTag
999
- case _ => false
1000
- }
966
+ def unapply (x : Constant ): Boolean = x.tag == Constants .NullTag
1001
967
}
1002
968
1003
969
object Boolean extends BooleanExtractor {
0 commit comments