Skip to content

Commit 1080529

Browse files
Merge pull request #3700 from dotty-staging/fix-decompiler-on-duplicates
Remove compilation units for classes that have already been loaded
2 parents f4abdd8 + d87f21f commit 1080529

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

compiler/src/dotty/tools/dotc/fromtasty/ReadTastyTreesFromClasses.scala

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,15 @@ class ReadTastyTreesFromClasses extends FrontEnd {
2828
else {
2929
val unit = CompilationUnit.mkCompilationUnit(clsd, unpickled, forceTrees = true)
3030
val cls = clsd.symbol.asClass
31-
unit.pickled += (cls -> cls.unpickler.unpickler.bytes)
32-
cls.unpickler = null
33-
Some(unit)
31+
if (cls.unpickler == null) {
32+
ctx.error(s"Error: Already loaded ${cls.showFullName}")
33+
None
34+
}
35+
else {
36+
unit.pickled += (cls -> cls.unpickler.unpickler.bytes)
37+
cls.unpickler = null
38+
Some(unit)
39+
}
3440
}
3541
}
3642
}

0 commit comments

Comments
 (0)