diff options
Diffstat (limited to 'src/compiler/scala/reflect/internal/AnnotationInfos.scala')
-rw-r--r-- | src/compiler/scala/reflect/internal/AnnotationInfos.scala | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/compiler/scala/reflect/internal/AnnotationInfos.scala b/src/compiler/scala/reflect/internal/AnnotationInfos.scala index 1da867a6b6..d49787d3df 100644 --- a/src/compiler/scala/reflect/internal/AnnotationInfos.scala +++ b/src/compiler/scala/reflect/internal/AnnotationInfos.scala @@ -9,7 +9,7 @@ package internal import util._ /** AnnotationInfo and its helpers */ -trait AnnotationInfos /*extends reflect.generic.AnnotationInfos*/ { self: SymbolTable => +trait AnnotationInfos extends api.AnnotationInfos { self: SymbolTable => /** Arguments to classfile annotations (which are written to * bytecode as java annotations) are either: @@ -30,12 +30,16 @@ trait AnnotationInfos /*extends reflect.generic.AnnotationInfos*/ { self: Symbol override def toString = const.escapedStringValue } + object LiteralAnnotArg extends LiteralAnnotArgExtractor + /** Represents an array of classfile annotation arguments */ case class ArrayAnnotArg(args: Array[ClassfileAnnotArg]) extends ClassfileAnnotArg { override def toString = args.mkString("[", ", ", "]") } + object ArrayAnnotArg extends ArrayAnnotArgExtractor + /** A specific annotation argument that encodes an array of bytes as an array of `Long`. The type of the argument * declared in the annotation must be `String`. This specialised class is used to encode scala signatures for * reasons of efficiency, both in term of class-file size and in term of compiler performance. */ @@ -58,6 +62,8 @@ trait AnnotationInfos /*extends reflect.generic.AnnotationInfos*/ { self: Symbol override def toString = annInfo.toString } + object NestedAnnotArg extends NestedAnnotArgExtractor + class AnnotationInfoBase /** <p> @@ -131,6 +137,8 @@ trait AnnotationInfos /*extends reflect.generic.AnnotationInfos*/ { self: Symbol } else None } + object AnnotationInfo extends AnnotationInfoExtractor + lazy val classfileAnnotArgManifest: ClassManifest[ClassfileAnnotArg] = reflect.ClassManifest.classType(classOf[ClassfileAnnotArg]) |