summaryrefslogtreecommitdiff
path: root/sources
diff options
context:
space:
mode:
authorschinz <schinz@epfl.ch>2003-03-04 09:54:24 +0000
committerschinz <schinz@epfl.ch>2003-03-04 09:54:24 +0000
commit95a5ffa2017e789cdcbbf9b7fe3f94f1b1eb788b (patch)
treefdd61a34c456d2ee7631228cd83605a6c9dc82be /sources
parentde976b2afa724f45dcd85dc3c52ed558f55783e1 (diff)
downloadscala-95a5ffa2017e789cdcbbf9b7fe3f94f1b1eb788b.tar.gz
scala-95a5ffa2017e789cdcbbf9b7fe3f94f1b1eb788b.tar.bz2
scala-95a5ffa2017e789cdcbbf9b7fe3f94f1b1eb788b.zip
- bug fix: do not try to find an class symbol f...
- bug fix: do not try to find an class symbol for NoSymbol bug fix: - correctly set owner for class constructor parameters
Diffstat (limited to 'sources')
-rw-r--r--sources/scalac/transformer/AddInterfaces.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/sources/scalac/transformer/AddInterfaces.java b/sources/scalac/transformer/AddInterfaces.java
index 2779cc528e..38bc722611 100644
--- a/sources/scalac/transformer/AddInterfaces.java
+++ b/sources/scalac/transformer/AddInterfaces.java
@@ -120,7 +120,8 @@ class AddInterfaces extends SubstTransformer {
(Modifiers.MODUL | Modifiers.SYNTHETIC | Modifiers.JAVA);
protected boolean needInterface(Symbol sym) {
- return (sym.primaryConstructorClass().flags & NO_INTERFACE_MODS) == 0;
+ return (sym != Symbol.NONE)
+ && ((sym.primaryConstructorClass().flags & NO_INTERFACE_MODS) == 0);
}
protected boolean memberGoesInInterface(Symbol member) {
@@ -630,8 +631,10 @@ class AddInterfaces extends SubstTransformer {
classConstrSym.setInfo(tparamsSM.apply(classConstrSym.info()));
Symbol[] vparams = vparams(classConstrSym.nextInfo());
- for (int i = 0; i < vparams.length; ++i)
+ for (int i = 0; i < vparams.length; ++i) {
+ vparams[i].setOwner(classConstrSym);
vparams[i].updateInfo(tparamsSM.apply(vparams[i].info()));
+ }
Scope newIFaceMembers = new Scope();
Scope classMembers = new Scope();