diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java index b03125b76fd1..a41d82ebd46e 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/gpp/GppTypeConverter.java @@ -71,7 +71,7 @@ public class GppTypeConverter extends GrTypeConverter { return true; } - if (hasDefaultConstructor(lType)) { + if (!isMethodCallConversion(context) && hasDefaultConstructor(lType)) { return true; } } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrMapType.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrMapType.java index 3fbe912f1cc7..2d92fec1267d 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrMapType.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/GrMapType.java @@ -109,6 +109,8 @@ public class GrMapType extends GrLiteralClassType { } public String getInternalCanonicalText() { + if (myStringEntries.size() == 0) return "[:]"; + List components = new ArrayList(); for (String s : myStringEntries.keySet()) { components.add("'" + s + "':" + getInternalCanonicalText(myStringEntries.get(s))); diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GroovyHighlightingTest.java b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GroovyHighlightingTest.java index 6a29d6fb27f8..63a106b42e52 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GroovyHighlightingTest.java +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/GroovyHighlightingTest.java @@ -68,7 +68,7 @@ public class GroovyHighlightingTest extends LightCodeInsightFixtureTestCase { doTest(); } - private void doTest(LocalInspectionTool... tools) throws Exception { + private void doTest(LocalInspectionTool... tools) { myFixture.enableInspections(tools); myFixture.testHighlighting(true, false, false, getTestName(false) + ".groovy"); } @@ -280,4 +280,8 @@ public class GroovyHighlightingTest extends LightCodeInsightFixtureTestCase { } public void testNumberDuplicatesInMaps() throws Exception {doTest();} + + public void testMapNotAcceptedAsStringParameter() { + doTest(); + } } \ No newline at end of file diff --git a/plugins/groovy/testdata/highlighting/MapNotAcceptedAsStringParameter.groovy b/plugins/groovy/testdata/highlighting/MapNotAcceptedAsStringParameter.groovy new file mode 100644 index 000000000000..8126990df539 --- /dev/null +++ b/plugins/groovy/testdata/highlighting/MapNotAcceptedAsStringParameter.groovy @@ -0,0 +1,7 @@ +class A { + void method(String m) {} + + { + method([:]) + } +} \ No newline at end of file diff --git a/plugins/groovy/testdata/resolve/method/mapNotAcceptedAsStringParameter/A.groovy b/plugins/groovy/testdata/resolve/method/mapNotAcceptedAsStringParameter/A.groovy new file mode 100644 index 000000000000..502c53f40771 --- /dev/null +++ b/plugins/groovy/testdata/resolve/method/mapNotAcceptedAsStringParameter/A.groovy @@ -0,0 +1,9 @@ +class A { + void method(Map m, Closure e ) {} + void method(String m) {} + +{ +method([:]) +} + +} \ No newline at end of file