Not loading SAM constructors for FunctionN classes.
This commit is contained in:
+6
-1
@@ -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.prop.PropertyParseResult;
|
||||||
import org.jetbrains.jet.lang.resolve.java.wrapper.*;
|
import org.jetbrains.jet.lang.resolve.java.wrapper.*;
|
||||||
import org.jetbrains.jet.lang.resolve.name.Name;
|
import org.jetbrains.jet.lang.resolve.name.Name;
|
||||||
|
import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@@ -126,7 +127,7 @@ public final class MembersCache {
|
|||||||
if (JetClassAnnotation.get(psiClass).kind() == JvmStdlibNames.FLAG_CLASS_KIND_OBJECT) {
|
if (JetClassAnnotation.get(psiClass).kind() == JvmStdlibNames.FLAG_CLASS_KIND_OBJECT) {
|
||||||
processObjectClass(psiClass);
|
processObjectClass(psiClass);
|
||||||
}
|
}
|
||||||
if (!DescriptorResolverUtils.isKotlinClass(psiClass) && isSamInterface(psiClass)) {
|
if (isSamInterface(psiClass)) {
|
||||||
processSamInterface(psiClass);
|
processSamInterface(psiClass);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -404,6 +405,10 @@ public final class MembersCache {
|
|||||||
if (DescriptorResolverUtils.isKotlinClass(psiClass)) {
|
if (DescriptorResolverUtils.isKotlinClass(psiClass)) {
|
||||||
return false;
|
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()) {
|
if (!psiClass.isInterface() || psiClass.isAnnotationType()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,4 +8,4 @@ fun firstFun() {
|
|||||||
// TIME: 1
|
// TIME: 1
|
||||||
// EXIST: PropertyMetadata@PropertyMetadata~(jet)
|
// EXIST: PropertyMetadata@PropertyMetadata~(jet)
|
||||||
// EXIST: PropertyMetadataImpl@PropertyMetadataImpl~(jet)
|
// EXIST: PropertyMetadataImpl@PropertyMetadataImpl~(jet)
|
||||||
// NUMBER: 5
|
// NUMBER: 4
|
||||||
|
|||||||
Reference in New Issue
Block a user