aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/tasty/TreePickler.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/dotty/tools/dotc/core/tasty/TreePickler.scala')
-rw-r--r--src/dotty/tools/dotc/core/tasty/TreePickler.scala13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/dotty/tools/dotc/core/tasty/TreePickler.scala b/src/dotty/tools/dotc/core/tasty/TreePickler.scala
index a5f421888..7f1895cc3 100644
--- a/src/dotty/tools/dotc/core/tasty/TreePickler.scala
+++ b/src/dotty/tools/dotc/core/tasty/TreePickler.scala
@@ -438,15 +438,10 @@ class TreePickler(pickler: TastyPickler) {
case SeqLiteral(elems, elemtpt) =>
writeByte(REPEATED)
withLength { pickleTree(elemtpt); elems.foreach(pickleTree) }
- case tree: Inlined =>
- // Why drop Inlined info when pickling?
- // Since we never inline inside an inlined method, we know that
- // any code that continas an Inlined tree is not inlined itself.
- // So position information for inline expansion is no longer needed.
- // The only reason to keep the inline info around would be to have fine-grained
- // position information in the linker. We should come back to this
- // point once we know more what we would do with such information.
- pickleTree(Inliner.dropInlined(tree))
+ case Inlined(call, bindings, expansion) =>
+ writeByte(INLINED)
+ bindings.foreach(preRegister)
+ withLength { pickleTree(call); pickleTree(expansion); bindings.foreach(pickleTree) }
case TypeTree() =>
pickleTpt(tree)
case Bind(name, body) =>