summaryrefslogtreecommitdiff
path: root/src/reflect/scala/reflect
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan@lightbend.com>2017-02-17 14:42:33 -0800
committerGitHub <noreply@github.com>2017-02-17 14:42:33 -0800
commitdb8520e5c45d9ce24912849fad16a5c1b54a09b9 (patch)
tree9f9b3f09933c5d9623e99be7b50c4d4059fc692d /src/reflect/scala/reflect
parent419a6394045a0615cb996152b04c92d25f9fb700 (diff)
parent2b3d017d5f6a196c612af1e4eb677b6d970b0a25 (diff)
downloadscala-db8520e5c45d9ce24912849fad16a5c1b54a09b9.tar.gz
scala-db8520e5c45d9ce24912849fad16a5c1b54a09b9.tar.bz2
scala-db8520e5c45d9ce24912849fad16a5c1b54a09b9.zip
Merge pull request #5710 from SethTisue/sd-303
fix recent regression: macro paradise + Java sources = MatchError
Diffstat (limited to 'src/reflect/scala/reflect')
-rw-r--r--src/reflect/scala/reflect/internal/ReificationSupport.scala10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/reflect/scala/reflect/internal/ReificationSupport.scala b/src/reflect/scala/reflect/internal/ReificationSupport.scala
index 1b2be64654..21320149a3 100644
--- a/src/reflect/scala/reflect/internal/ReificationSupport.scala
+++ b/src/reflect/scala/reflect/internal/ReificationSupport.scala
@@ -351,9 +351,13 @@ trait ReificationSupport { self: SymbolTable =>
List[Tree], List[Tree], ValDef, List[Tree])] = tree match {
case ClassDef(mods, name, tparams, impl) =>
val X = if (mods.isCase) UnMkTemplate.asCase else UnMkTemplate
- val X(parents, selfType, ctorMods, vparamss, earlyDefs, body) = impl
- if (ctorMods.isTrait || ctorMods.hasFlag(JAVA)) None
- else Some((mods, name, tparams, ctorMods, vparamss, earlyDefs, parents, selfType, body))
+ impl match {
+ case X(parents, selfType, ctorMods, vparamss, earlyDefs, body)
+ if (!ctorMods.isTrait && !ctorMods.hasFlag(JAVA)) =>
+ Some((mods, name, tparams, ctorMods, vparamss, earlyDefs, parents, selfType, body))
+ case _ =>
+ None
+ }
case _ =>
None
}