diff options
author | Lex Spoon <lex@lexspoon.org> | 2007-11-28 05:17:14 +0000 |
---|---|---|
committer | Lex Spoon <lex@lexspoon.org> | 2007-11-28 05:17:14 +0000 |
commit | dfda38550a2d48662fde917d26dfb8e2d6c64eee (patch) | |
tree | 0a444d414e55ef39cbb184de63ef8505a070bce5 /src/library | |
parent | 8c9e9f7b7d1de79b104d954035613e51e0acaaf2 (diff) | |
download | scala-dfda38550a2d48662fde917d26dfb8e2d6c64eee.tar.gz scala-dfda38550a2d48662fde917d26dfb8e2d6c64eee.tar.bz2 scala-dfda38550a2d48662fde917d26dfb8e2d6c64eee.zip |
Merge from the annots-normtrees branch.
now use compiler trees instead of reflect trees.
In many cases, annotations on types can be rewritten
instead of discarded as the types undergo various
operations. Also, -Yself-in-annots has been added.
Diffstat (limited to 'src/library')
-rw-r--r-- | src/library/scala/TypeConstraint.scala | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/library/scala/TypeConstraint.scala b/src/library/scala/TypeConstraint.scala new file mode 100644 index 0000000000..96347dc67f --- /dev/null +++ b/src/library/scala/TypeConstraint.scala @@ -0,0 +1,30 @@ +/* __ *\ +** ________ ___ / / ___ Scala API ** +** / __/ __// _ | / / / _ | (c) 2006-2007, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ ** +** /____/\___/_/ |_/____/_/ | | ** +** |/ ** +\* */ + +// $Id$ + + +package scala + +/** <p> + * A marker for annotations that, when applied to a type, + * should be treated as a constraint on the annotated type. + * A proper constraint should restrict the type based only + * on information mentioned within the type. A Scala compiler + * can use this assumption to rewrite the contents of the + * constraint as necessary. To contrast, a type annotation + * whose meaning depends on the context where it is written + * down is not a proper constrained type, and this marker + * should not be applied. A Scala compiler will drop such + * annotations in cases where it would rewrite a type constraint. + * </p> + * + * @author Lex Spoon + * @version 1.1, 2007-11-5 + */ +trait TypeConstraint extends Annotation |