Gdsl: use List instead of Set

This commit is contained in:
Max Medvedev
2013-03-07 17:31:18 +04:00
parent 5abc7a4b14
commit 07db8a695a
2 changed files with 12 additions and 9 deletions
@@ -53,7 +53,7 @@ public class CustomMembersGenerator extends GroovyObjectSupport implements GdslM
private static final Logger LOG = Logger.getInstance("#org.jetbrains.plugins.groovy.dsl.CustomMembersGenerator");
private static final GdslMembersProvider[] PROVIDERS = GdslMembersProvider.EP_NAME.getExtensions();
public static final String THROWS = "throws";
private final Set<Map> myDeclarations = new HashSet<Map>();
private final List<Map> myDeclarations = ContainerUtil.newArrayList();
private final Project myProject;
private final CompoundMembersHolder myDepot = new CompoundMembersHolder();
private final GroovyClassDescriptor myDescriptor;
@@ -31,7 +31,10 @@ import org.jetbrains.plugins.groovy.lang.completion.closureParameters.ClosureDes
import org.jetbrains.plugins.groovy.lang.psi.impl.synthetic.GrLightMethodBuilder;
import org.jetbrains.plugins.groovy.lang.psi.impl.synthetic.GrLightVariable;
import java.util.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
/**
* @author peter
@@ -41,11 +44,11 @@ public class NonCodeMembersHolder implements CustomMembersHolder {
public static final Key<String> DOCUMENTATION_URL = Key.create("GdslDocumentationUrl");
private final List<PsiElement> myDeclarations = new ArrayList<PsiElement>();
public static NonCodeMembersHolder generateMembers(Set<Map> methods, final PsiFile place) {
Map<Set<Map>, NonCodeMembersHolder> map = CachedValuesManager.getManager(place.getProject()).getCachedValue(
place, new CachedValueProvider<Map<Set<Map>, NonCodeMembersHolder>>() {
public Result<Map<Set<Map>, NonCodeMembersHolder>> compute() {
final Map<Set<Map>, NonCodeMembersHolder> map = new ConcurrentSoftHashMap<Set<Map>, NonCodeMembersHolder>();
public static NonCodeMembersHolder generateMembers(List<Map> methods, final PsiFile place) {
Map<List<Map>, NonCodeMembersHolder> map = CachedValuesManager.getManager(place.getProject()).getCachedValue(
place, new CachedValueProvider<Map<List<Map>, NonCodeMembersHolder>>() {
public Result<Map<List<Map>, NonCodeMembersHolder>> compute() {
final Map<List<Map>, NonCodeMembersHolder> map = new ConcurrentSoftHashMap<List<Map>, NonCodeMembersHolder>();
return Result.create(map, PsiModificationTracker.MODIFICATION_COUNT);
}
});
@@ -57,7 +60,7 @@ public class NonCodeMembersHolder implements CustomMembersHolder {
return result;
}
private NonCodeMembersHolder(Set<Map> data, PsiElement place) {
private NonCodeMembersHolder(List<Map> data, PsiElement place) {
final PsiManager manager = place.getManager();
for (Map prop : data) {
final Object decltype = prop.get("declarationType");
@@ -78,7 +81,7 @@ public class NonCodeMembersHolder implements CustomMembersHolder {
}
}
private PsiElement createVariable(Map prop, PsiElement place, PsiManager manager) {
private static PsiElement createVariable(Map prop, PsiElement place, PsiManager manager) {
String name = String.valueOf(prop.get("name"));
final String type = String.valueOf(prop.get("type"));
return new GrLightVariable(manager, name, type, Collections.<PsiElement>emptyList(), place.getContainingFile());