Handle incorrect code for interface delegation

#KT-15931 Fixed Target versions 1.1.4
This commit is contained in:
Dmitry Petrov
2017-05-29 12:17:00 +03:00
parent 4f132f6d40
commit 78de1fb72c
3 changed files with 17 additions and 11 deletions
@@ -86,11 +86,13 @@ class DelegationTranslator(
fun generateDelegated() {
for (specifier in delegationBySpecifiers) {
generateDelegates(specifier, getSuperClass(specifier), fields[specifier]!!)
getSuperClass(specifier)?.let {
generateDelegates(specifier, it, fields[specifier]!!)
}
}
}
private fun getSuperClass(specifier: KtSuperTypeListEntry): ClassDescriptor =
private fun getSuperClass(specifier: KtSuperTypeListEntry): ClassDescriptor? =
CodegenUtil.getSuperClassBySuperTypeListEntry(specifier, bindingContext())
private fun generateDelegates(specifier: KtSuperTypeListEntry, toClass: ClassDescriptor, field: Field) {