summaryrefslogtreecommitdiff
path: root/src/reflect/scala/reflect/internal/Importers.scala
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2014-02-08 14:57:43 +0100
committerJason Zaugg <jzaugg@gmail.com>2014-02-08 14:57:43 +0100
commit21a765feb0efeeecd671ede637a12f5088ac8257 (patch)
tree5e3bf3a75c0dc8a505ba7033470fe50ed2250039 /src/reflect/scala/reflect/internal/Importers.scala
parent896e7cc42e703f735c8fefbb51c6e700a6651814 (diff)
parentdc3fccb59d9ac848550b3264608ce9b7bdbfe624 (diff)
downloadscala-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.scala3
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)
}