summaryrefslogtreecommitdiff
path: root/src/library
diff options
context:
space:
mode:
authorLex Spoon <lex@lexspoon.org>2007-11-28 05:17:14 +0000
committerLex Spoon <lex@lexspoon.org>2007-11-28 05:17:14 +0000
commitdfda38550a2d48662fde917d26dfb8e2d6c64eee (patch)
tree0a444d414e55ef39cbb184de63ef8505a070bce5 /src/library
parent8c9e9f7b7d1de79b104d954035613e51e0acaaf2 (diff)
downloadscala-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.scala30
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