diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/kotlinSignature/SignaturesPropagationData.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/kotlinSignature/SignaturesPropagationData.java index 2f8f9fb8945..14bfea69af9 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/kotlinSignature/SignaturesPropagationData.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/kotlinSignature/SignaturesPropagationData.java @@ -220,8 +220,9 @@ public class SignaturesPropagationData { assert classFqName != null; if (!JavaToKotlinClassMap.getInstance().mapPlatformClass(new FqName(classFqName)).isEmpty()) { - List funsFromMap = JavaToKotlinMethodMap.INSTANCE.getFunctions(superMethod, containingClass); - superFunctions.addAll(funsFromMap); + for (FunctionDescriptor superFun : JavaToKotlinMethodMap.INSTANCE.getFunctions(superMethod, containingClass)) { + superFunctions.add(substituteSuperFunction(superclassToSupertype, superFun)); + } continue; } @@ -385,7 +386,8 @@ public class SignaturesPropagationData { return autoArguments; } - List> typeArgumentsFromSuper = calculateTypeArgumentsFromSuper((ClassDescriptor) classifier, typesFromSuper); + List> typeArgumentsFromSuper = calculateTypeArgumentsFromSuper((ClassDescriptor) classifier, + typesFromSuper); // Modify type arguments using info from typesFromSuper List resultArguments = Lists.newArrayList();