diff options
author | Guillaume Martres <smarter@ubuntu.com> | 2017-02-13 20:40:11 +0100 |
---|---|---|
committer | Guillaume Martres <smarter@ubuntu.com> | 2017-02-18 23:35:34 +0100 |
commit | 3913b9eaa15dbed77f702696fc79a4ad697d6585 (patch) | |
tree | 636e51205e514d6f92d4f81a9adde50886ef9b27 /compiler/src | |
parent | e5a6a9e7c363acc4ad7d9d9fe25e1ffa533e5d90 (diff) | |
download | dotty-3913b9eaa15dbed77f702696fc79a4ad697d6585.tar.gz dotty-3913b9eaa15dbed77f702696fc79a4ad697d6585.tar.bz2 dotty-3913b9eaa15dbed77f702696fc79a4ad697d6585.zip |
TreeUnpickler: Avoid capturing context in lazyStats
`lazyStats` creates a lazy tree using `readLater`, but the closure
inside `readLater` calls `mergeTypeParamsAndAliases` which until this
commit implicitly used the Context from the outer method `readTemplate`,
this lead to crashes in the Language Server.
Diffstat (limited to 'compiler/src')
-rw-r--r-- | compiler/src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala b/compiler/src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala index ffd594454..d73c557f1 100644 --- a/compiler/src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala +++ b/compiler/src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala @@ -769,7 +769,7 @@ class TreeUnpickler(reader: TastyReader, tastyName: TastyName.Table, posUnpickle cls.setApplicableFlags(fork.indexStats(end)) val constr = readIndexedDef().asInstanceOf[DefDef] - def mergeTypeParamsAndAliases(tparams: List[TypeDef], stats: List[Tree]): (List[Tree], List[Tree]) = + def mergeTypeParamsAndAliases(tparams: List[TypeDef], stats: List[Tree])(implicit ctx: Context): (List[Tree], List[Tree]) = (tparams, stats) match { case (tparam :: tparams1, (alias: TypeDef) :: stats1) if tparam.name == alias.name.expandedName(cls) => |