summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sources/scalac/transformer/AddInterfaces.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/sources/scalac/transformer/AddInterfaces.java b/sources/scalac/transformer/AddInterfaces.java
index e8ff38a979..7799768c2f 100644
--- a/sources/scalac/transformer/AddInterfaces.java
+++ b/sources/scalac/transformer/AddInterfaces.java
@@ -468,8 +468,11 @@ class AddInterfaces extends SubstTransformer {
if (member.hasSymbol()) {
Symbol sym = member.symbol();
if (sym.kind != Kinds.CLASS
- && ifaceMemberToClass.containsKey(sym))
- member.setSymbol((Symbol)ifaceMemberToClass.get(sym));
+ && ifaceMemberToClass.containsKey(sym)) {
+ Symbol cSym = (Symbol)ifaceMemberToClass.get(sym);
+ cSym.updateInfo(thisTypeSubst.apply(cSym.info()));
+ member.setSymbol(cSym);
+ }
}
}
@@ -517,7 +520,7 @@ class AddInterfaces extends SubstTransformer {
.setType(fixClassSymbols(tree.type));
}
- case DefDef(_, _, _, _, Tree tpe, _): {
+ case DefDef(_, _, _, _, _, _): {
Symbol sym = tree.symbol();
if (funParamsMaps.containsKey(sym)) {
Map funParamsMap = (Map)funParamsMaps.get(sym);