summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2014-04-21 20:55:01 +0200
committerJason Zaugg <jzaugg@gmail.com>2014-04-21 20:55:01 +0200
commitd573db8006a0de06c8e1a5d960f74d8270cb1ab6 (patch)
treeecd5d63002628504fb6306fd111e3211033434b7 /src
parent0c2614e862b0a9eadca6f2c734cef8c876908f8d (diff)
parent540535f71e2b4141db9294b8c2b053319a216084 (diff)
downloadscala-d573db8006a0de06c8e1a5d960f74d8270cb1ab6.tar.gz
scala-d573db8006a0de06c8e1a5d960f74d8270cb1ab6.tar.bz2
scala-d573db8006a0de06c8e1a5d960f74d8270cb1ab6.zip
Merge pull request #3682 from retronym/ticket/8497
SI-8497 Fix regression in pickling of AnnotatedTypes
Diffstat (limited to 'src')
-rw-r--r--src/reflect/scala/reflect/internal/pickling/Translations.scala31
1 files changed, 16 insertions, 15 deletions
diff --git a/src/reflect/scala/reflect/internal/pickling/Translations.scala b/src/reflect/scala/reflect/internal/pickling/Translations.scala
index e56cf796cb..d924cb3a0c 100644
--- a/src/reflect/scala/reflect/internal/pickling/Translations.scala
+++ b/src/reflect/scala/reflect/internal/pickling/Translations.scala
@@ -62,21 +62,22 @@ trait Translations {
}
def picklerTag(tpe: Type): Int = tpe match {
- case NoType => NOtpe
- case NoPrefix => NOPREFIXtpe
- case _: ThisType => THIStpe
- case _: SingleType => SINGLEtpe
- case _: SuperType => SUPERtpe
- case _: ConstantType => CONSTANTtpe
- case _: TypeBounds => TYPEBOUNDStpe
- case _: TypeRef => TYPEREFtpe
- case _: RefinedType => REFINEDtpe
- case _: ClassInfoType => CLASSINFOtpe
- case _: MethodType => METHODtpe
- case _: PolyType => POLYtpe
- case _: NullaryMethodType => POLYtpe // bad juju, distinct ints are not at a premium!
- case _: ExistentialType => EXISTENTIALtpe
- case _: AnnotatedType => ANNOTATEDtpe
+ case NoType => NOtpe
+ case NoPrefix => NOPREFIXtpe
+ case _: ThisType => THIStpe
+ case _: SingleType => SINGLEtpe
+ case _: SuperType => SUPERtpe
+ case _: ConstantType => CONSTANTtpe
+ case _: TypeBounds => TYPEBOUNDStpe
+ case _: TypeRef => TYPEREFtpe
+ case _: RefinedType => REFINEDtpe
+ case _: ClassInfoType => CLASSINFOtpe
+ case _: MethodType => METHODtpe
+ case _: PolyType => POLYtpe
+ case _: NullaryMethodType => POLYtpe // bad juju, distinct ints are not at a premium!
+ case _: ExistentialType => EXISTENTIALtpe
+ case StaticallyAnnotatedType(_, _) => ANNOTATEDtpe
+ case _: AnnotatedType => picklerTag(tpe.underlying)
}
def picklerSubTag(tree: Tree): Int = tree match {