From 522a5c6e08b3448ffe793a9d6334d587a2cf90f0 Mon Sep 17 00:00:00 2001 From: Lukas Rytz Date: Wed, 10 Feb 2021 22:06:03 +0100 Subject: [PATCH] Don't pickle `@nowarn` annotations... ...by special-casing them. In principle we have `extends Annotation` vs `extends StaticAnnotation` for that, but sadly `ConstantAnnotation extends StaticAnnotation`, so we don't get to choose for those :-/ --- src/reflect/scala/reflect/internal/Symbols.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reflect/scala/reflect/internal/Symbols.scala b/src/reflect/scala/reflect/internal/Symbols.scala index e17259573b0a..33cbd4162a07 100644 --- a/src/reflect/scala/reflect/internal/Symbols.scala +++ b/src/reflect/scala/reflect/internal/Symbols.scala @@ -124,7 +124,7 @@ trait Symbols extends api.Symbols { self: SymbolTable => def isJavaEnum: Boolean = hasJavaEnumFlag def isJavaAnnotation: Boolean = hasJavaAnnotationFlag def isStaticAnnotation: Boolean = - hasJavaAnnotationFlag || isNonBottomSubClass(StaticAnnotationClass) + hasJavaAnnotationFlag || isNonBottomSubClass(StaticAnnotationClass) && this != NowarnClass def newNestedSymbol(name: Name, pos: Position, newFlags: Long, isClass: Boolean): Symbol = name match { case n: TermName => newTermSymbol(n, pos, newFlags)