diff --git a/java/java-impl/src/com/intellij/refactoring/introduceparameterobject/JavaIntroduceParameterObjectDelegate.java b/java/java-impl/src/com/intellij/refactoring/introduceparameterobject/JavaIntroduceParameterObjectDelegate.java index adb864c95a62..c049c27b8ad5 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceparameterobject/JavaIntroduceParameterObjectDelegate.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceparameterobject/JavaIntroduceParameterObjectDelegate.java @@ -279,6 +279,7 @@ public class JavaIntroduceParameterObjectDelegate } if (moveDestination != null) { + boolean constructorMiss = false; for (UsageInfo info : infos) { if (info instanceof IntroduceParameterObjectProcessor.ChangeSignatureUsageWrapper) { final UsageInfo usageInfo = ((IntroduceParameterObjectProcessor.ChangeSignatureUsageWrapper)info).getInfo(); @@ -289,6 +290,10 @@ public class JavaIntroduceParameterObjectDelegate conflicts.putValue(overridingMethod, "Created class won't be accessible"); } } + if (!constructorMiss && classDescriptor.isUseExistingClass() && usageInfo instanceof MethodCallUsageInfo && classDescriptor.getExistingClassCompatibleConstructor() == null) { + conflicts.putValue(classDescriptor.getExistingClass(), "Existing class misses compatible constructor"); + constructorMiss = true; + } } } }