[FIR] Use all implicit receivers for del. constructors, not just one
This commit is contained in:
+2
-2
@@ -4,8 +4,8 @@ open class Base {
|
||||
|
||||
class Derived : Base() {
|
||||
inner class InnerDerived : Inner() {
|
||||
inner class VeryInner : <!UNRESOLVED_REFERENCE!>Inner<!>() {
|
||||
inner class VeryVeryInner : <!UNRESOLVED_REFERENCE!>Inner<!>()
|
||||
inner class VeryInner : Inner() {
|
||||
inner class VeryVeryInner : Inner()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -24,12 +24,12 @@ FILE: innerClassHierarchy.kt
|
||||
|
||||
public final inner class VeryInner : R|Base.Inner| {
|
||||
public constructor(): R|Derived.InnerDerived.VeryInner| {
|
||||
super<R|Base.Inner|>()
|
||||
this@R|/Derived|.super<R|Base.Inner|>()
|
||||
}
|
||||
|
||||
public final inner class VeryVeryInner : R|Base.Inner| {
|
||||
public constructor(): R|Derived.InnerDerived.VeryInner.VeryVeryInner| {
|
||||
super<R|Base.Inner|>()
|
||||
this@R|/Derived|.super<R|Base.Inner|>()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+2
-3
@@ -208,11 +208,10 @@ class FirTowerResolverSession internal constructor(
|
||||
val scope = constructorClassSymbol.fir.unsubstitutedScope(session, components.scopeSession)
|
||||
if (constructorClassSymbol is FirRegularClassSymbol && constructorClassSymbol.fir.isInner) {
|
||||
// Search for inner constructors only
|
||||
// 1 because we search for inner constructor in outer class
|
||||
implicitReceiversUsableAsValues.getOrNull(1)?.let { (implicitReceiverValue) ->
|
||||
for ((implicitReceiverValue, depth) in implicitReceiversUsableAsValues.drop(1)) {
|
||||
processLevel(
|
||||
implicitReceiverValue.toMemberScopeTowerLevel(),
|
||||
info.copy(name = constructorClassSymbol.fir.name), TowerGroup.Member
|
||||
info.copy(name = constructorClassSymbol.fir.name), TowerGroup.Implicit(depth)
|
||||
)
|
||||
}
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user