Rename PropertyAccessorData to PropertyPsiDataElement and move it to wrapper package

This commit is contained in:
Pavel V. Talanov
2012-10-31 18:03:34 +04:00
parent df28484726
commit e8553dcac6
4 changed files with 34 additions and 29 deletions
@@ -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));
}
}
@@ -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<PsiMethodWrapper> methods = Lists.newArrayList();
@NotNull
private final List<PropertyAccessorData> propertyAccessors = Lists.newArrayList();
private final List<PropertyPsiDataElement> 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<PropertyAccessorData> getPropertyAccessors() {
return propertyAccessors;
public List<PropertyPsiDataElement> getPropertyPsiDataElements() {
return propertyPsiDataElements;
}
}
@@ -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<String, GroupingValue> map = collectGroupingValuesFromAccessors(namedMembers.getPropertyAccessors());
Map<String, GroupingValue> map = collectGroupingValuesFromAccessors(namedMembers.getPropertyPsiDataElements());
Set<PropertyDescriptor> propertiesFromCurrent = new HashSet<PropertyDescriptor>(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<TypeParameterDescriptor> 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<String, GroupingValue> collectGroupingValuesFromAccessors(List<PropertyAccessorData> propertyAccessors) {
private static Map<String, GroupingValue> collectGroupingValuesFromAccessors(List<PropertyPsiDataElement> propertyAccessors) {
Map<String, GroupingValue> map = new HashMap<String, GroupingValue>();
for (PropertyAccessorData propertyAccessor : propertyAccessors) {
for (PropertyPsiDataElement propertyAccessor : propertyAccessors) {
String key = propertyKeyForGrouping(propertyAccessor);
GroupingValue value = map.get(key);
@@ -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;