@@ -2,7 +2,7 @@ package scala.tools.nsc.tasty
2
2
3
3
import scala .collection .mutable
4
4
5
- import TastyFormat .NameTags ._ , TastyFormat . nameTagToString
5
+ import TastyFormat .NameTags ._
6
6
import TastyRefs .NameRef
7
7
import Names .TastyName , Names .TastyName ._
8
8
@@ -48,58 +48,46 @@ class TastyUnpickler(reader: TastyReader)(implicit tasty: TastyUniverse) { self
48
48
val length = readNat()
49
49
val start = currentAddr
50
50
val end = start + length
51
+ def debugName (name : TastyName ): name.type = {
52
+ logTasty(s " ${nameAtRef.size}: ${name.debug}" )
53
+ name
54
+ }
51
55
val result = tag match {
52
56
case UTF8 =>
53
57
goto(end)
54
- val res = SimpleName (new String (bytes.slice(start.index, start.index + length), " UTF-8" ))
55
- logTasty(s " ${nameAtRef.size}: ${res.debug}" )
56
- res
58
+ debugName(SimpleName (new String (bytes.slice(start.index, start.index + length), " UTF-8" )))
57
59
case tag @ (QUALIFIED | EXPANDED | EXPANDPREFIX ) =>
58
60
val sep = tag match {
59
61
case QUALIFIED => TastyName .PathSep
60
62
case EXPANDED => TastyName .ExpandedSep
61
63
case EXPANDPREFIX => TastyName .ExpandPrefixSep
62
64
}
63
- val res = QualifiedName (readName(), sep, readName().asSimpleName)
64
- logTasty(s " ${nameAtRef.size}: ${res.debug}" )
65
- res // qualifiedNameKindOfTag(tag)(readName(), readName().asSimpleName)
65
+ debugName(QualifiedName (readName(), sep, readName().asSimpleName))
66
66
case UNIQUE =>
67
67
val separator = readName().asSimpleName
68
- val num = readNat()
68
+ val num = readNat()
69
69
val originals = until(end)(readName())
70
70
val original = if (originals.isEmpty) TastyName .Empty else originals.head
71
- val res = UniqueName (original, separator, num)
72
- logTasty(s " ${nameAtRef.size}: ${res.debug}" )
73
- res // uniqueNameKindOfSeparator(separator)(original, num)
71
+ debugName(UniqueName (original, separator, num))
74
72
case DEFAULTGETTER =>
75
- val qual = readName()
76
- val nat = readNat()
77
- val res = DefaultName (qual, nat)
78
- logTasty(s " ${nameAtRef.size}: ${res.debug}" )
79
- res // numberedNameKindOfTag(tag)(readName(), readNat())
73
+ debugName(DefaultName (readName(), readNat()))
80
74
case SIGNED =>
81
75
val original = readName()
82
76
val result = readName()
83
77
val paramsSig = until(end)(readParamSig())
84
78
val sig = Signature (paramsSig, result)
85
- val res = SignedName (original, sig)
86
- logTasty(s " ${nameAtRef.size}: ${res.debug}" )
87
- res
79
+ debugName(SignedName (original, sig))
88
80
case OBJECTCLASS =>
89
- val res = ModuleName (readName())
90
- logTasty(s " ${nameAtRef.size}: ${res.debug}" )
91
- res
81
+ debugName(ModuleName (readName()))
92
82
case INLINEACCESSOR | SUPERACCESSOR =>
93
83
val prefix = tag match {
94
84
case INLINEACCESSOR => TastyName .InlinePrefix
95
85
case SUPERACCESSOR => TastyName .SuperPrefix
96
86
}
97
- val res = PrefixName (prefix, readName())
98
- logTasty(s " ${nameAtRef.size}: ${res.debug}" )
99
- res
87
+ debugName(PrefixName (prefix, readName()))
100
88
case _ =>
101
- val qual = readName() // simpleNameKindOfTag(tag)(readName())
102
- sys.error(s " at Addr ( ${nameAtRef.size}): unknown ${nameTagToString(tag)} name: $qual " )
89
+ val qual = readName()
90
+ sys.error(s " at NameRef ( ${nameAtRef.size}): name ` ${qual.debug} ` is qualified by unknown tag $tag " )
103
91
}
104
92
assert(currentAddr == end, s " bad name ${result.debug} $start $currentAddr $end" )
105
93
result
0 commit comments