Fix visibility check for dynamic members within protected method

#KT-11857 Fixed
This commit is contained in:
Denis Zharkov
2016-06-20 20:02:10 +03:00
parent 4a7a04e366
commit fe5fe63f0a
5 changed files with 25 additions and 1 deletions
@@ -23,6 +23,7 @@ import org.jetbrains.kotlin.resolve.DescriptorUtils;
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue;
import org.jetbrains.kotlin.resolve.scopes.receivers.SuperCallReceiverValue;
import org.jetbrains.kotlin.resolve.scopes.receivers.ThisClassReceiver;
import org.jetbrains.kotlin.types.DynamicTypesKt;
import org.jetbrains.kotlin.types.KotlinType;
import org.jetbrains.kotlin.util.ModuleVisibilityHelper;
import org.jetbrains.kotlin.utils.CollectionsKt;
@@ -192,7 +193,7 @@ public class Visibilities {
? ((SuperCallReceiverValue) receiver).getThisType()
: receiver.getType();
return DescriptorUtils.isSubtypeOfClass(actualReceiverType, fromClass);
return DescriptorUtils.isSubtypeOfClass(actualReceiverType, fromClass) || DynamicTypesKt.isDynamic(actualReceiverType);
}
};