diff options
author | Martin Odersky <odersky@gmail.com> | 2003-08-28 15:04:01 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2003-08-28 15:04:01 +0000 |
commit | cef4819a2034134b26db1f6eb85c8999421af5c1 (patch) | |
tree | b57925ad96c33df8e69a75b917fa147e8495ad8a /sources/scalac/symtab/Definitions.java | |
parent | 1ba1b5f0d6f3fea116ea5858842bb539257f511b (diff) | |
download | scala-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.java | 11 |
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) { |