Closed
Description
From ZipArchive.scala:
for (zipEntry <- iter) {
val dir = getDir(dirs, zipEntry)
if (!zipEntry.isDirectory) {
class FileEntry() extends Entry(zipEntry.getName) {
override def lastModified = zipEntry.getTime()
override def input = resourceInputStream(path)
override def sizeOption = None
}
val f = new FileEntry()
dir.entries(f.name) = f
}
}
Pickling fails when bootstrapping this as part of the killing reflect io PR.
Message:
java.lang.AssertionError: assertion failed: unresolved symbols: class FileEntry when pickling /Users/fixel/Projects/dotty/compiler/src/dotty/tools/io/ZipArchive.scala
at scala.Predef$.assert(Predef.scala:170)
at dotty.tools.dotc.core.tasty.TreePickler.pickle(TreePickler.scala:608)
at dotty.tools.dotc.transform.Pickler$$anonfun$run$2$$anonfun$apply$1.apply(Pickler.scala:51)
at dotty.tools.dotc.transform.Pickler$$anonfun$run$2$$anonfun$apply$1.apply(Pickler.scala:44)
at scala.collection.immutable.List.foreach(List.scala:392)
at dotty.tools.dotc.transform.Pickler$$anonfun$run$2.apply(Pickler.scala:44)
at dotty.tools.dotc.transform.Pickler$$anonfun$run$2.apply(Pickler.scala:43)
at scala.collection.immutable.List.foreach(List.scala:392)
at dotty.tools.dotc.transform.Pickler.run(Pickler.scala:43)
at dotty.tools.dotc.core.Phases$Phase$$anonfun$runOn$1.apply(Phases.scala:283)
at dotty.tools.dotc.core.Phases$Phase$$anonfun$runOn$1.apply(Phases.scala:281)
at scala.collection.immutable.List.map(List.scala:288)
at dotty.tools.dotc.core.Phases$Phase$class.runOn(Phases.scala:281)
at dotty.tools.dotc.transform.Pickler.runOn(Pickler.scala:75)
at dotty.tools.dotc.Run$$anonfun$compileUnits$1$$anonfun$apply$mcV$sp$1.apply(Run.scala:76)
at dotty.tools.dotc.Run$$anonfun$compileUnits$1$$anonfun$apply$mcV$sp$1.apply(Run.scala:73)
at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:186)
at dotty.tools.dotc.Run$$anonfun$compileUnits$1.apply$mcV$sp(Run.scala:73)
at dotty.tools.dotc.Run$$anonfun$compileUnits$1.apply(Run.scala:67)
at dotty.tools.dotc.Run$$anonfun$compileUnits$1.apply(Run.scala:67)
at dotty.tools.dotc.util.Stats$.monitorHeartBeat(Stats.scala:76)
at dotty.tools.dotc.Run.compileUnits(Run.scala:67)
at dotty.tools.dotc.Run.compileSources(Run.scala:64)
at dotty.tools.dotc.Run.compile(Run.scala:48)
at dotty.tools.dotc.Driver.doCompile(Driver.scala:26)
at dotty.tools.dotc.Driver.process(Driver.scala:124)
at xsbt.CachedCompilerImpl.run(CompilerInterface.scala:63)
at xsbt.CachedCompilerImpl.run(CompilerInterface.scala:53)
at xsbt.CompilerInterface.run(CompilerInterface.scala:37)
at sun.reflect.GeneratedMethodAccessor22.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sbt.compiler.AnalyzingCompiler.call(AnalyzingCompiler.scala:107)
at sbt.compiler.AnalyzingCompiler.compile(AnalyzingCompiler.scala:53)
at sbt.compiler.AnalyzingCompiler.compile(AnalyzingCompiler.scala:47)
at sbt.compiler.MixedAnalyzingCompiler$$anonfun$compileScala$1$1.apply$mcV$sp(MixedAnalyzingCompiler.scala:50)