Do not fail when delegating to an (unsupported) dynamic type on the JVM

This commit is contained in:
Andrey Breslav
2014-12-01 06:18:14 +03:00
parent e10d29a10b
commit c9c16696f1
7 changed files with 56 additions and 1 deletions
@@ -25,7 +25,7 @@ import org.jetbrains.jet.utils.keysToMapExceptNulls
import org.jetbrains.jet.lang.resolve.DescriptorUtils
import org.jetbrains.jet.lang.resolve.MemberComparator
import java.util.Comparator
import org.jetbrains.jet.lang.resolve.scopes.JetScope
import org.jetbrains.jet.lang.types.isDynamic
public object CodegenUtilKt {
@@ -39,6 +39,7 @@ public object CodegenUtilKt {
toTrait: ClassDescriptor,
delegateExpressionType: JetType? = null
): Map<CallableMemberDescriptor, CallableDescriptor> {
if (delegateExpressionType?.isDynamic() ?: false) return mapOf();
return descriptor.getDefaultType().getMemberScope().getDescriptors().stream()
.filterIsInstance(javaClass<CallableMemberDescriptor>())