summaryrefslogtreecommitdiff
path: root/sources
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2004-03-02 17:36:31 +0000
committerpaltherr <paltherr@epfl.ch>2004-03-02 17:36:31 +0000
commit94ce263ccbdd5e2362d7c3511290ed15b30332aa (patch)
tree2c2ad385ae54526ad54cd934281846819c970694 /sources
parentdbb4b1b89d574f00400e9d40cf598f598d5aa78f (diff)
downloadscala-94ce263ccbdd5e2362d7c3511290ed15b30332aa.tar.gz
scala-94ce263ccbdd5e2362d7c3511290ed15b30332aa.tar.bz2
scala-94ce263ccbdd5e2362d7c3511290ed15b30332aa.zip
- Removed CheckOwners
Diffstat (limited to 'sources')
-rw-r--r--sources/scala/tools/scalac/transformer/TransMatchPhase.scala3
-rw-r--r--sources/scala/tools/scalac/typechecker/AnalyzerPhase.scala3
-rw-r--r--sources/scalac/checkers/CheckOwners.java165
-rw-r--r--sources/scalac/transformer/AddInterfacesPhase.java1
-rw-r--r--sources/scalac/transformer/ErasurePhase.java2
-rw-r--r--sources/scalac/transformer/LambdaLiftPhase.java1
-rw-r--r--sources/scalac/transformer/TransMatchPhase.java1
-rw-r--r--sources/scalac/transformer/UnCurryPhase.java1
-rw-r--r--sources/scalac/typechecker/RefCheckPhase.java1
9 files changed, 2 insertions, 176 deletions
diff --git a/sources/scala/tools/scalac/transformer/TransMatchPhase.scala b/sources/scala/tools/scalac/transformer/TransMatchPhase.scala
index c2a76f4781..32f135e910 100644
--- a/sources/scala/tools/scalac/transformer/TransMatchPhase.scala
+++ b/sources/scala/tools/scalac/transformer/TransMatchPhase.scala
@@ -26,10 +26,9 @@ class TransMatchPhase(global:scalac_Global, descriptor:PhaseDescriptor )
}
override def postCheckers( global:scalac_Global ):Array[Checker] = {
- val a = new Array[Checker](4);
+ val a = new Array[Checker](2);
a.update(0, new CheckSymbols(global) );
a.update(1, new CheckTypes(global) );
- a.update(2, new CheckOwners(global) );
a
}
}
diff --git a/sources/scala/tools/scalac/typechecker/AnalyzerPhase.scala b/sources/scala/tools/scalac/typechecker/AnalyzerPhase.scala
index 5b70a2755e..257d71c65e 100644
--- a/sources/scala/tools/scalac/typechecker/AnalyzerPhase.scala
+++ b/sources/scala/tools/scalac/typechecker/AnalyzerPhase.scala
@@ -67,8 +67,7 @@ class AnalyzerPhase(global: scalac_Global, descriptor: PhaseDescriptor) extends
override def postCheckers(global: scalac_Global): Array[Checker] =
NewArray.Checker(
new CheckSymbols(global),
- new CheckTypes(global),
- new CheckOwners(global)
+ new CheckTypes(global)
);
}
}
diff --git a/sources/scalac/checkers/CheckOwners.java b/sources/scalac/checkers/CheckOwners.java
deleted file mode 100644
index 2bc09016f8..0000000000
--- a/sources/scalac/checkers/CheckOwners.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/* ____ ____ ____ ____ ______ *\
-** / __// __ \/ __// __ \/ ____/ SOcos COmpiles Scala **
-** __\_ \/ /_/ / /__/ /_/ /\_ \ (c) 2002, LAMP/EPFL **
-** /_____/\____/\___/\____/____/ **
-\* */
-
-// $Id$
-
-package scalac.checkers;
-
-import scalac.util.*;
-import scalac.ast.*;
-import scalac.symtab.*;
-import scalac.Global;
-import scalac.util.Debug;
-import Tree.*;
-
-/**
- * Check that the owner of symbols is set correctly.
- *
- * @author Michel Schinz
- * @version 1.0
- */
-
-public class CheckOwners extends Checker {
- protected Symbol currentOwner;
-
- public CheckOwners(Global global) {
- super(global);
- currentOwner = global.definitions.ROOT_CLASS;
- }
-
- protected void traverse(Tree tree, Symbol owner) {
- Symbol prevOwner = currentOwner;
- currentOwner = owner;
- traverse(tree);
- currentOwner = prevOwner;
- }
-
- protected void traverse(Tree[] array, Symbol owner) {
- Symbol prevOwner = currentOwner;
- currentOwner = owner;
- traverse(array);
- currentOwner = prevOwner;
- }
-
- protected void traverse(Tree[][] array, Symbol owner) {
- Symbol prevOwner = currentOwner;
- currentOwner = owner;
- traverse(array);
- currentOwner = prevOwner;
- }
-
- protected void traverse(Template templ, Symbol owner) {
- Symbol prevOwner = currentOwner;
- if (owner.kind == Kinds.CLASS)
- currentOwner = owner.primaryConstructor();
- traverse(templ.parents);
- currentOwner = owner;
-
- Symbol templSymbol = templ.symbol();
- Tree[] body = templ.body;
- for (int i = 0; i < body.length; ++i) {
- switch (body[i]) {
- case PackageDef(_,_):
- case ClassDef(_,_,_,_,_,_):
- case ModuleDef(_,_,_,_):
- case DefDef(_,_,_,_,_,_):
- case ValDef(_,_,_,_):
- case AbsTypeDef(_,_,_, _):
- case AliasTypeDef(_,_,_, _):
- traverse(body[i], owner);
- break;
- default:
- traverse(body[i], templSymbol);
- }
- }
-
- currentOwner = prevOwner;
- }
-
- protected void checkOwner(Tree tree, Symbol sym) {
- Symbol owner = sym.owner();
- verify(tree,
- owner == currentOwner,
- "owner",
- "incorrect owner for " + Debug.toString(sym) + ":\n"
- + " found: " + Debug.toString(owner) + "\n"
- + " required: " + Debug.toString(currentOwner));
- }
-
- public void traverse(Tree tree) {
- switch(tree) {
- case PackageDef(Tree packaged, Template impl):
- check(tree);
- traverse(packaged);
- traverse(impl, packaged.symbol());
- break;
-
- case ClassDef(int mods,
- Name name,
- AbsTypeDef[] tparams,
- ValDef[][] vparams,
- Tree tpe,
- Template impl): {
- check(tree);
- traverse(tparams, tree.symbol().primaryConstructor());
- traverse(vparams, tree.symbol().primaryConstructor());
- traverse(tpe);
- traverse(impl, tree.symbol());
- } break;
-
- case ModuleDef(int mods, Name name, Tree tpe, Template impl): {
- check(tree);
- traverse(tpe);
- traverse(impl, tree.symbol().moduleClass());
- } break;
-
- case DefDef(int mods,
- Name name,
- AbsTypeDef[] tparams,
- ValDef[][] vparams,
- Tree tpe,
- Tree rhs): {
- check(tree);
- traverse(tparams, tree.symbol());
- traverse(vparams, tree.symbol());
- traverse(tpe, tree.symbol());
- traverse(rhs, tree.symbol());
- } break;
-
- case ValDef(int mods, Name name, Tree tpe, Tree rhs): {
- check(tree);
- traverse(tpe);
- traverse(rhs, tree.symbol());
- } break;
-
- case AbsTypeDef(int mods, Name name, Tree rhs, Tree lobound): {
- check(tree);
- traverse(rhs, tree.symbol());
- traverse(lobound, tree.symbol());
- } break;
-
- case AliasTypeDef(int mods, Name name, AbsTypeDef[] tparams, Tree rhs): {
- check(tree);
- traverse(tparams, tree.symbol());
- traverse(rhs, tree.symbol());
- } break;
-
- default:
- super.traverse(tree);
- }
- }
-
- public void check(Tree tree) {
- if (tree.definesSymbol()) {
- Symbol sym = tree.symbol();
- if (sym != null && sym != Symbol.NONE) {
- checkOwner(tree, sym);
- if (sym.kind == Kinds.CLASS)
- checkOwner(tree, sym.primaryConstructor());
- }
- }
- }
-}
diff --git a/sources/scalac/transformer/AddInterfacesPhase.java b/sources/scalac/transformer/AddInterfacesPhase.java
index ff7383b416..c812b006ee 100644
--- a/sources/scalac/transformer/AddInterfacesPhase.java
+++ b/sources/scalac/transformer/AddInterfacesPhase.java
@@ -122,7 +122,6 @@ public class AddInterfacesPhase extends Phase {
return new Checker[] {
new CheckSymbols(global),
new CheckTypes(global),
- new CheckOwners(global),
};
}
diff --git a/sources/scalac/transformer/ErasurePhase.java b/sources/scalac/transformer/ErasurePhase.java
index 575cb91b61..8075c0d713 100644
--- a/sources/scalac/transformer/ErasurePhase.java
+++ b/sources/scalac/transformer/ErasurePhase.java
@@ -16,7 +16,6 @@ import scalac.Unit;
import scalac.backend.Primitive;
import scalac.backend.Primitives;
import scalac.checkers.Checker;
-import scalac.checkers.CheckOwners;
import scalac.checkers.CheckSymbols;
import scalac.checkers.CheckTypes;
import scalac.symtab.AbsTypeSymbol;
@@ -106,7 +105,6 @@ public class ErasurePhase extends Phase {
return new Checker[] {
new CheckSymbols(global),
new CheckTypes(global),
- new CheckOwners(global),
};
}
diff --git a/sources/scalac/transformer/LambdaLiftPhase.java b/sources/scalac/transformer/LambdaLiftPhase.java
index fe0cdab91b..4e90986eb1 100644
--- a/sources/scalac/transformer/LambdaLiftPhase.java
+++ b/sources/scalac/transformer/LambdaLiftPhase.java
@@ -156,7 +156,6 @@ public class LambdaLiftPhase extends Phase implements Kinds, Modifiers {
return new Checker[] {
new CheckSymbols(global),
new CheckTypes(global),
- new CheckOwners(global),
};
}
}
diff --git a/sources/scalac/transformer/TransMatchPhase.java b/sources/scalac/transformer/TransMatchPhase.java
index 6831b0eb5b..2d9fea2eae 100644
--- a/sources/scalac/transformer/TransMatchPhase.java
+++ b/sources/scalac/transformer/TransMatchPhase.java
@@ -37,7 +37,6 @@ public class TransMatchPhase extends Phase {
return new Checker[] {
new CheckSymbols(global),
new CheckTypes(global),
- new CheckOwners(global),
};
}
diff --git a/sources/scalac/transformer/UnCurryPhase.java b/sources/scalac/transformer/UnCurryPhase.java
index 5e246ba68a..00a966b3eb 100644
--- a/sources/scalac/transformer/UnCurryPhase.java
+++ b/sources/scalac/transformer/UnCurryPhase.java
@@ -101,7 +101,6 @@ public class UnCurryPhase extends Phase implements Modifiers {
return new Checker[] {
new CheckSymbols(global),
new CheckTypes(global),
- new CheckOwners(global),
};
}
}
diff --git a/sources/scalac/typechecker/RefCheckPhase.java b/sources/scalac/typechecker/RefCheckPhase.java
index 25c56b4b13..98127904a3 100644
--- a/sources/scalac/typechecker/RefCheckPhase.java
+++ b/sources/scalac/typechecker/RefCheckPhase.java
@@ -38,7 +38,6 @@ public class RefCheckPhase extends Phase {
return new Checker[] {
new CheckSymbols(global),
new CheckTypes(global),
- new CheckOwners(global),
};
}
}