summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2004-02-01 13:20:10 +0000
committerpaltherr <paltherr@epfl.ch>2004-02-01 13:20:10 +0000
commit43318b75bd2752db19925291d0f6195fb984260a (patch)
tree7e8eeecbaec0ad6744e0a56747ac5c03f08e7246
parentb95957de6cd7ba0bd123076c20204e53f5949b81 (diff)
downloadscala-43318b75bd2752db19925291d0f6195fb984260a.tar.gz
scala-43318b75bd2752db19925291d0f6195fb984260a.tar.bz2
scala-43318b75bd2752db19925291d0f6195fb984260a.zip
- Removed Definitions.NULL and Definitions.ZERO
-rw-r--r--sources/scala/tools/scalai/ExpressionCompiler.java1
-rw-r--r--sources/scalac/atree/ATreeFromSTree.java6
-rw-r--r--sources/scalac/backend/jvm/GenJVM.java6
-rw-r--r--sources/scalac/backend/msil/GenMSIL.java3
-rw-r--r--sources/scalac/checkers/TreeChecker.java5
-rw-r--r--sources/scalac/symtab/Definitions.java8
-rw-r--r--sources/scalac/transformer/Erasure.java5
-rw-r--r--sources/scalac/typechecker/RefCheck.java4
8 files changed, 3 insertions, 35 deletions
diff --git a/sources/scala/tools/scalai/ExpressionCompiler.java b/sources/scala/tools/scalai/ExpressionCompiler.java
index 35eb5edbca..84594a1f5b 100644
--- a/sources/scala/tools/scalai/ExpressionCompiler.java
+++ b/sources/scala/tools/scalai/ExpressionCompiler.java
@@ -310,7 +310,6 @@ public class ExpressionCompiler {
// !!!
return vapply(target, symbol, Tree.EMPTY_ARRAY);
}
- if (symbol == definitions.NULL) return Code.Null;
// !!! return something ? raise exception ?
if (!symbol.isValue()) return Code.Null;
diff --git a/sources/scalac/atree/ATreeFromSTree.java b/sources/scalac/atree/ATreeFromSTree.java
index 405875c0cf..5761a1aabb 100644
--- a/sources/scalac/atree/ATreeFromSTree.java
+++ b/sources/scalac/atree/ATreeFromSTree.java
@@ -222,13 +222,7 @@ public class ATreeFromSTree {
return make.This(tree, tree.symbol());
case Select(_, _):
- return make.Load(tree, location(tree));
-
case Ident(_):
- if (tree.symbol() == definitions.NULL)
- return make.Constant(tree, make.NULL);
- if (tree.symbol() == definitions.ZERO)
- return make.Constant(tree, make.ZERO);
return make.Load(tree, location(tree));
case Literal(AConstant value):
diff --git a/sources/scalac/backend/jvm/GenJVM.java b/sources/scalac/backend/jvm/GenJVM.java
index 58d9e6d55a..06fdea43ef 100644
--- a/sources/scalac/backend/jvm/GenJVM.java
+++ b/sources/scalac/backend/jvm/GenJVM.java
@@ -448,11 +448,7 @@ class GenJVM {
JType type = typeStoJ(sym.info());
if (sym.isModule())
generatedType = genLoadModule(ctx, sym);
- else if (sym == defs.NULL) {
- if (expectedType != JType.VOID)
- ctx.code.emitACONST_NULL();
- generatedType = expectedType;
- } else if (sym.owner().isClass()) {
+ else if (sym.owner().isClass()) {
ctx.code.emitALOAD_0();
ctx.code.emitGETFIELD(ctx.clazz.getName(), name.toString(), type);
generatedType = type;
diff --git a/sources/scalac/backend/msil/GenMSIL.java b/sources/scalac/backend/msil/GenMSIL.java
index 5450241104..2e359011a5 100644
--- a/sources/scalac/backend/msil/GenMSIL.java
+++ b/sources/scalac/backend/msil/GenMSIL.java
@@ -477,9 +477,6 @@ public final class GenMSIL {
case Ident(Name name):
//log("Ident: " + Debug.show(tree));
- if (sym == defs.NULL)
- //return items.LiteralItem(MSILType.NULL_REF, null);
- return items.LiteralItem(MSILType.OBJECT, null);
MSILType type = type2MSILType(sym.type());
if ( sym.isModule() ) // ???
return load(items.StaticItem
diff --git a/sources/scalac/checkers/TreeChecker.java b/sources/scalac/checkers/TreeChecker.java
index 9cb683595b..9cce42ca69 100644
--- a/sources/scalac/checkers/TreeChecker.java
+++ b/sources/scalac/checkers/TreeChecker.java
@@ -300,12 +300,7 @@ public class TreeChecker {
return true;
case Select(_, _):
- return location(tree);
-
case Ident(_):
- Symbol symbol = tree.symbol();
- if (symbol == definitions.NULL) return true;
- if (symbol == definitions.ZERO) return true;
return location(tree);
case Literal(_):
diff --git a/sources/scalac/symtab/Definitions.java b/sources/scalac/symtab/Definitions.java
index 1cfc8995f8..915cedf1f8 100644
--- a/sources/scalac/symtab/Definitions.java
+++ b/sources/scalac/symtab/Definitions.java
@@ -436,12 +436,6 @@ public class Definitions {
//########################################################################
// Public Fields - Global values
- /** The null value */
- public final Symbol NULL;
-
- /** The zero value (a default null for type variables with bound Any) */
- public final Symbol ZERO;
-
/** The universal pattern */
public final Symbol PATTERN_WILDCARD;
@@ -613,8 +607,6 @@ public class Definitions {
Type.PolyType(Symbol.EMPTY_ARRAY, ALL_TYPE()));
// create global values
- NULL = newTerm(ROOT_CLASS, Names.null_, 0).setInfo(ALLREF_TYPE());
- ZERO = newTerm(ROOT_CLASS, Names.ZERO, 0).setInfo(ALL_TYPE());
PATTERN_WILDCARD = newTerm(ROOT_CLASS, Names.PATTERN_WILDCARD, 0)
.setType(ALL_TYPE());
}
diff --git a/sources/scalac/transformer/Erasure.java b/sources/scalac/transformer/Erasure.java
index 7d7a4c2659..244712fe36 100644
--- a/sources/scalac/transformer/Erasure.java
+++ b/sources/scalac/transformer/Erasure.java
@@ -217,11 +217,6 @@ public class Erasure extends GenTransformer implements Modifiers {
if (isUnboxedType(prefix)) qualifier = box(qualifier, true);
return gen.Select(tree.pos, qualifier, symbol);
- case Ident(_):
- Symbol symbol = tree.symbol();
- if (symbol == definitions.ZERO) return gen.mkNullLit(tree.pos);
- return gen.Ident(tree.pos, symbol);
-
case Literal(AConstant.ZERO):
return gen.mkNullLit(tree.pos);
diff --git a/sources/scalac/typechecker/RefCheck.java b/sources/scalac/typechecker/RefCheck.java
index 54e749e8b6..8e10889800 100644
--- a/sources/scalac/typechecker/RefCheck.java
+++ b/sources/scalac/typechecker/RefCheck.java
@@ -535,7 +535,7 @@ public class RefCheck extends Transformer implements Modifiers, Kinds {
tree.pos, varname, sym.owner(), PRIVATE | MUTABLE | SYNTHETIC)
.setInfo(sym.type());
sym.owner().members().enterOrOverload(mvar);
- Tree vdef = gen.ValDef(mvar, gen.Ident(tree.pos, defs.NULL));
+ Tree vdef = gen.ValDef(mvar, gen.mkNullLit(tree.pos));
// { if (null == m$) m$ = new m$class; m$ }
Symbol eqMethod = getUnaryMemberMethod(
@@ -543,7 +543,7 @@ public class RefCheck extends Transformer implements Modifiers, Kinds {
Tree body = gen.Block(new Tree[]{
gen.If(
gen.Apply(
- gen.Select(gen.Ident(tree.pos, defs.NULL), eqMethod),
+ gen.Select(gen.mkNullLit(tree.pos), eqMethod),
new Tree[]{gen.mkRef(tree.pos, mvar)}),
gen.Assign(gen.mkRef(tree.pos, mvar), alloc),
gen.Block(tree.pos, Tree.EMPTY_ARRAY)),