@@ -16,7 +16,9 @@ object ClassPathEntries {
16
16
17
17
trait BinaryFileEntry extends ClassRepresentation {
18
18
def file : AbstractFile
19
- def binary : Option [AbstractFile ] = Some (file)
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
20
22
}
21
23
22
24
case class PackageName (dottedString : String ) {
@@ -46,36 +48,25 @@ trait PackageEntry {
46
48
}
47
49
48
50
private [dotty] case class ClassFileEntry (file : AbstractFile ) extends BinaryFileEntry {
49
- final def fileName : String = file.name
50
- def name : String = FileUtils .stripClassExtension(file.name) // class name
51
51
def classfile : Option [AbstractFile ] = Some (file)
52
52
def tasty : Option [AbstractFile ] = None
53
- def source : Option [AbstractFile ] = None
54
53
}
55
54
56
55
private [dotty] case class TastyFileEntry (file : AbstractFile , classfile : Option [AbstractFile ]) extends BinaryFileEntry {
57
- final def fileName : String = file.name
58
- def name : String = FileUtils .stripClassExtension(file.name) // class name
59
56
def tasty : Option [AbstractFile ] = Some (file)
60
- def source : Option [AbstractFile ] = None
61
57
}
62
58
63
59
private [dotty] case class SourceFileEntry (file : AbstractFile ) extends ClassRepresentation {
64
60
final def fileName : String = file.name
65
61
def name : String = FileUtils .stripSourceExtension(file.name)
66
- def binary : Option [AbstractFile ] = None
67
62
def classfile : Option [AbstractFile ] = None
68
63
def tasty : Option [AbstractFile ] = None
69
64
def source : Option [AbstractFile ] = Some (file)
70
65
}
71
66
72
- private [dotty] case class BinaryAndSourceFilesEntry (binaryEntry : ClassRepresentation , sourceEntry : ClassRepresentation ) extends ClassRepresentation {
73
- // TODO set these types in constructor
74
- assert(binaryEntry.isInstanceOf [BinaryFileEntry ])
75
- assert(sourceEntry.isInstanceOf [SourceFileEntry ])
67
+ private [dotty] case class BinaryAndSourceFilesEntry (binaryEntry : BinaryFileEntry , sourceEntry : SourceFileEntry ) extends ClassRepresentation {
76
68
final def fileName : String = binaryEntry.fileName
77
69
def name : String = binaryEntry.name
78
- def binary : Option [AbstractFile ] = binaryEntry.binary
79
70
def classfile : Option [AbstractFile ] = binaryEntry.classfile
80
71
def tasty : Option [AbstractFile ] = binaryEntry.tasty
81
72
def source : Option [AbstractFile ] = sourceEntry.source
0 commit comments