diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2014-02-08 14:57:43 +0100 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2014-02-08 14:57:43 +0100 |
commit | 21a765feb0efeeecd671ede637a12f5088ac8257 (patch) | |
tree | 5e3bf3a75c0dc8a505ba7033470fe50ed2250039 /src/reflect/scala/reflect/internal/Importers.scala | |
parent | 896e7cc42e703f735c8fefbb51c6e700a6651814 (diff) | |
parent | dc3fccb59d9ac848550b3264608ce9b7bdbfe624 (diff) | |
download | scala-21a765feb0efeeecd671ede637a12f5088ac8257.tar.gz scala-21a765feb0efeeecd671ede637a12f5088ac8257.tar.bz2 scala-21a765feb0efeeecd671ede637a12f5088ac8257.zip |
Merge pull request #3391 from xeno-by/ticket/8131
SI-8131 fixes residual race condition in runtime reflection
Diffstat (limited to 'src/reflect/scala/reflect/internal/Importers.scala')
-rw-r--r-- | src/reflect/scala/reflect/internal/Importers.scala | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/reflect/scala/reflect/internal/Importers.scala b/src/reflect/scala/reflect/internal/Importers.scala index 483d0dd656..ff91b08ea1 100644 --- a/src/reflect/scala/reflect/internal/Importers.scala +++ b/src/reflect/scala/reflect/internal/Importers.scala @@ -4,6 +4,7 @@ package internal import scala.collection.mutable.WeakHashMap import scala.ref.WeakReference +import scala.reflect.internal.Flags._ // SI-6241: move importers to a mirror trait Importers extends api.Importers { to: SymbolTable => @@ -87,6 +88,7 @@ trait Importers extends api.Importers { to: SymbolTable => } my setInfo GenPolyType(mytypeParams, importType(theirCore)) my setAnnotations (their.annotations map importAnnotationInfo) + markAllCompleted(my) } } } finally { @@ -142,6 +144,7 @@ trait Importers extends api.Importers { to: SymbolTable => myowner.newTypeSymbol(myname.toTypeName, mypos, myflags) } symMap.weakUpdate(their, my) + markFlagsCompleted(my)(mask = AllFlags) my setInfo recreatedSymbolCompleter(my, their) } |