Skip to content

Commit 567d486

Browse files
committed
Fix writesToOutputDir
outputDirectory.isInstanceOf[JarArchive] was always false because `outputDirectory`'s type is java.nio.file.Path which never be an insntace of `JarArchive`.
1 parent 053e644 commit 567d486

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

Diff for: compiler/src/dotty/tools/dotc/semanticdb/ExtractSemanticDB.scala

+9-4
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ class ExtractSemanticDB private (phaseMode: ExtractSemanticDB.PhaseMode) extends
7171
val outputDir =
7272
ExtractSemanticDB.semanticdbPath(
7373
unit.source,
74-
ExtractSemanticDB.outputDirectory(using unitCtx),
74+
ExtractSemanticDB.semanticdbOutDir(using unitCtx),
7575
sourceRoot
7676
)
7777
(outputDir, ws.map(_.toSemanticDiagnostic))
@@ -86,7 +86,7 @@ class ExtractSemanticDB private (phaseMode: ExtractSemanticDB.PhaseMode) extends
8686
val outputDir =
8787
ExtractSemanticDB.semanticdbPath(
8888
unit.source,
89-
ExtractSemanticDB.outputDirectory(using unitCtx),
89+
ExtractSemanticDB.semanticdbOutDir(using unitCtx),
9090
sourceRoot
9191
)
9292
val extractor = ExtractSemanticDB.Extractor()
@@ -128,8 +128,13 @@ object ExtractSemanticDB:
128128
.filterNot(_.isEmpty)
129129
.map(Paths.get(_))
130130

131-
private def outputDirectory(using Context): Path =
132-
semanticdbTarget.getOrElse(ctx.settings.outputDir.value.jpath)
131+
/** Destination for generated classfiles */
132+
private def outputDirectory(using Context): AbstractFile =
133+
ctx.settings.outputDir.value
134+
135+
/** Output directory for SemanticDB files */
136+
private def semanticdbOutDir(using Context): Path =
137+
semanticdbTarget.getOrElse(outputDirectory.jpath)
133138

134139
private def absolutePath(path: Path): Path = path.toAbsolutePath.normalize
135140

0 commit comments

Comments
 (0)