diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/provider/MembersCache.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/provider/MembersCache.java index 2eafd5b1130..f5b6fa5777b 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/provider/MembersCache.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/provider/MembersCache.java @@ -29,6 +29,7 @@ import org.jetbrains.jet.lang.resolve.java.prop.PropertyNameUtils; import org.jetbrains.jet.lang.resolve.java.prop.PropertyParseResult; import org.jetbrains.jet.lang.resolve.java.wrapper.*; import org.jetbrains.jet.lang.resolve.name.Name; +import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns; import java.util.Collection; import java.util.HashMap; @@ -126,7 +127,7 @@ public final class MembersCache { if (JetClassAnnotation.get(psiClass).kind() == JvmStdlibNames.FLAG_CLASS_KIND_OBJECT) { processObjectClass(psiClass); } - if (!DescriptorResolverUtils.isKotlinClass(psiClass) && isSamInterface(psiClass)) { + if (isSamInterface(psiClass)) { processSamInterface(psiClass); } } @@ -404,6 +405,10 @@ public final class MembersCache { if (DescriptorResolverUtils.isKotlinClass(psiClass)) { return false; } + String qualifiedName = psiClass.getQualifiedName(); + if (qualifiedName == null || qualifiedName.startsWith(KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME.getFqName() + ".")) { + return false; + } if (!psiClass.isInterface() || psiClass.isAnnotationType()) { return false; } diff --git a/idea/testData/completion/basic/java/PropertyMetadata.kt b/idea/testData/completion/basic/java/PropertyMetadata.kt index 69645b3b865..9ff24e328e8 100644 --- a/idea/testData/completion/basic/java/PropertyMetadata.kt +++ b/idea/testData/completion/basic/java/PropertyMetadata.kt @@ -8,4 +8,4 @@ fun firstFun() { // TIME: 1 // EXIST: PropertyMetadata@PropertyMetadata~(jet) // EXIST: PropertyMetadataImpl@PropertyMetadataImpl~(jet) -// NUMBER: 5 +// NUMBER: 4