diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DescriptorResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DescriptorResolver.java index b26330328fd..c3d0639eb3f 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DescriptorResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DescriptorResolver.java @@ -786,7 +786,7 @@ public class DescriptorResolver { public static void checkUpperBoundType( JetTypeReference upperBound, - JetType upperBoundType, + @NotNull JetType upperBoundType, boolean isClassObjectConstraint, BindingTrace trace ) { diff --git a/core/descriptors/src/org/jetbrains/jet/lang/types/TypeUtils.java b/core/descriptors/src/org/jetbrains/jet/lang/types/TypeUtils.java index 6edba78ba66..7780f4d33d7 100644 --- a/core/descriptors/src/org/jetbrains/jet/lang/types/TypeUtils.java +++ b/core/descriptors/src/org/jetbrains/jet/lang/types/TypeUtils.java @@ -299,7 +299,7 @@ public class TypeUtils { } } - public static boolean canHaveSubtypes(JetTypeChecker typeChecker, JetType type) { + public static boolean canHaveSubtypes(JetTypeChecker typeChecker, @NotNull JetType type) { if (type.isMarkedNullable()) { return true; } diff --git a/idea/ide-common/src/org/jetbrains/jet/plugin/codeInsight/ReferenceVariantsHelper.kt b/idea/ide-common/src/org/jetbrains/jet/plugin/codeInsight/ReferenceVariantsHelper.kt index 0a6aafaad7b..92e35e80a58 100644 --- a/idea/ide-common/src/org/jetbrains/jet/plugin/codeInsight/ReferenceVariantsHelper.kt +++ b/idea/ide-common/src/org/jetbrains/jet/plugin/codeInsight/ReferenceVariantsHelper.kt @@ -173,7 +173,7 @@ public class ReferenceVariantsHelper( private fun getQualifierRuntimeType(receiver: JetExpression): JetType? { val type = context[BindingContext.EXPRESSION_TYPE, receiver] - if (TypeUtils.canHaveSubtypes(JetTypeChecker.DEFAULT, type)) { + if (type != null && TypeUtils.canHaveSubtypes(JetTypeChecker.DEFAULT, type)) { val evaluator = receiver.getContainingFile().getCopyableUserData(JetCodeFragment.RUNTIME_TYPE_EVALUATOR) return evaluator?.invoke(receiver) }