summaryrefslogtreecommitdiff
path: root/sources/scalac/transformer/AddInterfaces.java
diff options
context:
space:
mode:
authorschinz <schinz@epfl.ch>2003-04-02 15:13:31 +0000
committerschinz <schinz@epfl.ch>2003-04-02 15:13:31 +0000
commitbfcbdb5f9022bf230524a15c1abf98140ffd1ddc (patch)
tree2d3e7c92eec714d46160bb8f300954b8629b5430 /sources/scalac/transformer/AddInterfaces.java
parenta3d34c650abb28375a64b417b3c934d948f4fc69 (diff)
downloadscala-bfcbdb5f9022bf230524a15c1abf98140ffd1ddc.tar.gz
scala-bfcbdb5f9022bf230524a15c1abf98140ffd1ddc.tar.bz2
scala-bfcbdb5f9022bf230524a15c1abf98140ffd1ddc.zip
- bug fix: types of class members have their ow...
- bug fix: types of class members have their own class type for "this" types
Diffstat (limited to 'sources/scalac/transformer/AddInterfaces.java')
-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);