From e8553dcac6f06ef9d2af01092e4b58b6e6121895 Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Wed, 31 Oct 2012 18:03:34 +0400 Subject: [PATCH] Rename PropertyAccessorData to PropertyPsiDataElement and move it to wrapper package --- .../jet/lang/resolve/java/MembersCache.java | 8 +++--- .../jet/lang/resolve/java/NamedMembers.java | 11 ++++---- .../java/resolver/JavaPropertyResolver.java | 25 ++++++++++--------- .../PropertyPsiDataElement.java} | 19 ++++++++------ 4 files changed, 34 insertions(+), 29 deletions(-) rename compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/{PropertyAccessorData.java => wrapper/PropertyPsiDataElement.java} (75%) diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/MembersCache.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/MembersCache.java index ba2f2a7dd9b..53299861a4b 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/MembersCache.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/MembersCache.java @@ -96,7 +96,7 @@ public final class MembersCache { NamedMembers namedMembers = getOrCreateEmpty(Name.identifier(psiClass.getName())); TypeSource type = new TypeSource("", instanceField.getType(), instanceField); - namedMembers.addPropertyAccessor(new PropertyAccessorData(new PsiFieldWrapper(instanceField), type, null)); + namedMembers.addPropertyAccessor(new PropertyPsiDataElement(new PsiFieldWrapper(instanceField), type, null)); } } } @@ -154,7 +154,7 @@ public final class MembersCache { } TypeSource type = new TypeSource("", fieldWrapper.getType(), field); - namedMembers.addPropertyAccessor(new PropertyAccessorData(fieldWrapper, type, null)); + namedMembers.addPropertyAccessor(new PropertyPsiDataElement(fieldWrapper, type, null)); } } @@ -220,7 +220,7 @@ public final class MembersCache { new TypeSource(method.getJetMethod().propertyType(), propertyTypeParameter.getPsiParameter().getType(), propertyTypeParameter.getPsiParameter()); - members.addPropertyAccessor(new PropertyAccessorData(method, false, propertyType, receiverType)); + members.addPropertyAccessor(new PropertyPsiDataElement(method, false, propertyType, receiverType)); } } @@ -260,7 +260,7 @@ public final class MembersCache { assert returnType != null; TypeSource propertyType = new TypeSource(method.getJetMethod().propertyType(), returnType, method.getPsiMethod()); - members.addPropertyAccessor(new PropertyAccessorData(method, true, propertyType, receiverType)); + members.addPropertyAccessor(new PropertyPsiDataElement(method, true, propertyType, receiverType)); } } diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/NamedMembers.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/NamedMembers.java index e1afc92e536..f8baac00100 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/NamedMembers.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/NamedMembers.java @@ -18,6 +18,7 @@ package org.jetbrains.jet.lang.resolve.java; import com.google.common.collect.Lists; import org.jetbrains.annotations.NotNull; +import org.jetbrains.jet.lang.resolve.java.wrapper.PropertyPsiDataElement; import org.jetbrains.jet.lang.resolve.java.wrapper.PsiMethodWrapper; import org.jetbrains.jet.lang.resolve.name.Name; @@ -36,14 +37,14 @@ public final class NamedMembers { private final List methods = Lists.newArrayList(); @NotNull - private final List propertyAccessors = Lists.newArrayList(); + private final List propertyPsiDataElements = Lists.newArrayList(); void addMethod(@NotNull PsiMethodWrapper method) { methods.add(method); } - void addPropertyAccessor(@NotNull PropertyAccessorData propertyAccessorData) { - propertyAccessors.add(propertyAccessorData); + void addPropertyAccessor(@NotNull PropertyPsiDataElement propertyPsiDataElement) { + propertyPsiDataElements.add(propertyPsiDataElement); } @NotNull @@ -57,7 +58,7 @@ public final class NamedMembers { } @NotNull - public List getPropertyAccessors() { - return propertyAccessors; + public List getPropertyPsiDataElements() { + return propertyPsiDataElements; } } 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 da966454fb5..af4eda8884b 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 @@ -32,6 +32,7 @@ import org.jetbrains.jet.lang.resolve.java.data.ResolverScopeData; 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.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; @@ -99,9 +100,9 @@ public final class JavaPropertyResolver { } private static class GroupingValue { - PropertyAccessorData getter; - PropertyAccessorData setter; - PropertyAccessorData field; + PropertyPsiDataElement getter; + PropertyPsiDataElement setter; + PropertyPsiDataElement field; boolean ext; } @@ -113,7 +114,7 @@ public final class JavaPropertyResolver { @NotNull Name propertyName, @NotNull String context ) { - Map map = collectGroupingValuesFromAccessors(namedMembers.getPropertyAccessors()); + Map map = collectGroupingValuesFromAccessors(namedMembers.getPropertyPsiDataElements()); Set propertiesFromCurrent = new HashSet(1); @@ -130,7 +131,7 @@ public final class JavaPropertyResolver { boolean isFinal = isPropertyFinal(scopeData, members); boolean isVar = isPropertyVar(members); - PropertyAccessorData characteristicMember = getCharacteristicMember(members); + PropertyPsiDataElement characteristicMember = getCharacteristicMember(members); Visibility visibility = DescriptorResolverUtils.resolveVisibility(characteristicMember.getMember().getPsiMember(), null); CallableMemberDescriptor.Kind kind = CallableMemberDescriptor.Kind.DECLARATION; @@ -298,7 +299,7 @@ public final class JavaPropertyResolver { private List resolvePropertyTypeParameters( @NotNull GroupingValue members, - @NotNull PropertyAccessorData characteristicMember, + @NotNull PropertyPsiDataElement characteristicMember, @NotNull PropertyDescriptor propertyDescriptor ) { // TODO: Can't get type parameters from field - only from accessors @@ -312,7 +313,7 @@ public final class JavaPropertyResolver { private JetType getPropertyType( GroupingValue members, - PropertyAccessorData characteristicMember, + PropertyPsiDataElement characteristicMember, TypeVariableResolver typeVariableResolverForPropertyInternals ) { JetType propertyType; @@ -335,7 +336,7 @@ public final class JavaPropertyResolver { @Nullable private JetType getReceiverType( - PropertyAccessorData characteristicMember, + PropertyPsiDataElement characteristicMember, TypeVariableResolver typeVariableResolverForPropertyInternals ) { JetType receiverType; @@ -362,7 +363,7 @@ public final class JavaPropertyResolver { } @NotNull - private static PropertyAccessorData getCharacteristicMember(GroupingValue members) { + private static PropertyPsiDataElement getCharacteristicMember(GroupingValue members) { if (members.getter != null) { return members.getter; } @@ -422,7 +423,7 @@ public final class JavaPropertyResolver { } } - private static String propertyKeyForGrouping(PropertyAccessorData propertyAccessor) { + private static String propertyKeyForGrouping(PropertyPsiDataElement propertyAccessor) { String type = key(propertyAccessor.getType()); String receiverType = key(propertyAccessor.getReceiverType()); return Pair.create(type, receiverType).toString(); @@ -449,9 +450,9 @@ public final class JavaPropertyResolver { } } - private static Map collectGroupingValuesFromAccessors(List propertyAccessors) { + private static Map collectGroupingValuesFromAccessors(List propertyAccessors) { Map map = new HashMap(); - for (PropertyAccessorData propertyAccessor : propertyAccessors) { + for (PropertyPsiDataElement propertyAccessor : propertyAccessors) { String key = propertyKeyForGrouping(propertyAccessor); GroupingValue value = map.get(key); diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/PropertyAccessorData.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/wrapper/PropertyPsiDataElement.java similarity index 75% rename from compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/PropertyAccessorData.java rename to compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/wrapper/PropertyPsiDataElement.java index bde567f5d0e..d09eee9b771 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/PropertyAccessorData.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/wrapper/PropertyPsiDataElement.java @@ -14,18 +14,16 @@ * limitations under the License. */ -package org.jetbrains.jet.lang.resolve.java; +package org.jetbrains.jet.lang.resolve.java.wrapper; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.jetbrains.jet.lang.resolve.java.wrapper.PsiFieldWrapper; -import org.jetbrains.jet.lang.resolve.java.wrapper.PsiMemberWrapper; -import org.jetbrains.jet.lang.resolve.java.wrapper.PsiMethodWrapper; +import org.jetbrains.jet.lang.resolve.java.TypeSource; /** - * @author Stepan Koltsov + * Some PSI corresponding to a property: getter, setter or field. */ -public class PropertyAccessorData { +public final class PropertyPsiDataElement { @NotNull private final PsiMemberWrapper member; @@ -39,14 +37,19 @@ public class PropertyAccessorData { private final TypeSource receiverType; - PropertyAccessorData(@NotNull PsiMethodWrapper method, boolean getter, @NotNull TypeSource type, @Nullable TypeSource receiverType) { + public PropertyPsiDataElement( + @NotNull PsiMethodWrapper method, + boolean getter, + @NotNull TypeSource type, + @Nullable TypeSource receiverType + ) { this.member = method; this.type = type; this.receiverType = receiverType; this.getter = getter; } - PropertyAccessorData(@NotNull PsiFieldWrapper field, @NotNull TypeSource type, @Nullable TypeSource receiverType) { + public PropertyPsiDataElement(@NotNull PsiFieldWrapper field, @NotNull TypeSource type, @Nullable TypeSource receiverType) { this.member = field; this.type = type; this.receiverType = receiverType;