Rename PropertyAccessorData to PropertyPsiDataElement and move it to wrapper package
This commit is contained in:
@@ -96,7 +96,7 @@ public final class MembersCache {
|
|||||||
NamedMembers namedMembers = getOrCreateEmpty(Name.identifier(psiClass.getName()));
|
NamedMembers namedMembers = getOrCreateEmpty(Name.identifier(psiClass.getName()));
|
||||||
|
|
||||||
TypeSource type = new TypeSource("", instanceField.getType(), instanceField);
|
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);
|
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(),
|
new TypeSource(method.getJetMethod().propertyType(), propertyTypeParameter.getPsiParameter().getType(),
|
||||||
propertyTypeParameter.getPsiParameter());
|
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;
|
assert returnType != null;
|
||||||
TypeSource propertyType = new TypeSource(method.getJetMethod().propertyType(), returnType, method.getPsiMethod());
|
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 com.google.common.collect.Lists;
|
||||||
import org.jetbrains.annotations.NotNull;
|
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.java.wrapper.PsiMethodWrapper;
|
||||||
import org.jetbrains.jet.lang.resolve.name.Name;
|
import org.jetbrains.jet.lang.resolve.name.Name;
|
||||||
|
|
||||||
@@ -36,14 +37,14 @@ public final class NamedMembers {
|
|||||||
private final List<PsiMethodWrapper> methods = Lists.newArrayList();
|
private final List<PsiMethodWrapper> methods = Lists.newArrayList();
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private final List<PropertyAccessorData> propertyAccessors = Lists.newArrayList();
|
private final List<PropertyPsiDataElement> propertyPsiDataElements = Lists.newArrayList();
|
||||||
|
|
||||||
void addMethod(@NotNull PsiMethodWrapper method) {
|
void addMethod(@NotNull PsiMethodWrapper method) {
|
||||||
methods.add(method);
|
methods.add(method);
|
||||||
}
|
}
|
||||||
|
|
||||||
void addPropertyAccessor(@NotNull PropertyAccessorData propertyAccessorData) {
|
void addPropertyAccessor(@NotNull PropertyPsiDataElement propertyPsiDataElement) {
|
||||||
propertyAccessors.add(propertyAccessorData);
|
propertyPsiDataElements.add(propertyPsiDataElement);
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@@ -57,7 +58,7 @@ public final class NamedMembers {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
public List<PropertyAccessorData> getPropertyAccessors() {
|
public List<PropertyPsiDataElement> getPropertyPsiDataElements() {
|
||||||
return propertyAccessors;
|
return propertyPsiDataElements;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+13
-12
@@ -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.kotlinSignature.AlternativeFieldSignatureData;
|
||||||
import org.jetbrains.jet.lang.resolve.java.kt.DescriptorKindUtils;
|
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.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.PsiFieldWrapper;
|
||||||
import org.jetbrains.jet.lang.resolve.java.wrapper.PsiMethodWrapper;
|
import org.jetbrains.jet.lang.resolve.java.wrapper.PsiMethodWrapper;
|
||||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||||
@@ -99,9 +100,9 @@ public final class JavaPropertyResolver {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static class GroupingValue {
|
private static class GroupingValue {
|
||||||
PropertyAccessorData getter;
|
PropertyPsiDataElement getter;
|
||||||
PropertyAccessorData setter;
|
PropertyPsiDataElement setter;
|
||||||
PropertyAccessorData field;
|
PropertyPsiDataElement field;
|
||||||
boolean ext;
|
boolean ext;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -113,7 +114,7 @@ public final class JavaPropertyResolver {
|
|||||||
@NotNull Name propertyName,
|
@NotNull Name propertyName,
|
||||||
@NotNull String context
|
@NotNull String context
|
||||||
) {
|
) {
|
||||||
Map<String, GroupingValue> map = collectGroupingValuesFromAccessors(namedMembers.getPropertyAccessors());
|
Map<String, GroupingValue> map = collectGroupingValuesFromAccessors(namedMembers.getPropertyPsiDataElements());
|
||||||
|
|
||||||
Set<PropertyDescriptor> propertiesFromCurrent = new HashSet<PropertyDescriptor>(1);
|
Set<PropertyDescriptor> propertiesFromCurrent = new HashSet<PropertyDescriptor>(1);
|
||||||
|
|
||||||
@@ -130,7 +131,7 @@ public final class JavaPropertyResolver {
|
|||||||
boolean isFinal = isPropertyFinal(scopeData, members);
|
boolean isFinal = isPropertyFinal(scopeData, members);
|
||||||
boolean isVar = isPropertyVar(members);
|
boolean isVar = isPropertyVar(members);
|
||||||
|
|
||||||
PropertyAccessorData characteristicMember = getCharacteristicMember(members);
|
PropertyPsiDataElement characteristicMember = getCharacteristicMember(members);
|
||||||
|
|
||||||
Visibility visibility = DescriptorResolverUtils.resolveVisibility(characteristicMember.getMember().getPsiMember(), null);
|
Visibility visibility = DescriptorResolverUtils.resolveVisibility(characteristicMember.getMember().getPsiMember(), null);
|
||||||
CallableMemberDescriptor.Kind kind = CallableMemberDescriptor.Kind.DECLARATION;
|
CallableMemberDescriptor.Kind kind = CallableMemberDescriptor.Kind.DECLARATION;
|
||||||
@@ -298,7 +299,7 @@ public final class JavaPropertyResolver {
|
|||||||
|
|
||||||
private List<TypeParameterDescriptor> resolvePropertyTypeParameters(
|
private List<TypeParameterDescriptor> resolvePropertyTypeParameters(
|
||||||
@NotNull GroupingValue members,
|
@NotNull GroupingValue members,
|
||||||
@NotNull PropertyAccessorData characteristicMember,
|
@NotNull PropertyPsiDataElement characteristicMember,
|
||||||
@NotNull PropertyDescriptor propertyDescriptor
|
@NotNull PropertyDescriptor propertyDescriptor
|
||||||
) {
|
) {
|
||||||
// TODO: Can't get type parameters from field - only from accessors
|
// TODO: Can't get type parameters from field - only from accessors
|
||||||
@@ -312,7 +313,7 @@ public final class JavaPropertyResolver {
|
|||||||
|
|
||||||
private JetType getPropertyType(
|
private JetType getPropertyType(
|
||||||
GroupingValue members,
|
GroupingValue members,
|
||||||
PropertyAccessorData characteristicMember,
|
PropertyPsiDataElement characteristicMember,
|
||||||
TypeVariableResolver typeVariableResolverForPropertyInternals
|
TypeVariableResolver typeVariableResolverForPropertyInternals
|
||||||
) {
|
) {
|
||||||
JetType propertyType;
|
JetType propertyType;
|
||||||
@@ -335,7 +336,7 @@ public final class JavaPropertyResolver {
|
|||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
private JetType getReceiverType(
|
private JetType getReceiverType(
|
||||||
PropertyAccessorData characteristicMember,
|
PropertyPsiDataElement characteristicMember,
|
||||||
TypeVariableResolver typeVariableResolverForPropertyInternals
|
TypeVariableResolver typeVariableResolverForPropertyInternals
|
||||||
) {
|
) {
|
||||||
JetType receiverType;
|
JetType receiverType;
|
||||||
@@ -362,7 +363,7 @@ public final class JavaPropertyResolver {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private static PropertyAccessorData getCharacteristicMember(GroupingValue members) {
|
private static PropertyPsiDataElement getCharacteristicMember(GroupingValue members) {
|
||||||
if (members.getter != null) {
|
if (members.getter != null) {
|
||||||
return members.getter;
|
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 type = key(propertyAccessor.getType());
|
||||||
String receiverType = key(propertyAccessor.getReceiverType());
|
String receiverType = key(propertyAccessor.getReceiverType());
|
||||||
return Pair.create(type, receiverType).toString();
|
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>();
|
Map<String, GroupingValue> map = new HashMap<String, GroupingValue>();
|
||||||
for (PropertyAccessorData propertyAccessor : propertyAccessors) {
|
for (PropertyPsiDataElement propertyAccessor : propertyAccessors) {
|
||||||
String key = propertyKeyForGrouping(propertyAccessor);
|
String key = propertyKeyForGrouping(propertyAccessor);
|
||||||
|
|
||||||
GroupingValue value = map.get(key);
|
GroupingValue value = map.get(key);
|
||||||
|
|||||||
+11
-8
@@ -14,18 +14,16 @@
|
|||||||
* limitations under the License.
|
* 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.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import org.jetbrains.jet.lang.resolve.java.wrapper.PsiFieldWrapper;
|
import org.jetbrains.jet.lang.resolve.java.TypeSource;
|
||||||
import org.jetbrains.jet.lang.resolve.java.wrapper.PsiMemberWrapper;
|
|
||||||
import org.jetbrains.jet.lang.resolve.java.wrapper.PsiMethodWrapper;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Stepan Koltsov
|
* Some PSI corresponding to a property: getter, setter or field.
|
||||||
*/
|
*/
|
||||||
public class PropertyAccessorData {
|
public final class PropertyPsiDataElement {
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private final PsiMemberWrapper member;
|
private final PsiMemberWrapper member;
|
||||||
@@ -39,14 +37,19 @@ public class PropertyAccessorData {
|
|||||||
private final TypeSource receiverType;
|
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.member = method;
|
||||||
this.type = type;
|
this.type = type;
|
||||||
this.receiverType = receiverType;
|
this.receiverType = receiverType;
|
||||||
this.getter = getter;
|
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.member = field;
|
||||||
this.type = type;
|
this.type = type;
|
||||||
this.receiverType = receiverType;
|
this.receiverType = receiverType;
|
||||||
Reference in New Issue
Block a user