diff options
author | Iulian Dragos <jaguarul@gmail.com> | 2009-06-19 15:47:18 +0000 |
---|---|---|
committer | Iulian Dragos <jaguarul@gmail.com> | 2009-06-19 15:47:18 +0000 |
commit | 614ba1f785ef4fcee023babf379af9e3b1f7ce04 (patch) | |
tree | 0de1d0934b70545330c9580c21f48a0d867e2bec /src/library | |
parent | 2b3218c7886241792a8936d31e509c6edc1ff191 (diff) | |
download | scala-614ba1f785ef4fcee023babf379af9e3b1f7ce04.tar.gz scala-614ba1f785ef4fcee023babf379af9e3b1f7ce04.tar.bz2 scala-614ba1f785ef4fcee023babf379af9e3b1f7ce04.zip |
Support for specialization on explicit types.
class Foo[@specialized("Int, Double") T] ..
Diffstat (limited to 'src/library')
-rw-r--r-- | src/library/scala/specialized.scala | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/library/scala/specialized.scala b/src/library/scala/specialized.scala index 8e30261333..fcc1c4b5da 100644 --- a/src/library/scala/specialized.scala +++ b/src/library/scala/specialized.scala @@ -3,7 +3,22 @@ package scala /** Annotate type parameters on which code should be automatically * specialized. For example: * <code> - * class MyList[T @specialized] ... + * class MyList[@specialized T] ... * </code> + * + * Type T can be specialized on a subset of the primitive types by + * specifying a comma-separated string argument: + * + * <code> + * class MyList[@specialized("Int, Double, Boolean") T] .. + * </code> + * Only primitive types are supported and no name resolution is currently + * done on the string arguments (meaning imports and type aliases are + * not resolved). */ -class specialized extends StaticAnnotation +class specialized(types: String) extends StaticAnnotation { + def this() { + this("Boolean, Byte, Short, Char, Int, Long, Float, Double") + } +} + |