diff options
author | schinz <schinz@epfl.ch> | 2003-03-04 09:54:24 +0000 |
---|---|---|
committer | schinz <schinz@epfl.ch> | 2003-03-04 09:54:24 +0000 |
commit | 95a5ffa2017e789cdcbbf9b7fe3f94f1b1eb788b (patch) | |
tree | fdd61a34c456d2ee7631228cd83605a6c9dc82be /sources/scalac | |
parent | de976b2afa724f45dcd85dc3c52ed558f55783e1 (diff) | |
download | scala-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/scalac')
-rw-r--r-- | sources/scalac/transformer/AddInterfaces.java | 7 |
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(); |