summaryrefslogtreecommitdiff
path: root/sources/scalac/transformer/AddInterfaces.java
diff options
context:
space:
mode:
Diffstat (limited to 'sources/scalac/transformer/AddInterfaces.java')
-rw-r--r--sources/scalac/transformer/AddInterfaces.java16
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) {