[PL] Fix: Constructor of external class may delegate to kotlin.Any regardless of the actual superclass
This commit is contained in:
committed by
Space Team
parent
997b6e6722
commit
b644fc009d
+4
-1
@@ -334,7 +334,10 @@ internal class PartiallyLinkedIrTreePatcher(
|
||||
val invalidConstructorDelegationFound =
|
||||
if (calledConstructor.origin != PartiallyLinkedDeclarationOrigin.MISSING_DECLARATION) {
|
||||
val constructedSuperClassSymbol = calledConstructor.parentAsClass.symbol
|
||||
constructedSuperClassSymbol != constructedClassSymbol && constructedSuperClassSymbol != actualSuperClassSymbol
|
||||
// Note: Constructor of an external class may delegate to kotlin.Any
|
||||
constructedSuperClassSymbol != constructedClassSymbol
|
||||
&& constructedSuperClassSymbol != actualSuperClassSymbol
|
||||
&& (!constructedClass.isExternal || constructedSuperClassSymbol != builtIns.anyClass)
|
||||
} else {
|
||||
// Fallback to signatures.
|
||||
(calledConstructorSymbol.signature as? IdSignature.CommonSignature)?.let { constructorSignature ->
|
||||
|
||||
Reference in New Issue
Block a user