034671ad78
See the comment at updateSubstitutedMemberIfReceiverContainsTypeVariable It became necessary after delegate inference is rewritten, since before that happened, stub types were being left there and FIR2IR handled them accidentally properly because stub types are equal to anything. But that wasn't really correct even there because stub types are not intended to leak out of the FIR ^KT-61060
85 lines
5.3 KiB
Plaintext
Vendored
85 lines
5.3 KiB
Plaintext
Vendored
FILE: WithValidityAssertion.kt
|
|
public abstract interface KtLifetimeToken : R|kotlin/Any| {
|
|
public abstract fun assertIsValid(): R|kotlin/Unit|
|
|
|
|
}
|
|
public abstract interface KtLifetimeTokenOwner : R|kotlin/Any| {
|
|
public abstract val token: R|KtLifetimeToken|
|
|
public get(): R|KtLifetimeToken|
|
|
|
|
}
|
|
public final inline fun R|KtLifetimeTokenOwner|.assertIsValid(): R|kotlin/Unit| {
|
|
this@R|/assertIsValid|.R|/KtLifetimeTokenOwner.token|.R|/KtLifetimeToken.assertIsValid|()
|
|
}
|
|
public final inline fun <R> R|KtLifetimeTokenOwner|.withValidityAssertion(action: R|() -> R|): R|R| {
|
|
this@R|/withValidityAssertion|.R|/assertIsValid|()
|
|
^withValidityAssertion R|<local>/action|.R|SubstitutionOverride<kotlin/Function0.invoke: R|R|>|()
|
|
}
|
|
public final class ValidityAwareCachedValue<T> : R|kotlin/properties/ReadOnlyProperty<kotlin/Any, T>| {
|
|
public constructor<T>(token: R|KtLifetimeToken|, init: R|() -> T|): R|ValidityAwareCachedValue<T>| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
private final val token: R|KtLifetimeToken| = R|<local>/token|
|
|
private get(): R|KtLifetimeToken|
|
|
|
|
private final val lazyValue: R|kotlin/Lazy<T>| = R|kotlin/lazy|<R|T|>(Q|kotlin/LazyThreadSafetyMode|.R|kotlin/LazyThreadSafetyMode.PUBLICATION|, R|<local>/init|)
|
|
private get(): R|kotlin/Lazy<T>|
|
|
|
|
@R|kotlin/Suppress|(names = vararg(String(UNCHECKED_CAST))) public open override operator fun getValue(thisRef: R|kotlin/Any|, property: R|kotlin/reflect/KProperty<*>|): R|T| {
|
|
this@R|/ValidityAwareCachedValue|.R|/ValidityAwareCachedValue.token|.R|/KtLifetimeToken.assertIsValid|()
|
|
^getValue this@R|/ValidityAwareCachedValue|.R|/ValidityAwareCachedValue.lazyValue|.R|SubstitutionOverride<kotlin/Lazy.value: R|T|>|
|
|
}
|
|
|
|
}
|
|
internal final fun <T> R|KtLifetimeTokenOwner|.cached(init: R|() -> T|): R|ValidityAwareCachedValue<T>| {
|
|
^cached R|/ValidityAwareCachedValue.ValidityAwareCachedValue|<R|T|>(this@R|/cached|.R|/KtLifetimeTokenOwner.token|, R|<local>/init|)
|
|
}
|
|
public final typealias KtScopeNameFilter = R|(kotlin/String) -> kotlin/Boolean|
|
|
public abstract class KtFirNonStarImportingScope : R|KtLifetimeTokenOwner| {
|
|
public constructor(firScope: R|FirScope|, builder: R|KtSymbolByFirBuilder|, token: R|KtLifetimeToken|): R|KtFirNonStarImportingScope| {
|
|
super<R|kotlin/Any|>()
|
|
}
|
|
|
|
private final val firScope: R|FirScope| = R|<local>/firScope|
|
|
private get(): R|FirScope|
|
|
|
|
private final val builder: R|KtSymbolByFirBuilder| = R|<local>/builder|
|
|
private get(): R|KtSymbolByFirBuilder|
|
|
|
|
public open override val token: R|KtLifetimeToken| = R|<local>/token|
|
|
public get(): R|KtLifetimeToken|
|
|
|
|
private final val imports: R|kotlin/collections/List<kotlin/String>|by this@R|/KtFirNonStarImportingScope|.R|/cached|<R|kotlin/collections/List<kotlin/String>|>(<L> = cached@fun <anonymous>(): R|kotlin/collections/List<kotlin/String>| <inline=NoInline> {
|
|
^ R|kotlin/collections/buildList|<R|kotlin/String|>(<L> = buildList@fun R|kotlin/collections/MutableList<kotlin/String>|.<anonymous>(): R|kotlin/Unit| <inline=Inline, kind=EXACTLY_ONCE> {
|
|
this@R|/KtFirNonStarImportingScope|.R|/KtFirNonStarImportingScope.getCallableNames|().R|kotlin/collections/forEach|<R|kotlin/String|>(<L> = forEach@fun <anonymous>(it: R|kotlin/String|): R|kotlin/Unit| <inline=Inline, kind=UNKNOWN> {
|
|
this@R|special/anonymous|.R|SubstitutionOverride<kotlin/collections/MutableList.add: R|kotlin/Boolean|>|(R|<local>/it|)
|
|
}
|
|
)
|
|
}
|
|
)
|
|
}
|
|
)
|
|
private get(): R|kotlin/collections/List<kotlin/String>| {
|
|
^ this@R|/KtFirNonStarImportingScope|.D|/KtFirNonStarImportingScope.imports|.R|SubstitutionOverride</ValidityAwareCachedValue.getValue: R|kotlin/collections/List<kotlin/String>|>|(this@R|/KtFirNonStarImportingScope|, ::R|/KtFirNonStarImportingScope.imports|)
|
|
}
|
|
|
|
public final fun getCallableSymbols(nameFilter: R|KtScopeNameFilter|): R|kotlin/sequences/Sequence<KtCallableSymbol>| {
|
|
^getCallableSymbols this@R|/KtFirNonStarImportingScope|.R|/withValidityAssertion|<R|kotlin/sequences/Sequence<KtCallableSymbol>|>(<L> = withValidityAssertion@fun <anonymous>(): R|kotlin/sequences/Sequence<KtCallableSymbol>| <inline=Inline, kind=UNKNOWN> {
|
|
^ this@R|/KtFirNonStarImportingScope|.R|/KtFirNonStarImportingScope.firScope|.R|/FirScope.getCallableSymbols|(this@R|/KtFirNonStarImportingScope|.R|/KtFirNonStarImportingScope.getCallableNames|().R|kotlin/collections/filter|<R|kotlin/String|>(R|<local>/nameFilter|), this@R|/KtFirNonStarImportingScope|.R|/KtFirNonStarImportingScope.builder|)
|
|
}
|
|
)
|
|
}
|
|
|
|
public abstract fun getCallableNames(): R|kotlin/collections/Set<kotlin/String>|
|
|
|
|
}
|
|
public abstract interface FirScope : R|kotlin/Any| {
|
|
public abstract fun getCallableSymbols(callableNames: R|kotlin/collections/Collection<kotlin/String>|, builder: R|KtSymbolByFirBuilder|): R|kotlin/sequences/Sequence<KtCallableSymbol>|
|
|
|
|
}
|
|
public abstract interface KtCallableSymbol : R|kotlin/Any| {
|
|
}
|
|
public abstract interface KtSymbolByFirBuilder : R|kotlin/Any| {
|
|
}
|