From 814cb6e2555addbc118ab1f34dbfdf112ee6e2e6 Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Thu, 7 Feb 2013 23:10:27 +0400 Subject: [PATCH] Got rid of harmful asserts. EA-43300 - assert: KotlinSignatureInJavaMarkerProvider.getScopeForMember EA-43353 - assert: KotlinSignatureInJavaMarkerProvider.getDescriptorForMember --- .../KotlinSignatureInJavaMarkerProvider.java | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/idea/src/org/jetbrains/jet/plugin/codeInsight/ktSignature/KotlinSignatureInJavaMarkerProvider.java b/idea/src/org/jetbrains/jet/plugin/codeInsight/ktSignature/KotlinSignatureInJavaMarkerProvider.java index f550cb9edd0..63eb982ff81 100644 --- a/idea/src/org/jetbrains/jet/plugin/codeInsight/ktSignature/KotlinSignatureInJavaMarkerProvider.java +++ b/idea/src/org/jetbrains/jet/plugin/codeInsight/ktSignature/KotlinSignatureInJavaMarkerProvider.java @@ -130,10 +130,13 @@ public class KotlinSignatureInJavaMarkerProvider implements LineMarkerProvider { FqName classFqName = new FqName(qualifiedName); JetScope memberScope = getScopeForMember(javaDescriptorResolver, classFqName, member); + if (memberScope == null) { + return null; + } return getDescriptorForMember(member, memberScope, bindingContext); } - @NotNull + @Nullable private static JetScope getScopeForMember( @NotNull JavaDescriptorResolver javaDescriptorResolver, @NotNull FqName classFqName, @@ -141,13 +144,17 @@ public class KotlinSignatureInJavaMarkerProvider implements LineMarkerProvider { ) { if (member.hasModifierProperty(PsiModifier.STATIC)) { NamespaceDescriptor packageDescriptor = javaDescriptorResolver.resolveNamespace(classFqName); - assert packageDescriptor != null : "No package descriptor for Java class " + classFqName + " that has a static member " + member; + if (packageDescriptor == null) { + return null; + } return packageDescriptor.getMemberScope(); } else { ClassDescriptor klass = javaDescriptorResolver.resolveClass(classFqName); - assert klass != null : " Couldn't find class " + classFqName; + if (klass == null) { + return null; + } return klass.getDefaultType().getMemberScope(); } @@ -181,10 +188,7 @@ public class KotlinSignatureInJavaMarkerProvider implements LineMarkerProvider { } PsiModifierListOwner annotationOwner = getAnnotationOwner(member); - DeclarationDescriptor memberDescriptor = bindingContext.get(BindingContext.DECLARATION_TO_DESCRIPTOR, annotationOwner); - LOG.assertTrue(memberDescriptor != null, "Couldn't find descriptor for " + annotationOwner + "\n" - + annotationOwner.getContainingFile().getText()); - return memberDescriptor; + return bindingContext.get(BindingContext.DECLARATION_TO_DESCRIPTOR, annotationOwner); } public static boolean isMarkersEnabled(@NotNull Project project) {