diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2014-02-05 13:19:04 +0100 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2014-02-05 13:20:59 +0100 |
commit | 8c256077a7ec89d9bc49829b673150740024bba6 (patch) | |
tree | 241d0ca0b37ed95df754b8522a0e0423529dd87c | |
parent | 9787d79581551cfdf22557399a7c506c6b9ab926 (diff) | |
download | scala-8c256077a7ec89d9bc49829b673150740024bba6.tar.gz scala-8c256077a7ec89d9bc49829b673150740024bba6.tar.bz2 scala-8c256077a7ec89d9bc49829b673150740024bba6.zip |
SI-8030 Restore thread safety to the parser
In addition to the invariant "parsing doesn’t enter new symbols",
which was respected and tested in 760df9843a910d6, we also must
ensure that "parsing doesn't call Symbol#info".
That happend indirectly if we call `companionModule`.
This commit just converts the name of `class TupleN` to a term
name, rather than getting the name of its companion.
No test is included. This is tested upstream in:
https://jenkins.scala-ide.org:8496/jenkins/view/Memory%20Leak%20Tests/job/scalac-memory-leaks-test-2.11.0/
-rw-r--r-- | src/reflect/scala/reflect/internal/TreeGen.scala | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/reflect/scala/reflect/internal/TreeGen.scala b/src/reflect/scala/reflect/internal/TreeGen.scala index 145b4a3f1f..29fdba2781 100644 --- a/src/reflect/scala/reflect/internal/TreeGen.scala +++ b/src/reflect/scala/reflect/internal/TreeGen.scala @@ -281,7 +281,7 @@ abstract class TreeGen extends macros.TreeBuilder { case tree :: Nil if flattenUnary => tree case _ => - Apply(scalaDot(TupleClass(elems.length).companionModule.name), elems) + Apply(scalaDot(TupleClass(elems.length).name.toTermName), elems) } def mkTupleType(elems: List[Tree], flattenUnary: Boolean = true): Tree = elems match { |