Log instead of assertion in OverrideImplementMethodsHandler
This commit is contained in:
@@ -20,6 +20,7 @@ import com.intellij.codeInsight.hint.HintManager;
|
|||||||
import com.intellij.ide.util.MemberChooser;
|
import com.intellij.ide.util.MemberChooser;
|
||||||
import com.intellij.lang.LanguageCodeInsightActionHandler;
|
import com.intellij.lang.LanguageCodeInsightActionHandler;
|
||||||
import com.intellij.openapi.application.ApplicationManager;
|
import com.intellij.openapi.application.ApplicationManager;
|
||||||
|
import com.intellij.openapi.diagnostic.Logger;
|
||||||
import com.intellij.openapi.editor.Editor;
|
import com.intellij.openapi.editor.Editor;
|
||||||
import com.intellij.openapi.project.Project;
|
import com.intellij.openapi.project.Project;
|
||||||
import com.intellij.openapi.ui.DialogWrapper;
|
import com.intellij.openapi.ui.DialogWrapper;
|
||||||
@@ -54,6 +55,8 @@ public abstract class OverrideImplementMethodsHandler implements LanguageCodeIns
|
|||||||
.setOverrideRenderingPolicy(DescriptorRenderer.OverrideRenderingPolicy.RENDER_OVERRIDE)
|
.setOverrideRenderingPolicy(DescriptorRenderer.OverrideRenderingPolicy.RENDER_OVERRIDE)
|
||||||
.setUnitReturnType(false).build();
|
.setUnitReturnType(false).build();
|
||||||
|
|
||||||
|
private static final Logger LOG = Logger.getInstance(OverrideImplementMethodsHandler.class.getCanonicalName());
|
||||||
|
|
||||||
public static List<DescriptorClassMember> membersFromDescriptors(
|
public static List<DescriptorClassMember> membersFromDescriptors(
|
||||||
JetFile file, Iterable<CallableMemberDescriptor> missingImplementations,
|
JetFile file, Iterable<CallableMemberDescriptor> missingImplementations,
|
||||||
BindingContext bindingContext
|
BindingContext bindingContext
|
||||||
@@ -62,9 +65,12 @@ public abstract class OverrideImplementMethodsHandler implements LanguageCodeIns
|
|||||||
for (CallableMemberDescriptor memberDescriptor : missingImplementations) {
|
for (CallableMemberDescriptor memberDescriptor : missingImplementations) {
|
||||||
|
|
||||||
PsiElement declaration = DescriptorToDeclarationUtil.getDeclaration(file, memberDescriptor, bindingContext);
|
PsiElement declaration = DescriptorToDeclarationUtil.getDeclaration(file, memberDescriptor, bindingContext);
|
||||||
assert declaration != null : "Can not find declaration for descriptor " + memberDescriptor;
|
if (declaration == null) {
|
||||||
DescriptorClassMember member = new DescriptorClassMember(declaration, memberDescriptor);
|
LOG.error("Can not find declaration for descriptor " + memberDescriptor);
|
||||||
members.add(member);
|
} else {
|
||||||
|
DescriptorClassMember member = new DescriptorClassMember(declaration, memberDescriptor);
|
||||||
|
members.add(member);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return members;
|
return members;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user