From 662acb58b1658fe5f65556ffb55ebc375163aa65 Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Wed, 14 Nov 2012 17:44:22 +0400 Subject: [PATCH] Remove JavaPropertyResolver#getRealOwner() which is in fact redundant Injectors regenerated --- .../di/InjectorForJavaDescriptorResolver.java | 1 - .../di/InjectorForJavaSemanticServices.java | 1 - .../di/InjectorForTopDownAnalyzerForJvm.java | 1 - .../java/resolver/JavaPropertyResolver.java | 42 +++---------------- 4 files changed, 5 insertions(+), 40 deletions(-) diff --git a/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForJavaDescriptorResolver.java b/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForJavaDescriptorResolver.java index 1b00ec93f05..96aed9510c4 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForJavaDescriptorResolver.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForJavaDescriptorResolver.java @@ -155,7 +155,6 @@ public class InjectorForJavaDescriptorResolver { javaInnerClassResolver.setClassResolver(javaClassResolver); javaPropertyResolver.setAnnotationResolver(javaAnnotationResolver); - javaPropertyResolver.setClassResolver(javaClassResolver); javaPropertyResolver.setJavaSignatureResolver(javaSignatureResolver); javaPropertyResolver.setSemanticServices(javaSemanticServices); javaPropertyResolver.setTrace(bindingTrace); diff --git a/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForJavaSemanticServices.java b/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForJavaSemanticServices.java index e58f6f46bee..d08ed131100 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForJavaSemanticServices.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForJavaSemanticServices.java @@ -153,7 +153,6 @@ public class InjectorForJavaSemanticServices { javaInnerClassResolver.setClassResolver(javaClassResolver); javaPropertyResolver.setAnnotationResolver(javaAnnotationResolver); - javaPropertyResolver.setClassResolver(javaClassResolver); javaPropertyResolver.setJavaSignatureResolver(javaSignatureResolver); javaPropertyResolver.setSemanticServices(javaSemanticServices); javaPropertyResolver.setTrace(bindingTrace); diff --git a/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJvm.java b/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJvm.java index f179c458522..24081aefd13 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJvm.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJvm.java @@ -318,7 +318,6 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly javaInnerClassResolver.setClassResolver(javaClassResolver); javaPropertyResolver.setAnnotationResolver(javaAnnotationResolver); - javaPropertyResolver.setClassResolver(javaClassResolver); javaPropertyResolver.setJavaSignatureResolver(javaSignatureResolver); javaPropertyResolver.setSemanticServices(javaSemanticServices); javaPropertyResolver.setTrace(bindingTrace); 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 914110bc207..0257bc337b2 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 @@ -17,7 +17,6 @@ package org.jetbrains.jet.lang.resolve.java.resolver; import com.google.common.collect.Sets; -import com.intellij.psi.PsiClass; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.lang.descriptors.*; @@ -30,14 +29,12 @@ import org.jetbrains.jet.lang.resolve.java.*; import org.jetbrains.jet.lang.resolve.java.kotlinSignature.AlternativeFieldSignatureData; import org.jetbrains.jet.lang.resolve.java.kt.DescriptorKindUtils; import org.jetbrains.jet.lang.resolve.java.kt.JetMethodAnnotation; -import org.jetbrains.jet.lang.resolve.java.provider.ClassPsiDeclarationProvider; import org.jetbrains.jet.lang.resolve.java.provider.NamedMembers; import org.jetbrains.jet.lang.resolve.java.provider.PsiDeclarationProvider; import org.jetbrains.jet.lang.resolve.java.wrapper.PropertyPsiData; import org.jetbrains.jet.lang.resolve.java.wrapper.PropertyPsiDataElement; import org.jetbrains.jet.lang.resolve.java.wrapper.PsiFieldWrapper; import org.jetbrains.jet.lang.resolve.java.wrapper.PsiMethodWrapper; -import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.lang.resolve.name.Name; import org.jetbrains.jet.lang.resolve.scopes.JetScope; import org.jetbrains.jet.lang.types.JetType; @@ -54,7 +51,6 @@ public final class JavaPropertyResolver { private JavaSignatureResolver javaSignatureResolver; private BindingTrace trace; private JavaAnnotationResolver annotationResolver; - private JavaClassResolver classResolver; public JavaPropertyResolver() { } @@ -79,11 +75,6 @@ public final class JavaPropertyResolver { this.annotationResolver = annotationResolver; } - @Inject - public void setClassResolver(JavaClassResolver classResolver) { - this.classResolver = classResolver; - } - @NotNull public Set resolveFieldGroupByName( @NotNull Name fieldName, @@ -189,10 +180,9 @@ public final class JavaPropertyResolver { kind = DescriptorKindUtils.flagsToKind(methodAnnotation.kind()); } - DeclarationDescriptor realOwner = getRealOwner(owner, scopeData, psiData.isStatic()); - boolean isEnumEntry = DescriptorUtils.isEnumClassObject(realOwner); + boolean isEnumEntry = DescriptorUtils.isEnumClassObject(owner); PropertyDescriptor propertyDescriptor = new PropertyDescriptor( - realOwner, + owner, annotationResolver.resolveAnnotations(psiData.getCharacteristicPsi()), DescriptorResolverUtils.resolveModality(characteristicMember.getMember(), isFinal || isEnumEntry || psiData.isPropertyForNamedObject()), @@ -206,7 +196,7 @@ public final class JavaPropertyResolver { // remove this when JavaDescriptorResolver gets rewritten if (isEnumEntry) { ClassDescriptorImpl dummyClassDescriptorForEnumEntryObject = - new ClassDescriptorImpl(realOwner, Collections.emptyList(), Modality.FINAL, propertyName); + new ClassDescriptorImpl(owner, Collections.emptyList(), Modality.FINAL, propertyName); dummyClassDescriptorForEnumEntryObject.initialize( true, Collections.emptyList(), @@ -234,7 +224,7 @@ public final class JavaPropertyResolver { propertyDescriptor.setType( propertyType, typeParameters, - DescriptorUtils.getExpectedThisObjectIfNeeded(realOwner), + DescriptorUtils.getExpectedThisObjectIfNeeded(owner), receiverType ); initializeSetterAndGetter(propertyDescriptor, getterDescriptor, setterDescriptor, propertyType); @@ -243,7 +233,7 @@ public final class JavaPropertyResolver { trace.record(BindingContext.VARIABLE, psiData.getCharacteristicPsi(), propertyDescriptor); } - recordObjectDeclarationClassIfNeeded(psiData, realOwner, propertyDescriptor, propertyType); + recordObjectDeclarationClassIfNeeded(psiData, owner, propertyDescriptor, propertyType); if (scopeData.getDeclarationOrigin() == JAVA) { trace.record(BindingContext.IS_DECLARED_IN_JAVA, propertyDescriptor); @@ -442,26 +432,4 @@ public final class JavaPropertyResolver { } return r; } - - @NotNull - private ClassOrNamespaceDescriptor getRealOwner( - @NotNull ClassOrNamespaceDescriptor owner, - @NotNull PsiDeclarationProvider declarationProvider, - boolean isStatic - ) { - if (!(declarationProvider instanceof ClassPsiDeclarationProvider)) { - return owner; - } - PsiClass psiClass = ((ClassPsiDeclarationProvider) declarationProvider).getPsiClass(); - if (!psiClass.isEnum() || !isStatic) { - return owner; - } - final String qualifiedName = psiClass.getQualifiedName(); - assert qualifiedName != null; - final ClassDescriptor classDescriptor = classResolver.resolveClass(new FqName(qualifiedName)); - assert classDescriptor != null; - final ClassDescriptor classObjectDescriptor = classDescriptor.getClassObjectDescriptor(); - assert classObjectDescriptor != null; - return classObjectDescriptor; - } }