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.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/sources/scalac/transformer/AddInterfaces.java b/sources/scalac/transformer/AddInterfaces.java
index 7799768c2f..6339ac1497 100644
--- a/sources/scalac/transformer/AddInterfaces.java
+++ b/sources/scalac/transformer/AddInterfaces.java
@@ -394,8 +394,13 @@ class AddInterfaces extends SubstTransformer {
}
public Tree transform(Tree tree) {
- if (thisTypeSubst != null)
+ if (thisTypeSubst != null) {
+ if (tree.definesSymbol()) {
+ Symbol sym = tree.symbol();
+ sym.updateInfo(thisTypeSubst.apply(sym.nextInfo()));
+ }
tree.setType(thisTypeSubst.apply(tree.type()));
+ }
switch (tree) {
case ClassDef(int mods,
@@ -470,7 +475,6 @@ class AddInterfaces extends SubstTransformer {
if (sym.kind != Kinds.CLASS
&& ifaceMemberToClass.containsKey(sym)) {
Symbol cSym = (Symbol)ifaceMemberToClass.get(sym);
- cSym.updateInfo(thisTypeSubst.apply(cSym.info()));
member.setSymbol(cSym);
}
}