diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaFunctionResolver.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaFunctionResolver.java index 40d312dd6e8..fb1c73aca45 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaFunctionResolver.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaFunctionResolver.java @@ -142,15 +142,21 @@ public final class JavaFunctionResolver { final List signatureErrors = Lists.newArrayList(); - SignaturesPropagationData signaturesPropagationData = - new SignaturesPropagationData(returnType, valueParameterDescriptors, methodTypeParameters, method, trace); - List superFunctions = signaturesPropagationData.getSuperFunctions(); + List superFunctions; + if (ownerDescriptor instanceof ClassDescriptor) { + SignaturesPropagationData signaturesPropagationData = + new SignaturesPropagationData(returnType, valueParameterDescriptors, methodTypeParameters, method, trace); + superFunctions = signaturesPropagationData.getSuperFunctions(); - returnType = signaturesPropagationData.getModifiedReturnType(); - valueParameterDescriptors = signaturesPropagationData.getModifiedValueParameters(); - methodTypeParameters = signaturesPropagationData.getModifiedTypeParameters(); + returnType = signaturesPropagationData.getModifiedReturnType(); + valueParameterDescriptors = signaturesPropagationData.getModifiedValueParameters(); + methodTypeParameters = signaturesPropagationData.getModifiedTypeParameters(); - signatureErrors.addAll(signaturesPropagationData.getSignatureErrors()); + signatureErrors.addAll(signaturesPropagationData.getSignatureErrors()); + } + else { + superFunctions = Collections.emptyList(); + } // TODO consider better place for this check AlternativeMethodSignatureData alternativeMethodSignatureData =