Groovy type assignability
[idea/community.git] / plugins / groovy / src / org / jetbrains / plugins / groovy / lang / psi / impl / statements / expressions / TypesUtil.java
index 2255134b45ab7675f751025835d309ddb1c60692..41cf8c4ad425e30b4a2d72f91575e2d3b316ff9b 100644 (file)
@@ -211,19 +211,15 @@ public class TypesUtil {
   }
 
   public static boolean isAssignable(PsiType lType, PsiType rType, PsiManager manager, GlobalSearchScope scope) {
+    if (isAssignableByMethodCallConversion(lType, rType, manager, scope)){
+      return true;
+    }
     //all numeric types are assignable
     if (isNumericType(lType)) {
       return isNumericType(rType) || rType.equals(PsiType.NULL);
     }
-    if (rType instanceof GrTupleType) {
-      final GrTupleType tuple = (GrTupleType)rType;
-      if (tuple.getComponentTypes().length == 0) {
-        if (lType instanceof PsiArrayType ||
-            InheritanceUtil.isInheritor(lType, JAVA_UTIL_LIST) ||
-            InheritanceUtil.isInheritor(lType, JAVA_UTIL_SET)) {
-          return true;
-        }
-      }
+    else if (lType.equalsToText(JAVA_LANG_STRING)) {
+      return true;
     }
 
     rType = boxPrimitiveType(rType, manager, scope);