Skip to content

Commit 9a7434e

Browse files
committed
Make sure only aliases in dotty.io are used
Previously, we would use `scala.reflect.io._` directly. The first part of abstracting away reflect is to kill this direct dependency.
1 parent a447c5b commit 9a7434e

26 files changed

+45
-48
lines changed

compiler/sjs/backend/sjs/JSCodeGen.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ class JSCodeGen()(implicit ctx: Context) {
182182

183183
private def getFileFor(cunit: CompilationUnit, sym: Symbol,
184184
suffix: String) = {
185-
import scala.reflect.io._
185+
import dotty.tools.io._
186186

187187
val outputDirectory: AbstractFile = // TODO Support virtual files
188188
new PlainDirectory(new Directory(new java.io.File(ctx.settings.d.value)))

compiler/src/dotty/tools/backend/jvm/CollectEntryPoints.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import java.io.{File => JFile}
1515
import scala.collection.generic.Clearable
1616
import scala.collection.mutable
1717
import scala.reflect.ClassTag
18-
import scala.reflect.io.{Directory, PlainDirectory, AbstractFile}
18+
import dotty.tools.io.{Directory, PlainDirectory, AbstractFile}
1919
import scala.tools.asm.{ClassVisitor, FieldVisitor, MethodVisitor}
2020
import scala.tools.nsc.backend.jvm.{BCodeHelpers, BackendInterface}
2121
import dotty.tools.dotc.core._

compiler/src/dotty/tools/backend/jvm/DottyBackendInterface.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import scala.collection.generic.Clearable
1212
import scala.collection.mutable
1313
import scala.reflect.ClassTag
1414
import scala.reflect.internal.util.WeakHashSet
15-
import scala.reflect.io.{AbstractFile, Directory, PlainDirectory}
15+
import dotty.tools.io.{AbstractFile, Directory, PlainDirectory}
1616
import scala.tools.asm.{AnnotationVisitor, ClassVisitor, FieldVisitor, MethodVisitor}
1717
import scala.tools.nsc.backend.jvm.{BCodeHelpers, BackendInterface}
1818
import dotty.tools.dotc.core._

compiler/src/dotty/tools/backend/jvm/GenBCode.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ import dotty.tools.dotc.util.{DotClass, Positions}
3333
import tpd._
3434
import StdNames._
3535

36-
import scala.reflect.io.{AbstractFile, Directory, PlainDirectory}
36+
import dotty.tools.io.{AbstractFile, Directory, PlainDirectory}
3737

3838
class GenBCode extends Phase {
3939
def phaseName: String = "genBCode"
@@ -62,10 +62,10 @@ class GenBCodePipeline(val entryPoints: List[Symbol], val int: DottyBackendInter
6262

6363
val sourceFile = ctx.compilationUnit.source
6464

65-
/** Convert a `scala.reflect.io.AbstractFile` into a
65+
/** Convert a `dotty.tools.io.AbstractFile` into a
6666
* `dotty.tools.dotc.interfaces.AbstractFile`.
6767
*/
68-
private[this] def convertAbstractFile(absfile: scala.reflect.io.AbstractFile): interfaces.AbstractFile =
68+
private[this] def convertAbstractFile(absfile: dotty.tools.io.AbstractFile): interfaces.AbstractFile =
6969
new interfaces.AbstractFile {
7070
override def name = absfile.name
7171
override def path = absfile.path

compiler/src/dotty/tools/backend/jvm/LabelDefs.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import scala.collection.generic.Clearable
1616
import scala.collection.mutable
1717
import scala.collection.mutable.{ListBuffer, ArrayBuffer}
1818
import scala.reflect.ClassTag
19-
import scala.reflect.io.{Directory, PlainDirectory, AbstractFile}
19+
import dotty.tools.io.{Directory, PlainDirectory, AbstractFile}
2020
import scala.tools.asm.{ClassVisitor, FieldVisitor, MethodVisitor}
2121
import scala.tools.nsc.backend.jvm.{BCodeHelpers, BackendInterface}
2222
import dotty.tools.dotc.core._

compiler/src/dotty/tools/dotc/Run.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import java.io.{BufferedWriter, OutputStreamWriter}
1818
import printing.XprintMode
1919

2020
import scala.annotation.tailrec
21-
import scala.reflect.io.VirtualFile
21+
import dotty.tools.io.VirtualFile
2222
import scala.util.control.NonFatal
2323

2424
/** A compiler run. Exports various methods to compile source files */

compiler/src/dotty/tools/dotc/classpath/AggregateClassPath.scala

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
/*
22
* Copyright (c) 2014 Contributor. All rights reserved.
33
*/
4-
package dotty.tools.dotc.classpath
4+
package dotty.tools
5+
package dotc.classpath
56

67
import java.net.URL
78
import scala.annotation.tailrec
89
import scala.collection.mutable.ArrayBuffer
9-
import scala.reflect.internal.FatalError
10-
import scala.reflect.io.AbstractFile
11-
import dotty.tools.io.ClassPath
12-
import dotty.tools.io.ClassRepresentation
10+
import dotty.tools.io.{ AbstractFile, ClassPath, ClassRepresentation }
1311

1412
/**
1513
* A classpath unifying multiple class- and sourcepath entries.

compiler/src/dotty/tools/dotc/classpath/ClassPath.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
*/
44
package dotty.tools.dotc.classpath
55

6-
import scala.reflect.io.AbstractFile
6+
import dotty.tools.io.AbstractFile
77
import dotty.tools.io.ClassRepresentation
88

99
case class ClassPathEntries(packages: Seq[PackageEntry], classesAndSources: Seq[ClassRepresentation])

compiler/src/dotty/tools/dotc/classpath/ClassPathFactory.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
*/
44
package dotty.tools.dotc.classpath
55

6-
import scala.reflect.io.{AbstractFile, VirtualDirectory}
7-
import scala.reflect.io.Path.string2path
6+
import dotty.tools.io.{AbstractFile, VirtualDirectory}
7+
import dotty.tools.io.Path.string2path
88
import dotty.tools.dotc.config.Settings
99
import FileUtils.AbstractFileOps
1010
import dotty.tools.io.ClassPath

compiler/src/dotty/tools/dotc/classpath/DirectoryClassPath.scala

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@ import java.util.function.IntFunction
1010
import java.util
1111
import java.util.Comparator
1212

13-
import scala.reflect.io.{AbstractFile, PlainFile}
14-
import dotty.tools.io.{ClassPath, ClassRepresentation, PlainNioFile}
13+
import dotty.tools.io.{AbstractFile, PlainFile, ClassPath, ClassRepresentation, PlainNioFile}
1514
import FileUtils._
1615
import scala.collection.JavaConverters._
1716

@@ -118,7 +117,7 @@ trait JFileDirectoryLookup[FileEntryType <: ClassRepresentation] extends Directo
118117
} else Array()
119118
}
120119
protected def getName(f: File): String = f.getName
121-
protected def toAbstractFile(f: File): AbstractFile = new PlainFile(new scala.reflect.io.File(f))
120+
protected def toAbstractFile(f: File): AbstractFile = new PlainFile(new dotty.tools.io.File(f))
122121
protected def isPackage(f: File): Boolean = f.isPackage
123122

124123
assert(dir != null, "Directory file in DirectoryFileLookup cannot be null")
@@ -208,7 +207,7 @@ case class DirectoryClassPath(dir: File) extends JFileDirectoryLookup[ClassFileE
208207
val relativePath = FileUtils.dirPath(className)
209208
val classFile = new File(s"$dir/$relativePath.class")
210209
if (classFile.exists) {
211-
val wrappedClassFile = new scala.reflect.io.File(classFile)
210+
val wrappedClassFile = new dotty.tools.io.File(classFile)
212211
val abstractClassFile = new PlainFile(wrappedClassFile)
213212
Some(abstractClassFile)
214213
} else None
@@ -235,7 +234,7 @@ case class DirectorySourcePath(dir: File) extends JFileDirectoryLookup[SourceFil
235234
.collectFirst { case file if file.exists() => file }
236235

237236
sourceFile.map { file =>
238-
val wrappedSourceFile = new scala.reflect.io.File(file)
237+
val wrappedSourceFile = new dotty.tools.io.File(file)
239238
val abstractSourceFile = new PlainFile(wrappedSourceFile)
240239
abstractSourceFile
241240
}

compiler/src/dotty/tools/dotc/classpath/FileUtils.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
/*
22
* Copyright (c) 2014 Contributor. All rights reserved.
33
*/
4-
package dotty.tools.dotc.classpath
4+
package dotty.tools
5+
package dotc.classpath
56

67
import java.io.{File => JFile, FileFilter}
78
import java.net.URL
8-
import scala.reflect.internal.FatalError
9-
import scala.reflect.io.AbstractFile
9+
import dotty.tools.io.AbstractFile
1010

1111
/**
1212
* Common methods related to Java files and abstract files used in the context of classpath

compiler/src/dotty/tools/dotc/classpath/VirtualDirectoryClassPath.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package dotty.tools.dotc.classpath
22

33
import dotty.tools.io.ClassRepresentation
4-
import scala.reflect.io.{AbstractFile, Path, PlainFile, VirtualDirectory}
4+
import dotty.tools.io.{AbstractFile, Path, PlainFile, VirtualDirectory}
55
import FileUtils._
66
import java.net.URL
77

compiler/src/dotty/tools/dotc/classpath/ZipAndJarFileLookupFactory.scala

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ package dotty.tools.dotc.classpath
66
import java.io.File
77
import java.net.URL
88
import scala.annotation.tailrec
9-
import scala.reflect.io.{AbstractFile, FileZipArchive, ManifestResources}
10-
import dotty.tools.io.ClassPath
9+
import dotty.tools.io.{AbstractFile, ClassPath, FileZipArchive, ManifestResources}
1110
import dotty.tools.dotc.config.Settings
1211
import dotty.tools.dotc.core.Contexts.Context
1312
import FileUtils._

compiler/src/dotty/tools/dotc/classpath/ZipArchiveFileLookup.scala

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ package dotty.tools.dotc.classpath
66
import java.io.File
77
import java.net.URL
88
import scala.collection.Seq
9-
import scala.reflect.io.AbstractFile
10-
import scala.reflect.io.FileZipArchive
9+
import dotty.tools.io.{ AbstractFile, FileZipArchive }
1110
import FileUtils.AbstractFileOps
1211
import dotty.tools.io.{ClassPath, ClassRepresentation}
1312

compiler/src/dotty/tools/dotc/core/SymDenotations.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import NameOps._, NameKinds._
88
import Scopes.Scope
99
import collection.mutable
1010
import collection.BitSet
11-
import scala.reflect.io.AbstractFile
11+
import dotty.tools.io.AbstractFile
1212
import Decorators.SymbolIteratorDecorator
1313
import ast._
1414
import annotation.tailrec

compiler/src/dotty/tools/dotc/repl/CompilingInterpreter.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import scala.collection.mutable.{ListBuffer, HashSet, ArrayBuffer}
1515

1616
//import ast.parser.SyntaxAnalyzer
1717
import io.{PlainFile, VirtualDirectory}
18-
import scala.reflect.io.{PlainDirectory, Directory}
18+
import dotty.tools.io.{PlainDirectory, Directory}
1919
import reporting.{ConsoleReporter, Reporter}
2020
import core.Flags
2121
import util.{SourceFile, NameTransformer}

compiler/src/dotty/tools/dotc/repl/REPL.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ package repl
55
import core.Contexts.Context
66
import reporting.Reporter
77
import io.{AbstractFile, PlainFile, VirtualDirectory}
8-
import scala.reflect.io.{PlainDirectory, Directory}
8+
import dotty.tools.io.{PlainDirectory, Directory}
99
import java.io.{BufferedReader, File => JFile, FileReader, PrintWriter}
1010
import java.net.{URL, URLClassLoader}
1111

compiler/src/dotty/tools/io/package.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,15 @@ package object io {
1818
val Directory = scala.reflect.io.Directory
1919
type File = scala.reflect.io.File
2020
val File = scala.reflect.io.File
21+
type ManifestResources = scala.reflect.io.ManifestResources
2122
type Path = scala.reflect.io.Path
2223
val Path = scala.reflect.io.Path
2324
val Streamable = scala.reflect.io.Streamable
2425
type VirtualDirectory = scala.reflect.io.VirtualDirectory
2526
type VirtualFile = scala.reflect.io.VirtualFile
26-
val ZipArchive = scala.reflect.io.ZipArchive
2727
type ZipArchive = scala.reflect.io.ZipArchive
28+
val ZipArchive = scala.reflect.io.ZipArchive
29+
type FileZipArchive = scala.reflect.io.FileZipArchive
2830
type JManifest = java.util.jar.Manifest
2931
type JFile = java.io.File
3032

compiler/src/scala/tools/nsc/io/package.scala

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,17 @@ package scala.tools.nsc
1010
* See http://dotty.epfl.ch/docs/contributing/backend.html for more information.
1111
*/
1212
package object io {
13-
type AbstractFile = scala.reflect.io.AbstractFile
14-
val AbstractFile = scala.reflect.io.AbstractFile
13+
type AbstractFile = dotty.tools.io.AbstractFile
14+
val AbstractFile = dotty.tools.io.AbstractFile
1515

16-
type Directory = scala.reflect.io.Directory
17-
val Directory = scala.reflect.io.Directory
16+
type Directory = dotty.tools.io.Directory
17+
val Directory = dotty.tools.io.Directory
1818

19-
type Path = scala.reflect.io.Path
20-
val Path = scala.reflect.io.Path
19+
type Path = dotty.tools.io.Path
20+
val Path = dotty.tools.io.Path
2121

22-
type File = scala.reflect.io.File
23-
val File = scala.reflect.io.File
22+
type File = dotty.tools.io.File
23+
val File = dotty.tools.io.File
2424

2525
type Jar = dotty.tools.io.Jar
2626
val Jar = dotty.tools.io.Jar

compiler/test/dotc/tests.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import org.junit.{Before, Test}
88
import org.junit.Assert._
99

1010
import java.io.{ File => JFile }
11-
import scala.reflect.io.Directory
11+
import dotty.tools.io.Directory
1212
import scala.io.Source
1313

1414
/** WARNING

compiler/test/dotty/tools/backend/jvm/DottyBytecodeTest.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import dotc.core.Contexts.{Context, ContextBase}
55
import dotc.core.Phases.Phase
66
import dotc.Compiler
77

8-
import scala.reflect.io.{VirtualDirectory => Directory}
8+
import dotty.tools.io.{VirtualDirectory => Directory}
99
import scala.tools.asm
1010
import asm._
1111
import asm.tree._

compiler/test/dotty/tools/dotc/CompilerTest.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import util.SourcePosition
99
import config.CompilerCommand
1010
import dotty.tools.io.PlainFile
1111
import scala.collection.mutable.ListBuffer
12-
import scala.reflect.io.{ Path, Directory, File => SFile, AbstractFile }
12+
import dotty.tools.io.{ Path, Directory, File => SFile, AbstractFile }
1313
import scala.annotation.tailrec
1414
import java.io.{ RandomAccessFile, File => JFile }
1515

compiler/test/dotty/tools/dotc/parsing/DeSugarTest.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package dotc
33
package parsing
44

55
import Tokens._, Parsers._
6-
import scala.reflect.io._
6+
import dotty.tools.io._
77
import util._
88
import core._
99
import ast.Trees._

compiler/test/dotty/tools/dotc/parsing/ParserTest.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package dotty.tools
22
package dotc
33
package parsing
44

5-
import scala.reflect.io._
5+
import dotty.tools.io._
66
import util._
77
import core._
88
import scala.io.Codec

compiler/test/dotty/tools/dotc/parsing/ScannerTest.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package dotty.tools
22
package dotc
33
package parsing
44

5-
import scala.reflect.io._
5+
import dotty.tools.io._
66
import scala.io.Codec
77
import util._
88
import Tokens._, Scanners._

compiler/test/dotty/tools/dotc/transform/PatmatExhaustivityTest.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ package transform
66
import java.io._
77

88
import scala.io.Source._
9-
import scala.reflect.io.Directory
9+
import dotty.tools.io.Directory
1010
import org.junit.Test
1111
import reporting.TestReporter
1212
import vulpix.TestConfiguration

0 commit comments

Comments
 (0)