diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/ConstructorInsertHandler.java b/java/java-impl/src/com/intellij/codeInsight/completion/ConstructorInsertHandler.java index 58e0b5607212..146cbcf41f23 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/ConstructorInsertHandler.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/ConstructorInsertHandler.java @@ -53,8 +53,9 @@ class ConstructorInsertHandler implements InsertHandler//To change body of implemented methods use File | Settings | File Templates. + } + }; + } + +} + +public abstract class Bar { + protected Bar(int a) { + } + + abstract void update(); +} diff --git a/java/java-tests/testData/codeInsight/completion/smartType/NewAbstractClassWithConstructorArgs.java b/java/java-tests/testData/codeInsight/completion/smartType/NewAbstractClassWithConstructorArgs.java new file mode 100644 index 000000000000..e274aec3e074 --- /dev/null +++ b/java/java-tests/testData/codeInsight/completion/smartType/NewAbstractClassWithConstructorArgs.java @@ -0,0 +1,14 @@ +public class Main { + + public static void main(String[] args) { + Bar b = new B + } + +} + +public abstract class Bar { + protected Bar(int a) { + } + + abstract void update(); +} diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/completion/SmartTypeCompletionTest.java b/java/java-tests/testSrc/com/intellij/codeInsight/completion/SmartTypeCompletionTest.java index d207a2876da8..1883bba1da85 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/completion/SmartTypeCompletionTest.java +++ b/java/java-tests/testSrc/com/intellij/codeInsight/completion/SmartTypeCompletionTest.java @@ -967,6 +967,10 @@ public class SmartTypeCompletionTest extends LightCompletionTestCase { doItemTest(); } + public void testNewAbstractClassWithConstructorArgs() throws Throwable { + doItemTest(); + } + public void testInsideGenericClassLiteral() throws Throwable { configureByTestName(); testByCount(3, "String.class", "StringBuffer.class", "StringBuilder.class");