diff options
author | Paul Phillips <paulp@improving.org> | 2011-10-10 06:24:46 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2011-10-10 06:24:46 +0000 |
commit | 4e86106b5b0637aa88de2e3d5a8751d918e4c069 (patch) | |
tree | fd4fc08760ffd102b590f670720c8846e41fb15e /src/library | |
parent | 1706358bdcf0492b82e87c8f34e9b7120348df8b (diff) | |
download | scala-4e86106b5b0637aa88de2e3d5a8751d918e4c069.tar.gz scala-4e86106b5b0637aa88de2e3d5a8751d918e4c069.tar.bz2 scala-4e86106b5b0637aa88de2e3d5a8751d918e4c069.zip |
Moved meta annotations to annotation.meta, plus.
It took me a long time to find a trivial error while adjusting the
annotation packages, so I spent even longer trying to make sure next
time it would take me less time. It's the usual business of eliminating
duplication and unnecessary indirection.
Behavioral note: there was no consistency or deducible reasoning
regarding when annotation checks would be performed against the
typeSymbol directly (thus excluding annotation subclasses) or when they
would do a subclass check. I saw no reason it shouldn't always be a
subclass check; if the annotation isn't supposed to be subclassed it
should be final, and if it is, then the subclasses had probably better
not stop exhibiting the behavior of the base class.
Example: this now draws deprecated warnings, but did not before.
class bippy extends deprecated("hi mom", "burma shave")
@bippy def f = 5
(The deprecation message isn't printed so we're not there yet, but
closer.)
There is some new internal documentation on annotations, sadly lacking
in my famous ascii diagrams, and some new conveniences. Review by rytz.
Diffstat (limited to 'src/library')
14 files changed, 32 insertions, 36 deletions
diff --git a/src/library/scala/beans/meta/beanGetter.scala b/src/library/scala/annotation/meta/beanGetter.scala index 3eb2dcbda3..040a3f415a 100644 --- a/src/library/scala/beans/meta/beanGetter.scala +++ b/src/library/scala/annotation/meta/beanGetter.scala @@ -5,9 +5,9 @@ ** /____/\___/_/ |_/____/_/ | | ** ** |/ ** \* */ -package scala.beans.meta +package scala.annotation.meta /** - * Consult the documentation in package [[scala.beans.meta]]. + * Consult the documentation in package [[scala.annotation.meta]]. */ final class beanGetter extends annotation.StaticAnnotation diff --git a/src/library/scala/beans/meta/beanSetter.scala b/src/library/scala/annotation/meta/beanSetter.scala index 8c61acfe6d..45ea063169 100644 --- a/src/library/scala/beans/meta/beanSetter.scala +++ b/src/library/scala/annotation/meta/beanSetter.scala @@ -5,9 +5,9 @@ ** /____/\___/_/ |_/____/_/ | | ** ** |/ ** \* */ -package scala.beans.meta +package scala.annotation.meta /** - * Consult the documentation in package [[scala.beans.meta]]. + * Consult the documentation in package [[scala.annotation.meta]]. */ final class beanSetter extends annotation.StaticAnnotation diff --git a/src/library/scala/beans/meta/field.scala b/src/library/scala/annotation/meta/field.scala index 135b2e590c..78f4a98544 100644 --- a/src/library/scala/beans/meta/field.scala +++ b/src/library/scala/annotation/meta/field.scala @@ -5,9 +5,9 @@ ** /____/\___/_/ |_/____/_/ | | ** ** |/ ** \* */ -package scala.beans.meta +package scala.annotation.meta /** - * Consult the documentation in package [[scala.beans.meta]]. + * Consult the documentation in package [[scala.annotation.meta]]. */ final class field extends annotation.StaticAnnotation diff --git a/src/library/scala/beans/meta/getter.scala b/src/library/scala/annotation/meta/getter.scala index 18afa8e324..07e4512f00 100644 --- a/src/library/scala/beans/meta/getter.scala +++ b/src/library/scala/annotation/meta/getter.scala @@ -5,9 +5,9 @@ ** /____/\___/_/ |_/____/_/ | | ** ** |/ ** \* */ -package scala.beans.meta +package scala.annotation.meta /** - * Consult the documentation in package [[scala.beans.meta]]. + * Consult the documentation in package [[scala.annotation.meta]]. */ final class getter extends annotation.StaticAnnotation diff --git a/src/library/scala/beans/meta/package.scala b/src/library/scala/annotation/meta/package.scala index c7b7b425e1..2d18ae5dd7 100644 --- a/src/library/scala/beans/meta/package.scala +++ b/src/library/scala/annotation/meta/package.scala @@ -1,4 +1,4 @@ -package scala.beans +package scala.annotation /** * When defining a field, the Scala compiler creates up to four accessors @@ -18,7 +18,7 @@ package scala.beans * end up on the parameter, not on any other entity. Annotations on fields * by default only end up on the field. * - * The meta-annotations in package `scala.beans.meta` are used + * The meta-annotations in package `scala.annotation.meta` are used * to control where annotations on fields and class parameters are copied. * This is done by annotating either the annotation type or the annotation * class with one or several of the meta-annotations in this package. diff --git a/src/library/scala/beans/meta/param.scala b/src/library/scala/annotation/meta/param.scala index 45c3e3e00f..d9ebcc76d3 100644 --- a/src/library/scala/beans/meta/param.scala +++ b/src/library/scala/annotation/meta/param.scala @@ -5,9 +5,9 @@ ** /____/\___/_/ |_/____/_/ | | ** ** |/ ** \* */ -package scala.beans.meta +package scala.annotation.meta /** - * Consult the documentation in package [[scala.beans.meta]]. + * Consult the documentation in package [[scala.annotation.meta]]. */ final class param extends annotation.StaticAnnotation diff --git a/src/library/scala/beans/meta/setter.scala b/src/library/scala/annotation/meta/setter.scala index 5a23b7b53d..c27cee2985 100644 --- a/src/library/scala/beans/meta/setter.scala +++ b/src/library/scala/annotation/meta/setter.scala @@ -5,9 +5,9 @@ ** /____/\___/_/ |_/____/_/ | | ** ** |/ ** \* */ -package scala.beans.meta +package scala.annotation.meta /** - * Consult the documentation in package [[scala.beans.meta]]. + * Consult the documentation in package [[scala.annotation.meta]]. */ final class setter extends annotation.StaticAnnotation diff --git a/src/library/scala/annotation/target/package.scala b/src/library/scala/annotation/target/package.scala index 3aff964c7b..8563bf698e 100644 --- a/src/library/scala/annotation/target/package.scala +++ b/src/library/scala/annotation/target/package.scala @@ -9,21 +9,21 @@ package scala.annotation package object target { - @deprecated("Use `@scala.beans.meta.beanGetter` instead", "2.10.0") - type beanGetter = scala.beans.meta.beanGetter + @deprecated("Use `@scala.annotation.meta.beanGetter` instead", "2.10.0") + type beanGetter = scala.annotation.meta.beanGetter - @deprecated("Use `@scala.beans.meta.beanSetter` instead", "2.10.0") - type beanSetter = scala.beans.meta.beanSetter + @deprecated("Use `@scala.annotation.meta.beanSetter` instead", "2.10.0") + type beanSetter = scala.annotation.meta.beanSetter - @deprecated("Use `@scala.beans.meta.field` instead", "2.10.0") - type field = scala.beans.meta.field + @deprecated("Use `@scala.annotation.meta.field` instead", "2.10.0") + type field = scala.annotation.meta.field - @deprecated("Use `@scala.beans.meta.getter` instead", "2.10.0") - type getter = scala.beans.meta.getter + @deprecated("Use `@scala.annotation.meta.getter` instead", "2.10.0") + type getter = scala.annotation.meta.getter - @deprecated("Use `@scala.beans.meta.param` instead", "2.10.0") - type param = scala.beans.meta.param + @deprecated("Use `@scala.annotation.meta.param` instead", "2.10.0") + type param = scala.annotation.meta.param - @deprecated("Use `@scala.beans.meta.setter` instead", "2.10.0") - type setter = scala.beans.meta.setter + @deprecated("Use `@scala.annotation.meta.setter` instead", "2.10.0") + type setter = scala.annotation.meta.setter } diff --git a/src/library/scala/beans/BeanProperty.scala b/src/library/scala/beans/BeanProperty.scala index f5708a0ab0..4a2fb716c7 100644 --- a/src/library/scala/beans/BeanProperty.scala +++ b/src/library/scala/beans/BeanProperty.scala @@ -8,8 +8,6 @@ package scala.beans -import meta._ - /** When attached to a field, this annotation adds a setter and a getter * method following the Java Bean convention. For example: * {{{ @@ -24,5 +22,5 @@ import meta._ * For fields of type `Boolean`, if you need a getter named `isStatus`, * use the `scala.beans.BooleanBeanProperty` annotation instead. */ -@field +@scala.annotation.meta.field class BeanProperty extends annotation.StaticAnnotation diff --git a/src/library/scala/beans/BooleanBeanProperty.scala b/src/library/scala/beans/BooleanBeanProperty.scala index 2215177a80..1c85a88c84 100644 --- a/src/library/scala/beans/BooleanBeanProperty.scala +++ b/src/library/scala/beans/BooleanBeanProperty.scala @@ -8,11 +8,9 @@ package scala.beans -import meta._ - /** This annotation has the same functionality as * `scala.beans.BeanProperty`, but the generated Bean getter will be * named `isFieldName` instead of `getFieldName`. */ -@field +@scala.annotation.meta.field class BooleanBeanProperty extends annotation.StaticAnnotation diff --git a/src/library/scala/deprecated.scala b/src/library/scala/deprecated.scala index 12c36da8d3..111affc904 100644 --- a/src/library/scala/deprecated.scala +++ b/src/library/scala/deprecated.scala @@ -8,7 +8,7 @@ package scala -import beans.meta._ +import annotation.meta._ /** An annotation that designates that a definition is deprecated. * Access to the member then generates a deprecated warning. diff --git a/src/library/scala/deprecatedName.scala b/src/library/scala/deprecatedName.scala index 53f26573c0..cc36be6775 100644 --- a/src/library/scala/deprecatedName.scala +++ b/src/library/scala/deprecatedName.scala @@ -8,7 +8,7 @@ package scala -import beans.meta._ +import annotation.meta._ /** * An annotation that designates the name of the parameter to which it is diff --git a/src/library/scala/transient.scala b/src/library/scala/transient.scala index fd3c824e81..3dcff0664c 100644 --- a/src/library/scala/transient.scala +++ b/src/library/scala/transient.scala @@ -10,7 +10,7 @@ package scala -import beans.meta._ +import annotation.meta._ @field class transient extends annotation.StaticAnnotation diff --git a/src/library/scala/volatile.scala b/src/library/scala/volatile.scala index a45bdf8d14..88726d9336 100644 --- a/src/library/scala/volatile.scala +++ b/src/library/scala/volatile.scala @@ -10,7 +10,7 @@ package scala -import beans.meta._ +import annotation.meta._ @field class volatile extends annotation.StaticAnnotation |