diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrMapType.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrMapType.java index ed53faccc58e..c6c306eb1011 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrMapType.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrMapType.java @@ -16,7 +16,10 @@ import org.jetbrains.annotations.Nullable; import org.jetbrains.plugins.groovy.lang.psi.api.statements.arguments.GrNamedArgument; import org.jetbrains.plugins.groovy.lang.psi.util.GroovyCommonClassNames; -import java.util.*; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Set; /** * @author peter @@ -140,13 +143,6 @@ public abstract class GrMapType extends GrLiteralClassType { return new GrMapTypeImpl(facade, scope, stringEntries, otherEntries, LanguageLevel.JDK_1_5); } - public static GrMapType create(GlobalSearchScope scope) { - JavaPsiFacade facade = JavaPsiFacade.getInstance(scope.getProject()); - List> otherEntries = Collections.emptyList(); - LinkedHashMap stringEntries = ContainerUtil.newLinkedHashMap(); - return new GrMapTypeImpl(facade, scope, stringEntries, otherEntries, LanguageLevel.JDK_1_5); - } - @NotNull @Override public PsiClassType setLanguageLevel(@NotNull LanguageLevel languageLevel) { diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/signatures/GrClosureSignatureUtil.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/signatures/GrClosureSignatureUtil.java index 39b9237415a9..2a646a4ad3bb 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/signatures/GrClosureSignatureUtil.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/signatures/GrClosureSignatureUtil.java @@ -44,6 +44,9 @@ import org.jetbrains.plugins.groovy.lang.resolve.api.Applicability; import java.util.*; +import static org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.TypesUtil.createTypeByFQClassName; +import static org.jetbrains.plugins.groovy.lang.psi.util.GroovyCommonClassNames.JAVA_UTIL_LINKED_HASH_MAP; + /** * @author Maxim.Medvedev */ @@ -631,7 +634,7 @@ public class GrClosureSignatureUtil { if (InheritanceUtil.isInheritor(type, CommonClassNames.JAVA_UTIL_MAP) || type == null || type.equalsToText(CommonClassNames.JAVA_LANG_OBJECT)) { - innerArgs.add(new InnerArg(GrMapType.create(context.getResolveScope()), namedArgs)); + innerArgs.add(new InnerArg(createTypeByFQClassName(JAVA_UTIL_LINKED_HASH_MAP, context), namedArgs)); } else { return null; diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/gant/AntBuilderMethod.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/gant/AntBuilderMethod.java index 93dc4371640f..3df421d1cb5f 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/gant/AntBuilderMethod.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/gant/AntBuilderMethod.java @@ -11,8 +11,8 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.plugins.groovy.GroovyLanguage; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrBuilderMethod; -import org.jetbrains.plugins.groovy.lang.psi.impl.GrMapType; import org.jetbrains.plugins.groovy.lang.psi.impl.synthetic.GrLightParameter; +import org.jetbrains.plugins.groovy.lang.psi.util.GroovyCommonClassNames; import org.jetbrains.plugins.groovy.lang.resolve.ResolveUtil; import org.jetbrains.plugins.groovy.lang.resolve.ResolveUtilKt; @@ -30,7 +30,7 @@ class AntBuilderMethod extends LightMethodBuilder implements GrBuilderMethod { myPlace = place; myAntClass = antClass; setModifiers(PsiModifier.PUBLIC); - addParameter("args", GrMapType.create(place.getResolveScope())); + addParameter("args", GroovyCommonClassNames.JAVA_UTIL_LINKED_HASH_MAP); setBaseIcon(JetgroovyIcons.Groovy.Ant_task); addParameter(new GrLightParameter("singleArg", stringType, this).setOptional(true)); addParameter(new GrLightParameter("body", closureType, this).setOptional(true)); diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/intentions/style/parameterToEntry/ConvertParameterToMapEntryIntention.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/intentions/style/parameterToEntry/ConvertParameterToMapEntryIntention.java index 8ee498531573..974e9a219198 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/intentions/style/parameterToEntry/ConvertParameterToMapEntryIntention.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/intentions/style/parameterToEntry/ConvertParameterToMapEntryIntention.java @@ -13,7 +13,6 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Ref; import com.intellij.openapi.util.text.StringUtil; import com.intellij.psi.*; -import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.search.searches.MethodReferencesSearch; import com.intellij.psi.search.searches.ReferencesSearch; import com.intellij.psi.util.PsiTreeUtil; @@ -46,7 +45,6 @@ import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrRefere import org.jetbrains.plugins.groovy.lang.psi.api.statements.params.GrParameter; import org.jetbrains.plugins.groovy.lang.psi.api.statements.params.GrParameterList; import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrAccessorMethod; -import org.jetbrains.plugins.groovy.lang.psi.impl.GrMapType; import org.jetbrains.plugins.groovy.lang.psi.impl.signatures.GrClosureSignatureUtil; import org.jetbrains.plugins.groovy.lang.psi.impl.statements.typedef.members.GrMethodImpl; import org.jetbrains.plugins.groovy.lang.psi.util.GroovyPropertyUtils; @@ -57,6 +55,9 @@ import java.util.Collection; import java.util.Collections; import java.util.HashSet; +import static org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.TypesUtil.createTypeByFQClassName; +import static org.jetbrains.plugins.groovy.lang.psi.util.GroovyCommonClassNames.JAVA_UTIL_LINKED_HASH_MAP; + /** * @author ilyas */ @@ -362,9 +363,9 @@ public class ConvertParameterToMapEntryIntention extends Intention { private static boolean firstOwnerParameterMustBeMap(final GrParameterListOwner owner) { final GrParameter first = getFirstParameter(owner); final PsiType type = first.getTypeGroovy(); - final PsiClassType mapType = GrMapType.create(GlobalSearchScope.allScope(owner.getProject())); + if (type == null) return true; // First parameter may be used as map - return type == null || type.isConvertibleFrom(mapType); + return type.isConvertibleFrom(createTypeByFQClassName(JAVA_UTIL_LINKED_HASH_MAP, owner)); } @NotNull