diff options
author | schinz <schinz@epfl.ch> | 2003-03-20 08:49:02 +0000 |
---|---|---|
committer | schinz <schinz@epfl.ch> | 2003-03-20 08:49:02 +0000 |
commit | 73cf6d4754accfa50057d77f170b81ff7a906e6d (patch) | |
tree | 3f1efc242de3a6a43bc99ab5893447b10ab5aac3 | |
parent | b68d6aba80bea8ab549ee51c3456974ad9d6f2ad (diff) | |
download | scala-73cf6d4754accfa50057d77f170b81ff7a906e6d.tar.gz scala-73cf6d4754accfa50057d77f170b81ff7a906e6d.tar.bz2 scala-73cf6d4754accfa50057d77f170b81ff7a906e6d.zip |
- bug fix: always insert new symbols in their o...
- bug fix: always insert new symbols in their owner's scope removed
- obsolete code
-rw-r--r-- | sources/scalac/transformer/AddInterfaces.java | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/sources/scalac/transformer/AddInterfaces.java b/sources/scalac/transformer/AddInterfaces.java index 8afce88fcf..f6d604b597 100644 --- a/sources/scalac/transformer/AddInterfaces.java +++ b/sources/scalac/transformer/AddInterfaces.java @@ -171,20 +171,7 @@ class AddInterfaces extends SubstTransformer { if (!needInterface(ifaceSym)) return ifaceSym; else { - if (!ifaceToClass.containsKey(ifaceSym)) { - Symbol classSym; - - Name ifaceName = ifaceSym.primaryConstructorClass().fullName(); - classSym = global.definitions.getClass(className(ifaceName)); - if (ifaceSym.isPrimaryConstructor()) - classSym = classSym.constructor(); - - assert classSym != Symbol.NONE : ifaceSym; - - ifaceToClass.put(ifaceSym, classSym); - classToInterface.put(classSym, ifaceSym); - } - + assert ifaceToClass.containsKey(ifaceSym); return (Symbol)ifaceToClass.get(ifaceSym); } } @@ -644,6 +631,7 @@ class AddInterfaces extends SubstTransformer { Symbol classSym = cloneAndMaybeRenameSymbol(ifaceSym); ifaceToClass.put(ifaceSym, classSym); ifaceToClass.put(ifaceSym.constructor(), classSym.constructor()); + ifaceSym.owner().members().enter(classSym); } public void traverse(Tree tree) { |