aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/tasty
diff options
context:
space:
mode:
Diffstat (limited to 'src/dotty/tools/dotc/core/tasty')
-rw-r--r--src/dotty/tools/dotc/core/tasty/TastyFormat.scala23
-rw-r--r--src/dotty/tools/dotc/core/tasty/TreePickler.scala5
-rw-r--r--src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala2
3 files changed, 18 insertions, 12 deletions
diff --git a/src/dotty/tools/dotc/core/tasty/TastyFormat.scala b/src/dotty/tools/dotc/core/tasty/TastyFormat.scala
index 106a6510d..1022fc4da 100644
--- a/src/dotty/tools/dotc/core/tasty/TastyFormat.scala
+++ b/src/dotty/tools/dotc/core/tasty/TastyFormat.scala
@@ -103,10 +103,10 @@ Standard-Section: "ASTs" TopLevelStat*
TERMREFpkg fullyQualified_NameRef
TERMREF possiblySigned_NameRef qual_Type
THIS clsRef_Type
- SKOLEMtype refinedType_ASTRef
+ REFINEDthis refinedType_ASTRef
+ SKOLEMtype Type_ASTRef
SHARED path_ASTRef
-
Constant = UNITconst
FALSEconst
TRUEconst
@@ -262,15 +262,16 @@ object TastyFormat {
final val TERMREFpkg = 67
final val TYPEREFpkg = 68
final val SKOLEMtype = 69
- final val BYTEconst = 70
- final val SHORTconst = 71
- final val CHARconst = 72
- final val INTconst = 73
- final val LONGconst = 74
- final val FLOATconst = 75
- final val DOUBLEconst = 76
- final val STRINGconst = 77
- final val IMPORTED = 78
+ final val REFINEDthis = 70
+ final val BYTEconst = 71
+ final val SHORTconst = 72
+ final val CHARconst = 73
+ final val INTconst = 74
+ final val LONGconst = 75
+ final val FLOATconst = 76
+ final val DOUBLEconst = 77
+ final val STRINGconst = 78
+ final val IMPORTED = 79
final val THIS = 96
final val CLASSconst = 97
diff --git a/src/dotty/tools/dotc/core/tasty/TreePickler.scala b/src/dotty/tools/dotc/core/tasty/TreePickler.scala
index 365b5d268..cd49f7c5a 100644
--- a/src/dotty/tools/dotc/core/tasty/TreePickler.scala
+++ b/src/dotty/tools/dotc/core/tasty/TreePickler.scala
@@ -198,9 +198,12 @@ class TreePickler(pickler: TastyPickler) {
case tpe: SuperType =>
writeByte(SUPERtype)
withLength { pickleType(tpe.thistpe); pickleType(tpe.supertpe)}
+ case tpe: RefinedThis =>
+ writeByte(REFINEDthis)
+ writeRef(pickledTypes.get(tpe.binder).asInstanceOf[Addr])
case tpe: SkolemType =>
writeByte(SKOLEMtype)
- writeRef(pickledTypes.get(tpe.binder).asInstanceOf[Addr])
+ pickleType(tpe.info)
case tpe: RefinedType =>
val args = tpe.argInfos(interpolate = false)
if (args.isEmpty) {
diff --git a/src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala b/src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala
index e753bdcab..d4260e679 100644
--- a/src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala
+++ b/src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala
@@ -254,6 +254,8 @@ class TreeUnpickler(reader: TastyReader, tastyName: TastyName.Table) {
}
case THIS =>
ThisType.raw(readType().asInstanceOf[TypeRef])
+ case REFINEDthis =>
+ RefinedThis(readTypeRef().asInstanceOf[RefinedType])
case SKOLEMtype =>
SkolemType(readTypeRef())
case SHARED =>