Add Name parameter to NamedMembers class
Rename: MembersByNameCache#entrySet() -> AllMembers(), logic simplified
This commit is contained in:
+5
-3
@@ -26,6 +26,7 @@ import org.jetbrains.jet.lang.resolve.java.prop.PropertyParseResult;
|
||||
import org.jetbrains.jet.lang.resolve.java.wrapper.*;
|
||||
import org.jetbrains.jet.lang.resolve.name.Name;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -39,15 +40,16 @@ public final class MembersByNameCache {
|
||||
return namedMembersMap.get(name);
|
||||
}
|
||||
|
||||
public Iterable<? extends Map.Entry<Name, NamedMembers>> entrySet() {
|
||||
return namedMembersMap.entrySet();
|
||||
@NotNull
|
||||
public Collection<NamedMembers> allMembers() {
|
||||
return namedMembersMap.values();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private NamedMembers getOrCreateEmpty(@NotNull Name name) {
|
||||
NamedMembers r = namedMembersMap.get(name);
|
||||
if (r == null) {
|
||||
r = new NamedMembers();
|
||||
r = new NamedMembers(name);
|
||||
namedMembersMap.put(name, r);
|
||||
}
|
||||
return r;
|
||||
|
||||
@@ -22,6 +22,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.descriptors.FunctionDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.VariableDescriptor;
|
||||
import org.jetbrains.jet.lang.resolve.java.wrapper.PsiMethodWrapper;
|
||||
import org.jetbrains.jet.lang.resolve.name.Name;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
@@ -31,6 +32,13 @@ import java.util.Set;
|
||||
*/
|
||||
public class NamedMembers {
|
||||
|
||||
public NamedMembers(@NotNull Name name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private final Name name;
|
||||
|
||||
@NotNull
|
||||
private final List<PsiMethodWrapper> methods = Lists.newArrayList();
|
||||
|
||||
@@ -55,6 +63,11 @@ public class NamedMembers {
|
||||
return methods;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Name getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public List<PropertyAccessorData> getPropertyAccessors() {
|
||||
return propertyAccessors;
|
||||
|
||||
+4
-6
@@ -265,7 +265,7 @@ public final class JavaFunctionResolver {
|
||||
}
|
||||
}
|
||||
|
||||
public static Set<SimpleFunctionDescriptor> getFunctionsFromSupertypes(
|
||||
private static Set<SimpleFunctionDescriptor> getFunctionsFromSupertypes(
|
||||
ResolverScopeData scopeData,
|
||||
Name methodName
|
||||
) {
|
||||
@@ -281,14 +281,12 @@ public final class JavaFunctionResolver {
|
||||
public List<FunctionDescriptor> resolveMethods(@NotNull ResolverScopeData scopeData) {
|
||||
List<FunctionDescriptor> functions = new ArrayList<FunctionDescriptor>();
|
||||
|
||||
for (Map.Entry<Name, NamedMembers> entry : scopeData.getMembersCache().entrySet()) {
|
||||
Name methodName = entry.getKey();
|
||||
NamedMembers namedMembers = entry.getValue();
|
||||
for (NamedMembers member : scopeData.getMembersCache().allMembers()) {
|
||||
PsiClass psiClass = scopeData.getPsiClass();
|
||||
assert psiClass != null;
|
||||
resolveNamedGroupFunctions(scopeData.getClassOrNamespaceDescriptor(), psiClass,
|
||||
namedMembers, methodName, scopeData);
|
||||
functions.addAll(namedMembers.getFunctionDescriptors());
|
||||
member, member.getName(), scopeData);
|
||||
functions.addAll(member.getFunctionDescriptors());
|
||||
}
|
||||
|
||||
return functions;
|
||||
|
||||
+3
-6
@@ -108,14 +108,11 @@ public final class JavaPropertiesResolver {
|
||||
|
||||
Set<VariableDescriptor> descriptors = Sets.newHashSet();
|
||||
MembersByNameCache membersForProperties = scopeData.getMembersCache();
|
||||
for (Map.Entry<Name, NamedMembers> entry : membersForProperties.entrySet()) {
|
||||
NamedMembers namedMembers = entry.getValue();
|
||||
Name propertyName = entry.getKey();
|
||||
|
||||
for (NamedMembers members : membersForProperties.allMembers()) {
|
||||
resolveNamedGroupProperties(
|
||||
scopeData.getClassOrNamespaceDescriptor(), scopeData, namedMembers, propertyName,
|
||||
scopeData.getClassOrNamespaceDescriptor(), scopeData, members, members.getName(),
|
||||
"class or namespace " + psiClass.getQualifiedName());
|
||||
descriptors.addAll(namedMembers.getPropertyDescriptors());
|
||||
descriptors.addAll(members.getPropertyDescriptors());
|
||||
}
|
||||
|
||||
return descriptors;
|
||||
|
||||
Reference in New Issue
Block a user