File tree Expand file tree Collapse file tree 3 files changed +11
-3
lines changed
compiler/src/dotty/tools/dotc
sbt-test/source-dependencies/binary Expand file tree Collapse file tree 3 files changed +11
-3
lines changed Original file line number Diff line number Diff line change @@ -150,7 +150,8 @@ object Symbols {
150
150
* symbols defined by the user in a prior run of the REPL, that are still valid.
151
151
*/
152
152
final def isDefinedInSource (using Context ): Boolean =
153
- span.exists && isValidInCurrentRun && associatedFileMatches(_.extension != " class" )
153
+ span.exists && isValidInCurrentRun
154
+ && associatedFileMatches(file => file.extension != " class" && file.extension != " tasty" )
154
155
155
156
/** Is symbol valid in current run? */
156
157
final def isValidInCurrentRun (using Context ): Boolean =
@@ -284,7 +285,7 @@ object Symbols {
284
285
285
286
final def source (using Context ): SourceFile = {
286
287
def valid (src : SourceFile ): SourceFile =
287
- if (src.exists && src.file.extension != " class" ) src
288
+ if (src.exists && src.file.extension != " class" && src.file.extension != " tasty " ) src
288
289
else NoSource
289
290
290
291
if (! denot.exists) NoSource
Original file line number Diff line number Diff line change @@ -144,6 +144,13 @@ class ExtractDependencies extends Phase {
144
144
if (depFile.extension == " class" ) {
145
145
// Dependency is external -- source is undefined
146
146
processExternalDependency(depFile, dep.to.binaryClassName)
147
+ } else if (depFile.extension == " tasty" ) {
148
+ val parent = depFile match // TODO: simplify when #3552 is fixed
149
+ case depFile : io.ZipArchive # Entry => depFile.parent
150
+ case _ => depFile.container
151
+ val depClassFile = parent.lookupName(dep.to.binaryClassName + " .class" , directory = false )
152
+ if depClassFile != null then
153
+ processExternalDependency(depClassFile, dep.to.binaryClassName)
147
154
} else if (allowLocal || depFile.file != sourceFile) {
148
155
// We cannot ignore dependencies coming from the same source file because
149
156
// the dependency info needs to propagate. See source-dependencies/trait-trait-211.
Original file line number Diff line number Diff line change 3
3
$ sleep 2000
4
4
5
5
$ copy-file changes/Break.scala dep/A.scala
6
- # FIXME -> use/compile
6
+ -> use/compile
You can’t perform that action at this time.
0 commit comments