@@ -14,13 +14,6 @@ object ClassPathEntries {
14
14
val empty = ClassPathEntries (Seq .empty, Seq .empty)
15
15
}
16
16
17
- trait BinaryFileEntry extends ClassRepresentation {
18
- def file : AbstractFile
19
- final def fileName : String = file.name
20
- final def name : String = FileUtils .stripClassExtension(file.name) // class name
21
- final def source : Option [AbstractFile ] = None
22
- }
23
-
24
17
case class PackageName (dottedString : String ) {
25
18
val dirPathTrailingSlashJar : String = FileUtils .dirPathInJar(dottedString) + " /"
26
19
@@ -47,24 +40,34 @@ trait PackageEntry {
47
40
def name : String
48
41
}
49
42
50
- private [dotty] case class ClassFileEntry (file : AbstractFile ) extends BinaryFileEntry {
43
+ /** A TASTy file or classfile */
44
+ sealed trait BinaryFileEntry extends ClassRepresentation {
45
+ def file : AbstractFile
46
+ final def fileName : String = file.name
47
+ final def name : String = FileUtils .stripClassExtension(file.name) // class name
48
+ final def source : Option [AbstractFile ] = None
49
+ }
50
+
51
+ /** A classfile or .sig that does not have an associated TASTy file */
52
+ private [dotty] final case class ClassFileEntry (file : AbstractFile ) extends BinaryFileEntry {
51
53
def classfile : Option [AbstractFile ] = Some (file)
52
54
def tasty : Option [AbstractFile ] = None
53
55
}
54
56
55
- private [dotty] case class TastyFileEntry (file : AbstractFile , classfile : Option [AbstractFile ]) extends BinaryFileEntry {
57
+ /** A TASTy file that may have an associated TASTy */
58
+ private [dotty] final case class TastyFileEntry (file : AbstractFile , classfile : Option [AbstractFile ]) extends BinaryFileEntry {
56
59
def tasty : Option [AbstractFile ] = Some (file)
57
60
}
58
61
59
- private [dotty] case class SourceFileEntry (file : AbstractFile ) extends ClassRepresentation {
62
+ private [dotty] final case class SourceFileEntry (file : AbstractFile ) extends ClassRepresentation {
60
63
final def fileName : String = file.name
61
64
def name : String = FileUtils .stripSourceExtension(file.name)
62
65
def classfile : Option [AbstractFile ] = None
63
66
def tasty : Option [AbstractFile ] = None
64
67
def source : Option [AbstractFile ] = Some (file)
65
68
}
66
69
67
- private [dotty] case class BinaryAndSourceFilesEntry (binaryEntry : BinaryFileEntry , sourceEntry : SourceFileEntry ) extends ClassRepresentation {
70
+ private [dotty] final case class BinaryAndSourceFilesEntry (binaryEntry : BinaryFileEntry , sourceEntry : SourceFileEntry ) extends ClassRepresentation {
68
71
final def fileName : String = binaryEntry.fileName
69
72
def name : String = binaryEntry.name
70
73
def classfile : Option [AbstractFile ] = binaryEntry.classfile
0 commit comments