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 7c474d5cdf3..64b8c0a4626 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 @@ -81,7 +81,7 @@ public final class JavaFunctionResolver { @Nullable private SimpleFunctionDescriptor resolveMethodToFunctionDescriptor( @NotNull final PsiClass psiClass, final PsiMethodWrapper method, - @NotNull ResolverScopeData scopeData + @NotNull ResolverScopeData scopeData, @NotNull ClassOrNamespaceDescriptor ownerDescriptor ) { PsiType returnPsiType = method.getReturnType(); if (returnPsiType == null) { @@ -109,7 +109,7 @@ public final class JavaFunctionResolver { } SimpleFunctionDescriptorImpl functionDescriptorImpl = new SimpleFunctionDescriptorImpl( - scopeData.getClassOrNamespaceDescriptor(), + ownerDescriptor, annotationResolver.resolveAnnotations(psiMethod), Name.identifier(method.getName()), DescriptorKindUtils.flagsToKind(method.getJetMethodAnnotation().kind()) @@ -145,7 +145,7 @@ public final class JavaFunctionResolver { functionDescriptorImpl.initialize( valueParameterDescriptors.getReceiverType(), - DescriptorUtils.getExpectedThisObjectIfNeeded(scopeData.getClassOrNamespaceDescriptor()), + DescriptorUtils.getExpectedThisObjectIfNeeded(ownerDescriptor), methodTypeParameters, valueParameterDescriptors.getDescriptors(), returnType, @@ -177,7 +177,7 @@ public final class JavaFunctionResolver { Set functionsFromCurrent = Sets.newHashSet(); for (PsiMethodWrapper method : namedMembers.getMethods()) { - SimpleFunctionDescriptor function = resolveMethodToFunctionDescriptor(psiClass, method, scopeData); + SimpleFunctionDescriptor function = resolveMethodToFunctionDescriptor(psiClass, method, scopeData, owner); if (function != null) { functionsFromCurrent.add(function); } @@ -186,7 +186,7 @@ public final class JavaFunctionResolver { if (owner instanceof ClassDescriptor) { ClassDescriptor classDescriptor = (ClassDescriptor) owner; - Set functionsFromSupertypes = getFunctionsFromSupertypes(scopeData, methodName); + Set functionsFromSupertypes = getFunctionsFromSupertypes(methodName, owner); OverrideResolver.generateOverridesInFunctionGroup(methodName, functionsFromSupertypes, functionsFromCurrent, classDescriptor, new OverrideResolver.DescriptorSink() { @@ -260,11 +260,10 @@ public final class JavaFunctionResolver { @NotNull private static Set getFunctionsFromSupertypes( - ResolverScopeData scopeData, - Name methodName + @NotNull Name methodName, @NotNull ClassOrNamespaceDescriptor classOrNamespaceDescriptor ) { Set r = Sets.newLinkedHashSet(); - for (JetType supertype : DescriptorResolverUtils.getSupertypes(scopeData.getClassOrNamespaceDescriptor())) { + for (JetType supertype : DescriptorResolverUtils.getSupertypes(classOrNamespaceDescriptor)) { for (FunctionDescriptor function : supertype.getMemberScope().getFunctions(methodName)) { r.add((SimpleFunctionDescriptor) function); } diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaPropertyResolver.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaPropertyResolver.java index 5ccee87dc1b..e3adaf03e75 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaPropertyResolver.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaPropertyResolver.java @@ -101,7 +101,7 @@ public final class JavaPropertyResolver { @NotNull private Set resolveNamedGroupProperties( - @NotNull ClassOrNamespaceDescriptor owner, + @NotNull ClassOrNamespaceDescriptor ownerDescriptor, @NotNull ResolverScopeData scopeData, @NotNull NamedMembers namedMembers, @NotNull Name propertyName, @@ -122,13 +122,13 @@ public final class JavaPropertyResolver { continue; } - propertiesFromCurrent.add(resolveProperty(owner, scopeData, propertyName, context, propertyPsiData)); + propertiesFromCurrent.add(resolveProperty(ownerDescriptor, scopeData, propertyName, context, propertyPsiData)); } - Set propertiesFromSupertypes = getPropertiesFromSupertypes(scopeData, propertyName); + Set propertiesFromSupertypes = getPropertiesFromSupertypes(propertyName, ownerDescriptor); Set properties = Sets.newHashSet(); - generateOverrides(owner, propertyName, propertiesFromCurrent, propertiesFromSupertypes, properties); + generateOverrides(ownerDescriptor, propertyName, propertiesFromCurrent, propertiesFromSupertypes, properties); OverrideResolver.resolveUnknownVisibilities(properties, trace); properties.addAll(propertiesFromCurrent); @@ -430,9 +430,11 @@ public final class JavaPropertyResolver { } @NotNull - private static Set getPropertiesFromSupertypes(ResolverScopeData scopeData, Name propertyName) { + private static Set getPropertiesFromSupertypes( + @NotNull Name propertyName, @NotNull ClassOrNamespaceDescriptor ownerDescriptor + ) { Set r = new HashSet(); - for (JetType supertype : DescriptorResolverUtils.getSupertypes(scopeData.getClassOrNamespaceDescriptor())) { + for (JetType supertype : DescriptorResolverUtils.getSupertypes(ownerDescriptor)) { for (VariableDescriptor property : supertype.getMemberScope().getProperties(propertyName)) { r.add((PropertyDescriptor) property); } diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/scope/JavaBaseScope.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/scope/JavaBaseScope.java index edd82ab16ee..2af50f9d09e 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/scope/JavaBaseScope.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/scope/JavaBaseScope.java @@ -153,7 +153,10 @@ public abstract class JavaBaseScope extends JetScopeImpl { } } - private void computeInnerClasses(@NotNull PsiClass psiClass, @NotNull Collection result) { + private void computeInnerClasses( + @NotNull PsiClass psiClass, + @NotNull Collection result + ) { // TODO: Trying to hack the situation when we produce namespace descriptor for java class and still want to see inner classes if (getContainingDeclaration() instanceof JavaNamespaceDescriptor) { result.addAll(semanticServices.getDescriptorResolver().resolveInnerClasses(