diff --git a/platform/platform-resources/src/META-INF/LangExtensions.xml b/platform/platform-resources/src/META-INF/LangExtensions.xml
index fe87fed07bb1..e92940282c5e 100644
--- a/platform/platform-resources/src/META-INF/LangExtensions.xml
+++ b/platform/platform-resources/src/META-INF/LangExtensions.xml
@@ -484,6 +484,8 @@
serviceImplementation="com.intellij.openapi.graph.impl.builder.util.CustomGraphActionsFactoryImpl"/>
+
diff --git a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java
index 88b9f1963582..3390514092de 100644
--- a/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java
+++ b/plugins/groovy/groovypp/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java
@@ -66,21 +66,18 @@ public class GppTypeConverter extends GrTypeConverter {
public Boolean isConvertible(@NotNull PsiType lType, @NotNull PsiType rType, @NotNull GroovyPsiElement context) {
if (rType instanceof GrTupleType) {
final PsiType type = PsiUtil.extractIterableTypeParameter(lType, false);
- if (type != null && !TypesUtil.isAssignable(type, ((GrTupleType)rType).getParameters()[0], context)) {
- return null;
- }
- final PsiType[] componentTypes = ((GrTupleType)rType).getComponentTypes();
+ if (type == null || TypesUtil.isAssignable(type, ((GrTupleType)rType).getParameters()[0], context)) {
+ final PsiType[] componentTypes = ((GrTupleType)rType).getComponentTypes();
- final PsiType expectedComponent = PsiUtil.extractIterableTypeParameter(lType, false);
- if (expectedComponent != null && hasDefaultConstructor(lType)) {
- return true;
- }
+ final PsiType expectedComponent = PsiUtil.extractIterableTypeParameter(lType, false);
+ if (expectedComponent != null && hasDefaultConstructor(lType)) {
+ return true;
+ }
- if (lType instanceof PsiClassType && hasConstructor((PsiClassType)lType, componentTypes, context)) {
- return true;
+ if (lType instanceof PsiClassType && hasConstructor((PsiClassType)lType, componentTypes, context)) {
+ return true;
+ }
}
-
- return null;
}
else if (rType instanceof GrMapType) {
final PsiType lKeyType = PsiUtil.substituteTypeParameter(lType, CommonClassNames.JAVA_UTIL_MAP, 0, false);
@@ -94,8 +91,6 @@ public class GppTypeConverter extends GrTypeConverter {
if (hasDefaultConstructor(lType)) {
return true;
}
-
- return null;
}
else if (rType instanceof GrClosureType) {
final PsiType[] methodParameters = GppClosureParameterTypeProvider.findSingleAbstractMethodSignature(lType);
@@ -103,10 +98,8 @@ public class GppTypeConverter extends GrTypeConverter {
if (methodParameters != null && GrClosureSignatureUtil.isSignatureApplicable(signature, methodParameters, context)) {
return true;
}
- return false;
}
-
return null;
}