diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/dsl/CustomMembersGenerator.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/dsl/CustomMembersGenerator.java index 85f0c12e0b08..63806a577a06 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/dsl/CustomMembersGenerator.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/dsl/CustomMembersGenerator.java @@ -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 myDeclarations = new HashSet(); + private final List myDeclarations = ContainerUtil.newArrayList(); private final Project myProject; private final CompoundMembersHolder myDepot = new CompoundMembersHolder(); private final GroovyClassDescriptor myDescriptor; diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/dsl/holders/NonCodeMembersHolder.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/dsl/holders/NonCodeMembersHolder.java index 51c96c69961f..df3609da7ba0 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/dsl/holders/NonCodeMembersHolder.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/dsl/holders/NonCodeMembersHolder.java @@ -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 DOCUMENTATION_URL = Key.create("GdslDocumentationUrl"); private final List myDeclarations = new ArrayList(); - public static NonCodeMembersHolder generateMembers(Set methods, final PsiFile place) { - Map, NonCodeMembersHolder> map = CachedValuesManager.getManager(place.getProject()).getCachedValue( - place, new CachedValueProvider, NonCodeMembersHolder>>() { - public Result, NonCodeMembersHolder>> compute() { - final Map, NonCodeMembersHolder> map = new ConcurrentSoftHashMap, NonCodeMembersHolder>(); + public static NonCodeMembersHolder generateMembers(List methods, final PsiFile place) { + Map, NonCodeMembersHolder> map = CachedValuesManager.getManager(place.getProject()).getCachedValue( + place, new CachedValueProvider, NonCodeMembersHolder>>() { + public Result, NonCodeMembersHolder>> compute() { + final Map, NonCodeMembersHolder> map = new ConcurrentSoftHashMap, NonCodeMembersHolder>(); return Result.create(map, PsiModificationTracker.MODIFICATION_COUNT); } }); @@ -57,7 +60,7 @@ public class NonCodeMembersHolder implements CustomMembersHolder { return result; } - private NonCodeMembersHolder(Set data, PsiElement place) { + private NonCodeMembersHolder(List 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.emptyList(), place.getContainingFile());