summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@gmail.com>2016-05-25 15:21:50 +0200
committerJason Zaugg <jzaugg@gmail.com>2016-06-06 14:37:46 +1000
commit59d6dbc0aac912567d235048b5114cccf965c7ce (patch)
treef4bc57382dba28f49b510c49e34aff22015629b6 /src
parent037a089ad4fb7137513777ccda6d47e30e151838 (diff)
downloadscala-59d6dbc0aac912567d235048b5114cccf965c7ce.tar.gz
scala-59d6dbc0aac912567d235048b5114cccf965c7ce.tar.bz2
scala-59d6dbc0aac912567d235048b5114cccf965c7ce.zip
clear all flags when resetting a symbol
this change is a bit scary because it changes code that's not been changed in 11 years https://github.com/scala/scala/commit/7fa7c93#diff-d5789e5ae5061197d782d08324b260dbL214
Diffstat (limited to 'src')
-rw-r--r--src/reflect/scala/reflect/internal/Flags.scala1
-rw-r--r--src/reflect/scala/reflect/internal/Symbols.scala2
2 files changed, 1 insertions, 2 deletions
diff --git a/src/reflect/scala/reflect/internal/Flags.scala b/src/reflect/scala/reflect/internal/Flags.scala
index 230d30c74e..e2522ef280 100644
--- a/src/reflect/scala/reflect/internal/Flags.scala
+++ b/src/reflect/scala/reflect/internal/Flags.scala
@@ -235,7 +235,6 @@ class Flags extends ModifierFlags {
final val AllFlags = -1L
/** These flags can be set when class or module symbol is first created.
- * They are the only flags to survive a call to resetFlags().
*/
final val TopLevelCreationFlags =
MODULE | PACKAGE | FINAL | JAVA
diff --git a/src/reflect/scala/reflect/internal/Symbols.scala b/src/reflect/scala/reflect/internal/Symbols.scala
index 6f2d8d802a..ab52a875f8 100644
--- a/src/reflect/scala/reflect/internal/Symbols.scala
+++ b/src/reflect/scala/reflect/internal/Symbols.scala
@@ -725,7 +725,7 @@ trait Symbols extends api.Symbols { self: SymbolTable =>
def setFlag(mask: Long): this.type = { _rawflags |= mask ; this }
def resetFlag(mask: Long): this.type = { _rawflags &= ~mask ; this }
- def resetFlags() { rawflags &= TopLevelCreationFlags }
+ def resetFlags() { rawflags = 0 }
/** Default implementation calls the generic string function, which
* will print overloaded flags as <flag1/flag2/flag3>. Subclasses