summaryrefslogtreecommitdiff
path: root/sources/scalac/symtab/Definitions.java
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2003-08-28 15:04:01 +0000
committerMartin Odersky <odersky@gmail.com>2003-08-28 15:04:01 +0000
commitcef4819a2034134b26db1f6eb85c8999421af5c1 (patch)
treeb57925ad96c33df8e69a75b917fa147e8495ad8a /sources/scalac/symtab/Definitions.java
parent1ba1b5f0d6f3fea116ea5858842bb539257f511b (diff)
downloadscala-cef4819a2034134b26db1f6eb85c8999421af5c1.tar.gz
scala-cef4819a2034134b26db1f6eb85c8999421af5c1.tar.bz2
scala-cef4819a2034134b26db1f6eb85c8999421af5c1.zip
*** empty log message ***
Diffstat (limited to 'sources/scalac/symtab/Definitions.java')
-rw-r--r--sources/scalac/symtab/Definitions.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/sources/scalac/symtab/Definitions.java b/sources/scalac/symtab/Definitions.java
index 1cf278c6c0..ac4d38e261 100644
--- a/sources/scalac/symtab/Definitions.java
+++ b/sources/scalac/symtab/Definitions.java
@@ -54,6 +54,10 @@ public class Definitions {
*/
public final Symbol NULL;
+ /** the zero value (a default null for type variables with bound Any)
+ */
+ public final Symbol ZERO;
+
/** the scala.Any class
*/
public final Symbol ANY_CLASS;
@@ -232,6 +236,7 @@ public class Definitions {
// the scala.ANYVAL class
ANYVAL_CLASS = getClass(Names.scala_AnyVal);
+ ANYVAL_CLASS.initialize();
ANYVAL_CLASS.flags |= Modifiers.SEALED;
ANYVAL_TYPE = ANYVAL_CLASS.typeConstructor();
@@ -381,6 +386,12 @@ public class Definitions {
Position.NOPOS, Names.null_, ROOT_CLASS, 0);
NULL.setInfo(ALLREF_TYPE);
ROOT.members().enter(NULL);
+
+ // add a null value to the root scope
+ ZERO = new TermSymbol(
+ Position.NOPOS, Names.ZERO, ROOT_CLASS, 0);
+ ZERO.setInfo(ALL_TYPE);
+ ROOT.members().enter(ZERO);
}
private Symbol newParameter(Symbol owner, Type tp) {