diff options
author | Adriaan Moors <adriaan@lightbend.com> | 2016-11-29 16:28:45 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-29 16:28:45 -0800 |
commit | 50d46c12766228155a6d52cf7b33add4fa24a86e (patch) | |
tree | 3aa6d7178eeb46f34f794db275802e1b5f583521 /src/reflect | |
parent | 71a2cad36fa3c69d2ff3461f6a60ba5c846fb05e (diff) | |
parent | b00a3e50da66086ef0f1a4c214866a591089b934 (diff) | |
download | scala-50d46c12766228155a6d52cf7b33add4fa24a86e.tar.gz scala-50d46c12766228155a6d52cf7b33add4fa24a86e.tar.bz2 scala-50d46c12766228155a6d52cf7b33add4fa24a86e.zip |
Merge pull request #5554 from retronym/ticket/10009
SI-10009 Fields survive untypecheck/retypecheck
Diffstat (limited to 'src/reflect')
-rw-r--r-- | src/reflect/scala/reflect/internal/TreeInfo.scala | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/reflect/scala/reflect/internal/TreeInfo.scala b/src/reflect/scala/reflect/internal/TreeInfo.scala index 61937958dd..1aef30819a 100644 --- a/src/reflect/scala/reflect/internal/TreeInfo.scala +++ b/src/reflect/scala/reflect/internal/TreeInfo.scala @@ -480,7 +480,8 @@ abstract class TreeInfo { } map { dd => val DefDef(dmods, dname, _, _, _, drhs) = dd // get access flags from DefDef - val vdMods = (vmods &~ Flags.AccessFlags) | (dmods & Flags.AccessFlags).flags + val defDefMask = Flags.AccessFlags | OVERRIDE | IMPLICIT | DEFERRED + val vdMods = (vmods &~ defDefMask) | (dmods & defDefMask).flags // for most cases lazy body should be taken from accessor DefDef val vdRhs = if (vmods.isLazy) lazyValDefRhs(drhs) else vrhs copyValDef(vd)(mods = vdMods, name = dname, rhs = vdRhs) |