FIR: change callableId of fake overrides to derived class owner
This commit is contained in:
@@ -267,3 +267,8 @@ private fun FirTypeRef.collectCallableNamesFromThisAndSupertypes(
|
|||||||
}
|
}
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal tailrec fun FirCallableSymbol<*>.deepestOverriddenSymbol(): FirCallableSymbol<*> {
|
||||||
|
val overriddenSymbol = overriddenSymbol ?: return this
|
||||||
|
return overriddenSymbol.deepestOverriddenSymbol()
|
||||||
|
}
|
||||||
+5
-5
@@ -557,6 +557,11 @@ class Fir2IrDeclarationStorage(
|
|||||||
return if (shouldLeaveScope) cached else cached.enterLocalScope(function)
|
return if (shouldLeaveScope) cached else cached.enterLocalScope(function)
|
||||||
}
|
}
|
||||||
val created = create()
|
val created = create()
|
||||||
|
if (function.symbol.callableId.isKFunctionInvoke()) {
|
||||||
|
(function.symbol.overriddenSymbol as? FirNamedFunctionSymbol)?.let {
|
||||||
|
created.overriddenSymbols += (it.toFunctionSymbol(this) as IrSimpleFunctionSymbol)
|
||||||
|
}
|
||||||
|
}
|
||||||
functionCache[function] = created
|
functionCache[function] = created
|
||||||
return created
|
return created
|
||||||
}
|
}
|
||||||
@@ -902,11 +907,6 @@ class Fir2IrDeclarationStorage(
|
|||||||
val irDeclaration = getIrFunction(firDeclaration, irParent, shouldLeaveScope = true).apply {
|
val irDeclaration = getIrFunction(firDeclaration, irParent, shouldLeaveScope = true).apply {
|
||||||
setAndModifyParent(irParent)
|
setAndModifyParent(irParent)
|
||||||
}
|
}
|
||||||
if (firFunctionSymbol.callableId.isKFunctionInvoke()) {
|
|
||||||
(firFunctionSymbol.overriddenSymbol as? FirNamedFunctionSymbol)?.let {
|
|
||||||
irDeclaration.overriddenSymbols += (it.toFunctionSymbol(this) as IrSimpleFunctionSymbol)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
irSymbolTable.referenceSimpleFunction(irDeclaration.descriptor)
|
irSymbolTable.referenceSimpleFunction(irDeclaration.descriptor)
|
||||||
}
|
}
|
||||||
is FirAnonymousFunction -> {
|
is FirAnonymousFunction -> {
|
||||||
|
|||||||
@@ -318,7 +318,7 @@ class Fir2IrVisitor(
|
|||||||
val containingClass = if (firOverriddenSymbol == null || firFunctionSymbol == null) {
|
val containingClass = if (firOverriddenSymbol == null || firFunctionSymbol == null) {
|
||||||
lastClass
|
lastClass
|
||||||
} else {
|
} else {
|
||||||
val callableId = firFunctionSymbol.callableId
|
val callableId = firFunctionSymbol.deepestOverriddenSymbol().callableId
|
||||||
val ownerClassId = callableId.classId
|
val ownerClassId = callableId.classId
|
||||||
if (ownerClassId == null) {
|
if (ownerClassId == null) {
|
||||||
lastClass
|
lastClass
|
||||||
|
|||||||
@@ -77,7 +77,9 @@ class JavaScopeProvider(
|
|||||||
// We need JavaClassEnhancementScope here to have already enhanced signatures from supertypes
|
// We need JavaClassEnhancementScope here to have already enhanced signatures from supertypes
|
||||||
val scope = buildJavaEnhancementScope(useSiteSession, symbol, scopeSession, visitedSymbols)
|
val scope = buildJavaEnhancementScope(useSiteSession, symbol, scopeSession, visitedSymbols)
|
||||||
visitedSymbols.remove(symbol)
|
visitedSymbols.remove(symbol)
|
||||||
useSiteSuperType.wrapSubstitutionScopeIfNeed(useSiteSession, scope, symbol.fir, scopeSession)
|
useSiteSuperType.wrapSubstitutionScopeIfNeed(
|
||||||
|
useSiteSession, scope, symbol.fir, scopeSession, regularClass.classId
|
||||||
|
)
|
||||||
} else {
|
} else {
|
||||||
null
|
null
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ import org.jetbrains.kotlin.fir.scopes.impl.FirClassSubstitutionScope
|
|||||||
import org.jetbrains.kotlin.fir.scopes.unsubstitutedScope
|
import org.jetbrains.kotlin.fir.scopes.unsubstitutedScope
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||||
import org.jetbrains.kotlin.fir.types.*
|
import org.jetbrains.kotlin.fir.types.*
|
||||||
|
import org.jetbrains.kotlin.name.ClassId
|
||||||
|
|
||||||
abstract class SupertypeSupplier {
|
abstract class SupertypeSupplier {
|
||||||
abstract fun forClass(firClass: FirClass<*>): List<ConeClassLikeType>
|
abstract fun forClass(firClass: FirClass<*>): List<ConeClassLikeType>
|
||||||
@@ -80,7 +81,8 @@ fun ConeClassLikeType.wrapSubstitutionScopeIfNeed(
|
|||||||
session: FirSession,
|
session: FirSession,
|
||||||
useSiteMemberScope: FirScope,
|
useSiteMemberScope: FirScope,
|
||||||
declaration: FirClassLikeDeclaration<*>,
|
declaration: FirClassLikeDeclaration<*>,
|
||||||
builder: ScopeSession
|
builder: ScopeSession,
|
||||||
|
derivedClassId: ClassId? = null
|
||||||
): FirScope {
|
): FirScope {
|
||||||
if (this.typeArguments.isEmpty()) return useSiteMemberScope
|
if (this.typeArguments.isEmpty()) return useSiteMemberScope
|
||||||
return builder.getOrBuild(declaration.symbol, SubstitutionScopeKey(this)) {
|
return builder.getOrBuild(declaration.symbol, SubstitutionScopeKey(this)) {
|
||||||
@@ -95,10 +97,14 @@ fun ConeClassLikeType.wrapSubstitutionScopeIfNeed(
|
|||||||
val javaTypeParameters = javaClass.typeParameters
|
val javaTypeParameters = javaClass.typeParameters
|
||||||
val javaSubstitution = createSubstitution(javaTypeParameters, typeArguments, session)
|
val javaSubstitution = createSubstitution(javaTypeParameters, typeArguments, session)
|
||||||
FirClassSubstitutionScope(
|
FirClassSubstitutionScope(
|
||||||
session, useSiteMemberScope, builder, originalSubstitution + javaSubstitution, skipPrivateMembers = true
|
session, useSiteMemberScope, builder, originalSubstitution + javaSubstitution,
|
||||||
|
skipPrivateMembers = true, derivedClassId = derivedClassId
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
FirClassSubstitutionScope(session, useSiteMemberScope, builder, originalSubstitution, skipPrivateMembers = true)
|
FirClassSubstitutionScope(
|
||||||
|
session, useSiteMemberScope, builder, originalSubstitution,
|
||||||
|
skipPrivateMembers = true, derivedClassId = derivedClassId
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.scopes
|
|||||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||||
import org.jetbrains.kotlin.fir.FirSession
|
import org.jetbrains.kotlin.fir.FirSession
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirClass
|
import org.jetbrains.kotlin.fir.declarations.FirClass
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.classId
|
||||||
import org.jetbrains.kotlin.fir.resolve.*
|
import org.jetbrains.kotlin.fir.resolve.*
|
||||||
import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor
|
import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor
|
||||||
import org.jetbrains.kotlin.fir.resolve.substitution.substitutorByMap
|
import org.jetbrains.kotlin.fir.resolve.substitution.substitutorByMap
|
||||||
@@ -15,6 +16,7 @@ import org.jetbrains.kotlin.fir.scopes.impl.*
|
|||||||
import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
|
import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
|
||||||
import org.jetbrains.kotlin.fir.types.ConeClassErrorType
|
import org.jetbrains.kotlin.fir.types.ConeClassErrorType
|
||||||
import org.jetbrains.kotlin.fir.types.ConeClassLikeType
|
import org.jetbrains.kotlin.fir.types.ConeClassLikeType
|
||||||
|
import org.jetbrains.kotlin.name.ClassId
|
||||||
|
|
||||||
class KotlinScopeProvider(
|
class KotlinScopeProvider(
|
||||||
val declaredMemberScopeDecorator: (
|
val declaredMemberScopeDecorator: (
|
||||||
@@ -49,7 +51,7 @@ class KotlinScopeProvider(
|
|||||||
if (symbol is FirRegularClassSymbol) {
|
if (symbol is FirRegularClassSymbol) {
|
||||||
symbol.fir.scope(
|
symbol.fir.scope(
|
||||||
substitutor(symbol, useSiteSuperType, useSiteSession),
|
substitutor(symbol, useSiteSuperType, useSiteSession),
|
||||||
useSiteSession, scopeSession, skipPrivateMembers = true
|
useSiteSession, scopeSession, skipPrivateMembers = true, klass.classId
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
null
|
null
|
||||||
@@ -80,7 +82,9 @@ class KotlinScopeProvider(
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
data class ConeSubstitutionScopeKey(val substitutor: ConeSubstitutor) : ScopeSessionKey<FirClass<*>, FirClassSubstitutionScope>()
|
data class ConeSubstitutionScopeKey(
|
||||||
|
val classId: ClassId?, val substitutor: ConeSubstitutor
|
||||||
|
) : ScopeSessionKey<FirClass<*>, FirClassSubstitutionScope>()
|
||||||
|
|
||||||
fun FirClass<*>.unsubstitutedScope(useSiteSession: FirSession, scopeSession: ScopeSession): FirScope {
|
fun FirClass<*>.unsubstitutedScope(useSiteSession: FirSession, scopeSession: ScopeSession): FirScope {
|
||||||
return scopeProvider.getUseSiteMemberScope(this, useSiteSession, scopeSession)
|
return scopeProvider.getUseSiteMemberScope(this, useSiteSession, scopeSession)
|
||||||
@@ -90,7 +94,8 @@ internal fun FirClass<*>.scope(
|
|||||||
substitutor: ConeSubstitutor,
|
substitutor: ConeSubstitutor,
|
||||||
useSiteSession: FirSession,
|
useSiteSession: FirSession,
|
||||||
scopeSession: ScopeSession,
|
scopeSession: ScopeSession,
|
||||||
skipPrivateMembers: Boolean
|
skipPrivateMembers: Boolean,
|
||||||
|
classId: ClassId? = null
|
||||||
): FirScope {
|
): FirScope {
|
||||||
val basicScope = scopeProvider.getUseSiteMemberScope(
|
val basicScope = scopeProvider.getUseSiteMemberScope(
|
||||||
this, useSiteSession, scopeSession
|
this, useSiteSession, scopeSession
|
||||||
@@ -98,8 +103,8 @@ internal fun FirClass<*>.scope(
|
|||||||
if (substitutor == ConeSubstitutor.Empty) return basicScope
|
if (substitutor == ConeSubstitutor.Empty) return basicScope
|
||||||
|
|
||||||
return scopeSession.getOrBuild(
|
return scopeSession.getOrBuild(
|
||||||
this, ConeSubstitutionScopeKey(substitutor)
|
this, ConeSubstitutionScopeKey(classId, substitutor)
|
||||||
) {
|
) {
|
||||||
FirClassSubstitutionScope(useSiteSession, basicScope, scopeSession, substitutor, skipPrivateMembers)
|
FirClassSubstitutionScope(useSiteSession, basicScope, scopeSession, substitutor, skipPrivateMembers, classId)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+26
-12
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.fir.resolve.substitution.substitutorByMap
|
|||||||
import org.jetbrains.kotlin.fir.resolve.transformers.ReturnTypeCalculator
|
import org.jetbrains.kotlin.fir.resolve.transformers.ReturnTypeCalculator
|
||||||
import org.jetbrains.kotlin.fir.resolve.transformers.ReturnTypeCalculatorForFullBodyResolve
|
import org.jetbrains.kotlin.fir.resolve.transformers.ReturnTypeCalculatorForFullBodyResolve
|
||||||
import org.jetbrains.kotlin.fir.scopes.FirScope
|
import org.jetbrains.kotlin.fir.scopes.FirScope
|
||||||
|
import org.jetbrains.kotlin.fir.symbols.CallableId
|
||||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||||
import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef
|
import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef
|
||||||
@@ -25,6 +26,7 @@ import org.jetbrains.kotlin.fir.types.FirTypeRef
|
|||||||
import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef
|
import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef
|
||||||
import org.jetbrains.kotlin.fir.types.coneTypeUnsafe
|
import org.jetbrains.kotlin.fir.types.coneTypeUnsafe
|
||||||
import org.jetbrains.kotlin.fir.types.impl.ConeTypeParameterTypeImpl
|
import org.jetbrains.kotlin.fir.types.impl.ConeTypeParameterTypeImpl
|
||||||
|
import org.jetbrains.kotlin.name.ClassId
|
||||||
import org.jetbrains.kotlin.name.Name
|
import org.jetbrains.kotlin.name.Name
|
||||||
|
|
||||||
class FirClassSubstitutionScope(
|
class FirClassSubstitutionScope(
|
||||||
@@ -32,7 +34,8 @@ class FirClassSubstitutionScope(
|
|||||||
private val useSiteMemberScope: FirScope,
|
private val useSiteMemberScope: FirScope,
|
||||||
scopeSession: ScopeSession,
|
scopeSession: ScopeSession,
|
||||||
private val substitutor: ConeSubstitutor,
|
private val substitutor: ConeSubstitutor,
|
||||||
private val skipPrivateMembers: Boolean
|
private val skipPrivateMembers: Boolean,
|
||||||
|
private val derivedClassId: ClassId? = null
|
||||||
) : FirScope() {
|
) : FirScope() {
|
||||||
|
|
||||||
private val fakeOverrideFunctions = mutableMapOf<FirFunctionSymbol<*>, FirFunctionSymbol<*>>()
|
private val fakeOverrideFunctions = mutableMapOf<FirFunctionSymbol<*>, FirFunctionSymbol<*>>()
|
||||||
@@ -43,8 +46,8 @@ class FirClassSubstitutionScope(
|
|||||||
constructor(
|
constructor(
|
||||||
session: FirSession, useSiteMemberScope: FirScope, scopeSession: ScopeSession,
|
session: FirSession, useSiteMemberScope: FirScope, scopeSession: ScopeSession,
|
||||||
substitution: Map<FirTypeParameterSymbol, ConeKotlinType>,
|
substitution: Map<FirTypeParameterSymbol, ConeKotlinType>,
|
||||||
skipPrivateMembers: Boolean
|
skipPrivateMembers: Boolean, derivedClassId: ClassId? = null
|
||||||
) : this(session, useSiteMemberScope, scopeSession, substitutorByMap(substitution), skipPrivateMembers)
|
) : this(session, useSiteMemberScope, scopeSession, substitutorByMap(substitution), skipPrivateMembers, derivedClassId)
|
||||||
|
|
||||||
override fun processFunctionsByName(name: Name, processor: (FirFunctionSymbol<*>) -> Unit) {
|
override fun processFunctionsByName(name: Name, processor: (FirFunctionSymbol<*>) -> Unit) {
|
||||||
useSiteMemberScope.processFunctionsByName(name) process@{ original ->
|
useSiteMemberScope.processFunctionsByName(name) process@{ original ->
|
||||||
@@ -121,7 +124,7 @@ class FirClassSubstitutionScope(
|
|||||||
}
|
}
|
||||||
|
|
||||||
return createFakeOverrideFunction(
|
return createFakeOverrideFunction(
|
||||||
session, member, original, newReceiverType, newReturnType, newParameterTypes, newTypeParameters
|
session, member, original, newReceiverType, newReturnType, newParameterTypes, newTypeParameters, derivedClassId
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -183,7 +186,7 @@ class FirClassSubstitutionScope(
|
|||||||
return original
|
return original
|
||||||
}
|
}
|
||||||
|
|
||||||
return createFakeOverrideProperty(session, member, original, newReceiverType, newReturnType)
|
return createFakeOverrideProperty(session, member, original, newReceiverType, newReturnType, derivedClassId)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun createFakeOverrideField(original: FirFieldSymbol): FirFieldSymbol {
|
private fun createFakeOverrideField(original: FirFieldSymbol): FirFieldSymbol {
|
||||||
@@ -194,7 +197,7 @@ class FirClassSubstitutionScope(
|
|||||||
val returnType = typeCalculator.tryCalculateReturnType(member).type
|
val returnType = typeCalculator.tryCalculateReturnType(member).type
|
||||||
val newReturnType = returnType.substitute() ?: return original
|
val newReturnType = returnType.substitute() ?: return original
|
||||||
|
|
||||||
return createFakeOverrideField(session, member, original, newReturnType)
|
return createFakeOverrideField(session, member, original, newReturnType, derivedClassId)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun createFakeOverrideAccessor(original: FirAccessorSymbol): FirAccessorSymbol {
|
private fun createFakeOverrideAccessor(original: FirAccessorSymbol): FirAccessorSymbol {
|
||||||
@@ -272,9 +275,13 @@ class FirClassSubstitutionScope(
|
|||||||
newReceiverType: ConeKotlinType? = null,
|
newReceiverType: ConeKotlinType? = null,
|
||||||
newReturnType: ConeKotlinType? = null,
|
newReturnType: ConeKotlinType? = null,
|
||||||
newParameterTypes: List<ConeKotlinType?>? = null,
|
newParameterTypes: List<ConeKotlinType?>? = null,
|
||||||
newTypeParameters: List<FirTypeParameter>? = null
|
newTypeParameters: List<FirTypeParameter>? = null,
|
||||||
|
derivedClassId: ClassId? = null
|
||||||
): FirNamedFunctionSymbol {
|
): FirNamedFunctionSymbol {
|
||||||
val symbol = FirNamedFunctionSymbol(baseSymbol.callableId, true, baseSymbol)
|
val symbol = FirNamedFunctionSymbol(
|
||||||
|
CallableId(derivedClassId ?: baseSymbol.callableId.classId!!, baseFunction.name),
|
||||||
|
isFakeOverride = true, overriddenSymbol = baseSymbol
|
||||||
|
)
|
||||||
createFakeOverrideFunction(
|
createFakeOverrideFunction(
|
||||||
symbol, session, baseFunction, newReceiverType, newReturnType, newParameterTypes, newTypeParameters
|
symbol, session, baseFunction, newReceiverType, newReturnType, newParameterTypes, newTypeParameters
|
||||||
)
|
)
|
||||||
@@ -286,9 +293,13 @@ class FirClassSubstitutionScope(
|
|||||||
baseProperty: FirProperty,
|
baseProperty: FirProperty,
|
||||||
baseSymbol: FirPropertySymbol,
|
baseSymbol: FirPropertySymbol,
|
||||||
newReceiverType: ConeKotlinType? = null,
|
newReceiverType: ConeKotlinType? = null,
|
||||||
newReturnType: ConeKotlinType? = null
|
newReturnType: ConeKotlinType? = null,
|
||||||
|
derivedClassId: ClassId? = null
|
||||||
): FirPropertySymbol {
|
): FirPropertySymbol {
|
||||||
val symbol = FirPropertySymbol(baseSymbol.callableId, true, baseSymbol)
|
val symbol = FirPropertySymbol(
|
||||||
|
CallableId(derivedClassId ?: baseSymbol.callableId.classId!!, baseProperty.name),
|
||||||
|
isFakeOverride = true, overriddenSymbol = baseSymbol
|
||||||
|
)
|
||||||
buildProperty {
|
buildProperty {
|
||||||
source = baseProperty.source
|
source = baseProperty.source
|
||||||
this.session = session
|
this.session = session
|
||||||
@@ -309,9 +320,12 @@ class FirClassSubstitutionScope(
|
|||||||
session: FirSession,
|
session: FirSession,
|
||||||
baseField: FirField,
|
baseField: FirField,
|
||||||
baseSymbol: FirFieldSymbol,
|
baseSymbol: FirFieldSymbol,
|
||||||
newReturnType: ConeKotlinType? = null
|
newReturnType: ConeKotlinType? = null,
|
||||||
|
derivedClassId: ClassId? = null
|
||||||
): FirFieldSymbol {
|
): FirFieldSymbol {
|
||||||
val symbol = FirFieldSymbol(baseSymbol.callableId)
|
val symbol = FirFieldSymbol(
|
||||||
|
CallableId(derivedClassId ?: baseSymbol.callableId.classId!!, baseField.name)
|
||||||
|
)
|
||||||
buildField {
|
buildField {
|
||||||
source = baseField.source
|
source = baseField.source
|
||||||
this.session = session
|
this.session = session
|
||||||
|
|||||||
+1
-1
@@ -13,7 +13,7 @@ FILE: bareTypes.kt
|
|||||||
}
|
}
|
||||||
public final fun test2(a: R|A<kotlin/String>|): R|kotlin/Unit| {
|
public final fun test2(a: R|A<kotlin/String>|): R|kotlin/Unit| {
|
||||||
lval b: R|MutableString| = (R|<local>/a| as R|MutableString|)
|
lval b: R|MutableString| = (R|<local>/a| as R|MutableString|)
|
||||||
R|<local>/b|.R|FakeOverride</MutableA.add: R|kotlin/Unit|>|(String())
|
R|<local>/b|.R|FakeOverride</MutableString.add: R|kotlin/Unit|>|(String())
|
||||||
}
|
}
|
||||||
public final fun test3(a: R|A<kotlin/String>|): R|kotlin/Unit| {
|
public final fun test3(a: R|A<kotlin/String>|): R|kotlin/Unit| {
|
||||||
when () {
|
when () {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ FILE: test.kt
|
|||||||
}
|
}
|
||||||
|
|
||||||
public final override fun getLookupString(): R|kotlin/String| {
|
public final override fun getLookupString(): R|kotlin/String| {
|
||||||
^getLookupString this@R|/MyDecorator|.R|/Decorator.delegate|.R|/LookupElement.lookupString|
|
^getLookupString this@R|/MyDecorator|.R|/MyDecorator.delegate|.R|/LookupElement.lookupString|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ FILE: test.kt
|
|||||||
private final val DERIVED_FACTORY: R|DiagnosticFactory0<DerivedElement>| = R|/DiagnosticFactory0.DiagnosticFactory0|<R|DerivedElement|>()
|
private final val DERIVED_FACTORY: R|DiagnosticFactory0<DerivedElement>| = R|/DiagnosticFactory0.DiagnosticFactory0|<R|DerivedElement|>()
|
||||||
private get(): R|DiagnosticFactory0<DerivedElement>|
|
private get(): R|DiagnosticFactory0<DerivedElement>|
|
||||||
public final fun createViaFactory(d: R|EmptyDiagnostic|): R|kotlin/Unit| {
|
public final fun createViaFactory(d: R|EmptyDiagnostic|): R|kotlin/Unit| {
|
||||||
lval casted: R|Diagnostic<ft<DerivedElement, DerivedElement?>!>| = R|/DERIVED_FACTORY|.R|FakeOverride</DiagnosticFactory.cast: R|Diagnostic<ft<DerivedElement, DerivedElement?>!>|>|(R|<local>/d|)
|
lval casted: R|Diagnostic<ft<DerivedElement, DerivedElement?>!>| = R|/DERIVED_FACTORY|.R|FakeOverride</DiagnosticFactory0.cast: R|Diagnostic<ft<DerivedElement, DerivedElement?>!>|>|(R|<local>/d|)
|
||||||
lval element: R|DerivedElement| = R|<local>/casted|.R|/Diagnostic.element|
|
lval element: R|DerivedElement| = R|<local>/casted|.R|/Diagnostic.element|
|
||||||
R|/Fix.Fix|(R|<local>/element|)
|
R|/Fix.Fix|(R|<local>/element|)
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -16,7 +16,7 @@ FILE: genericPropertyAccess.kt
|
|||||||
}
|
}
|
||||||
|
|
||||||
public final override fun foo(): R|T| {
|
public final override fun foo(): R|T| {
|
||||||
^foo this@R|/Derived|.R|FakeOverride</Base.x: R|T|>|
|
^foo this@R|/Derived|.R|FakeOverride</Derived.x: R|T|>|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,5 +31,5 @@ FILE: importedReceiver.kt
|
|||||||
R|/My.baz|()
|
R|/My.baz|()
|
||||||
Boolean(true).R|/My.gau|()
|
Boolean(true).R|/My.gau|()
|
||||||
R|/Your.wat|()
|
R|/Your.wat|()
|
||||||
Boolean(false).R|FakeOverride</Your.watwat: R|kotlin/Unit|>|<R|kotlin/Boolean|>()
|
Boolean(false).R|FakeOverride</My.watwat: R|kotlin/Unit|>|<R|kotlin/Boolean|>()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ FILE: genericConstructors.kt
|
|||||||
}
|
}
|
||||||
|
|
||||||
public final fun bar(): R|kotlin/Unit| {
|
public final fun bar(): R|kotlin/Unit| {
|
||||||
this@R|/C|.R|FakeOverride</B.a: R|A<kotlin/String>|>|.R|FakeOverride</A.foo: R|kotlin/Unit|>|(String())
|
this@R|/C|.R|FakeOverride</C.a: R|A<kotlin/String>|>|.R|FakeOverride</A.foo: R|kotlin/Unit|>|(String())
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,6 +21,6 @@ FILE: protobufExt.kt
|
|||||||
^extF this@R|/extF|.R|FakeOverride</Message.ext: R|T|>|<R|T|>(R|<local>/e|)
|
^extF this@R|/extF|.R|FakeOverride</Message.ext: R|T|>|<R|T|>(R|<local>/e|)
|
||||||
}
|
}
|
||||||
public final fun foo(m: R|MyMessage|, e: R|MyExt|): R|kotlin/Unit| {
|
public final fun foo(m: R|MyMessage|, e: R|MyExt|): R|kotlin/Unit| {
|
||||||
R|<local>/m|.R|FakeOverride</Message.ext: R|T|>|<R|kotlin/String|>(R|<local>/e|)
|
R|<local>/m|.R|FakeOverride</MyMessage.ext: R|T|>|<R|kotlin/String|>(R|<local>/e|)
|
||||||
R|<local>/m|.R|/extF|<R|MyMessage|, R|kotlin/String|>(R|<local>/e|)
|
R|<local>/m|.R|/extF|<R|MyMessage|, R|kotlin/String|>(R|<local>/e|)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ FILE: simpleFakeOverride.kt
|
|||||||
}
|
}
|
||||||
|
|
||||||
public final fun test(): R|kotlin/Unit| {
|
public final fun test(): R|kotlin/Unit| {
|
||||||
this@R|/B|.R|FakeOverride</A.foo: R|Some|>|(R|/Some.Some|())
|
this@R|/B|.R|FakeOverride</B.foo: R|Some|>|(R|/Some.Some|())
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,5 +19,5 @@ FILE: supertypeGenerics.kt
|
|||||||
|
|
||||||
}
|
}
|
||||||
public final fun f(list: R|kotlin/collections/List<kotlin/Int>|, s: R|kotlin/collections/List<kotlin/String>|): R|kotlin/Unit| {
|
public final fun f(list: R|kotlin/collections/List<kotlin/Int>|, s: R|kotlin/collections/List<kotlin/String>|): R|kotlin/Unit| {
|
||||||
R|/C.C|().R|FakeOverride</Base.f: R|kotlin/Unit|>|<R|kotlin/Int|>(R|<local>/list|, R|<local>/s|)
|
R|/C.C|().R|FakeOverride</C.f: R|kotlin/Unit|>|<R|kotlin/Int|>(R|<local>/list|, R|<local>/s|)
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -23,6 +23,6 @@ FILE: supertypeGenericsComplex.kt
|
|||||||
|
|
||||||
}
|
}
|
||||||
public final fun f(list: R|kotlin/collections/MutableList<X>|, s: R|kotlin/collections/MutableList<kotlin/CharSequence>|): R|kotlin/Unit| {
|
public final fun f(list: R|kotlin/collections/MutableList<X>|, s: R|kotlin/collections/MutableList<kotlin/CharSequence>|): R|kotlin/Unit| {
|
||||||
R|/C.C|().R|FakeOverride</Base.f: R|kotlin/Unit|>|<R|X|>(R|<local>/list|, R|<local>/s|)
|
R|/C.C|().R|FakeOverride</C.f: R|kotlin/Unit|>|<R|X|>(R|<local>/list|, R|<local>/s|)
|
||||||
R|/C.C|().<Inapplicable(INAPPLICABLE): [/Base.f]>#(R|<local>/s|, R|<local>/list|)
|
R|/C.C|().<Inapplicable(INAPPLICABLE): [/C.f]>#(R|<local>/s|, R|<local>/list|)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
FILE: main.kt
|
FILE: main.kt
|
||||||
public final fun main(x: R|kotlin/collections/MutableCollection<kotlin/collections/Set<kotlin/String>>|): R|kotlin/Unit| {
|
public final fun main(x: R|kotlin/collections/MutableCollection<kotlin/collections/Set<kotlin/String>>|): R|kotlin/Unit| {
|
||||||
lval y: R|ft<kotlin/collections/MutableList<ft<kotlin/String, kotlin/String?>!>, kotlin/collections/List<ft<kotlin/String, kotlin/String?>!>?>!| = Q|ContainerUtil|.R|/ContainerUtil.flatten|<R|ft<kotlin/String, kotlin/String?>!|>(R|<local>/x|)
|
lval y: R|ft<kotlin/collections/MutableList<ft<kotlin/String, kotlin/String?>!>, kotlin/collections/List<ft<kotlin/String, kotlin/String?>!>?>!| = Q|ContainerUtil|.R|/ContainerUtil.flatten|<R|ft<kotlin/String, kotlin/String?>!|>(R|<local>/x|)
|
||||||
R|<local>/y|.R|FakeOverride<kotlin/collections/List.get: R|ft<kotlin/String, kotlin/String?>!|>|(Int(0)).R|kotlin/String.length|
|
R|<local>/y|.R|FakeOverride<kotlin/collections/MutableList.get: R|ft<kotlin/String, kotlin/String?>!|>|(Int(0)).R|kotlin/String.length|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ FILE: addAllOnJavaCollection.kt
|
|||||||
public final fun foo(): R|kotlin/Unit| {
|
public final fun foo(): R|kotlin/Unit| {
|
||||||
lval y: R|kotlin/collections/List<kotlin/String>| = R|kotlin/collections/listOf|<R|kotlin/String|>(vararg(String(Alpha), String(Beta)))
|
lval y: R|kotlin/collections/List<kotlin/String>| = R|kotlin/collections/listOf|<R|kotlin/String|>(vararg(String(Alpha), String(Beta)))
|
||||||
lval x: R|java/util/LinkedHashSet<kotlin/String>| = R|java/util/LinkedHashSet.LinkedHashSet|<R|kotlin/String|>().R|kotlin/apply|<R|java/util/LinkedHashSet<kotlin/String>|>(<L> = apply@fun R|java/util/LinkedHashSet<kotlin/String>|.<anonymous>(): R|kotlin/Unit| <kind=EXACTLY_ONCE> {
|
lval x: R|java/util/LinkedHashSet<kotlin/String>| = R|java/util/LinkedHashSet.LinkedHashSet|<R|kotlin/String|>().R|kotlin/apply|<R|java/util/LinkedHashSet<kotlin/String>|>(<L> = apply@fun R|java/util/LinkedHashSet<kotlin/String>|.<anonymous>(): R|kotlin/Unit| <kind=EXACTLY_ONCE> {
|
||||||
^ this@R|special/anonymous|.R|FakeOverride<java/util/AbstractCollection.addAll: R|kotlin/Boolean|>|(R|<local>/y|)
|
^ this@R|special/anonymous|.R|FakeOverride<java/util/LinkedHashSet.addAll: R|kotlin/Boolean|>|(R|<local>/y|)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
lval z: R|java/util/ArrayList<kotlin/String>| = R|java/util/ArrayList.ArrayList|<R|kotlin/String|>()
|
lval z: R|java/util/ArrayList<kotlin/String>| = R|java/util/ArrayList.ArrayList|<R|kotlin/String|>()
|
||||||
|
|||||||
+1
-1
@@ -19,5 +19,5 @@ FILE: ifWithCR.kt
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
R|<local>/x|.R|FakeOverride<kotlin/reflect/KProperty0.get: R|kotlin/CharSequence?|>|()
|
R|<local>/x|.R|FakeOverride<kotlin/reflect/KMutableProperty0.get: R|kotlin/CharSequence?|>|()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ FILE: Derived.kt
|
|||||||
}
|
}
|
||||||
|
|
||||||
public final fun test(): R|kotlin/Unit| {
|
public final fun test(): R|kotlin/Unit| {
|
||||||
this@R|/Derived|.R|/JavaClass.myHost|.R|kotlin/String.length|
|
this@R|/Derived|.R|/Derived.myHost|.R|kotlin/String.length|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -6,8 +6,8 @@ FILE: K1.kt
|
|||||||
|
|
||||||
}
|
}
|
||||||
public final fun main(k: R|KSub|, vString: R|SuperClass.NestedInSuperClass<kotlin/String>|, vInt: R|SuperClass.NestedInSuperClass<kotlin/Int>|): R|kotlin/Unit| {
|
public final fun main(k: R|KSub|, vString: R|SuperClass.NestedInSuperClass<kotlin/String>|, vInt: R|SuperClass.NestedInSuperClass<kotlin/Int>|): R|kotlin/Unit| {
|
||||||
R|<local>/k|.R|/J1.getImpl|().R|FakeOverride</SuperI.NestedInI.nestedI: R|kotlin/Unit|>|(R|<local>/vString|)
|
R|<local>/k|.R|/J1.getImpl|().R|FakeOverride</J1.NestedIImpl.nestedI: R|kotlin/Unit|>|(R|<local>/vString|)
|
||||||
R|<local>/k|.R|/J1.getImpl|().R|FakeOverride</SuperI.NestedInI.nestedI: R|kotlin/Unit|>|(R|<local>/vInt|)
|
R|<local>/k|.R|/J1.getImpl|().R|FakeOverride</J1.NestedIImpl.nestedI: R|kotlin/Unit|>|(R|<local>/vInt|)
|
||||||
R|<local>/k|.R|/J1.getNestedSubClass|().<Inapplicable(INAPPLICABLE): [/SuperClass.NestedInSuperClass.nested]>#(String())
|
R|<local>/k|.R|/J1.getNestedSubClass|().<Inapplicable(INAPPLICABLE): [/SuperClass.NestedInSuperClass.nested]>#(String())
|
||||||
R|<local>/k|.R|/J1.getNestedSubClass|().R|/SuperClass.NestedInSuperClass.nested|(Int(1))
|
R|<local>/k|.R|/J1.getNestedSubClass|().R|/SuperClass.NestedInSuperClass.nested|(Int(1))
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -16,7 +16,7 @@ FILE: K2.kt
|
|||||||
}
|
}
|
||||||
|
|
||||||
public final fun bar(): R|kotlin/Unit| {
|
public final fun bar(): R|kotlin/Unit| {
|
||||||
this@R|/K2|.R|FakeOverride</KFirst.foo: R|ft<kotlin/Int, kotlin/Int?>!|>|(Int(1))
|
this@R|/K2|.R|FakeOverride</J1.foo: R|ft<kotlin/Int, kotlin/Int?>!|>|(Int(1))
|
||||||
this@R|/K2|.R|/J1.baz|()
|
this@R|/K2|.R|/J1.baz|()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
FILE: test.kt
|
FILE: test.kt
|
||||||
public abstract interface UseIterable : R|MyIterable<kotlin/String>| {
|
public abstract interface UseIterable : R|MyIterable<kotlin/String>| {
|
||||||
public open fun test(): R|kotlin/Unit| {
|
public open fun test(): R|kotlin/Unit| {
|
||||||
lval it: R|kotlin/collections/MutableIterator<ft<kotlin/String, kotlin/String?>!>| = this@R|/UseIterable|.R|FakeOverride<kotlin/collections/MutableIterable.iterator: R|kotlin/collections/MutableIterator<ft<kotlin/String, kotlin/String?>!>|>|()
|
lval it: R|kotlin/collections/MutableIterator<ft<kotlin/String, kotlin/String?>!>| = this@R|/UseIterable|.R|FakeOverride</UseIterable.iterator: R|kotlin/collections/MutableIterator<ft<kotlin/String, kotlin/String?>!>|>|()
|
||||||
lval split: R|java/util/Spliterator<ft<kotlin/String, kotlin/String?>!>| = this@R|/UseIterable|.R|FakeOverride<java/lang/Iterable.spliterator: R|java/util/Spliterator<ft<kotlin/String, kotlin/String?>!>|>|()
|
lval split: R|java/util/Spliterator<ft<kotlin/String, kotlin/String?>!>| = this@R|/UseIterable|.R|FakeOverride</UseIterable.spliterator: R|java/util/Spliterator<ft<kotlin/String, kotlin/String?>!>|>|()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,9 +4,9 @@ FILE: test.kt
|
|||||||
^ String(value)
|
^ String(value)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
lval otherResult: R|ft<kotlin/String, kotlin/String?>!| = R|<local>/map|.R|FakeOverride<java/util/Map.getOrDefault: R|ft<kotlin/String, kotlin/String?>!|>|(String(key), String(value))
|
lval otherResult: R|ft<kotlin/String, kotlin/String?>!| = R|<local>/map|.R|FakeOverride</MyMap.getOrDefault: R|ft<kotlin/String, kotlin/String?>!|>|(String(key), String(value))
|
||||||
lval anotherResult: R|kotlin/String?| = R|<local>/map|.R|FakeOverride<java/util/Map.replace: R|kotlin/String?|>|(String(key), String(value))
|
lval anotherResult: R|kotlin/String?| = R|<local>/map|.R|FakeOverride</MyMap.replace: R|kotlin/String?|>|(String(key), String(value))
|
||||||
R|<local>/map|.R|FakeOverride<java/util/Map.forEach: R|kotlin/Unit|>|(<L> = forEach@fun <anonymous>(key: R|ft<kotlin/String, kotlin/String?>!|, value: R|ft<kotlin/String, kotlin/String?>!|): R|kotlin/Unit| {
|
R|<local>/map|.R|FakeOverride</MyMap.forEach: R|kotlin/Unit|>|(<L> = forEach@fun <anonymous>(key: R|ft<kotlin/String, kotlin/String?>!|, value: R|ft<kotlin/String, kotlin/String?>!|): R|kotlin/Unit| {
|
||||||
R|kotlin/io/println|(<strcat>(R|<local>/key|.R|kotlin/Any.toString|(), String(: ), R|<local>/value|.R|kotlin/Any.toString|()))
|
R|kotlin/io/println|(<strcat>(R|<local>/key|.R|kotlin/Any.toString|(), String(: ), R|<local>/value|.R|kotlin/Any.toString|()))
|
||||||
R|<local>/key|.R|kotlin/String.length|
|
R|<local>/key|.R|kotlin/String.length|
|
||||||
^ R|<local>/value|.R|kotlin/String.length|
|
^ R|<local>/value|.R|kotlin/String.length|
|
||||||
@@ -26,7 +26,7 @@ FILE: test.kt
|
|||||||
^ String(value)
|
^ String(value)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
lval otherResult: R|kotlin/String| = R|<local>/map|.R|FakeOverride<kotlin/collections/Map.getOrDefault: R|kotlin/String|>|(String(key), String(value))
|
lval otherResult: R|kotlin/String| = R|<local>/map|.R|FakeOverride<kotlin/collections/MutableMap.getOrDefault: R|kotlin/String|>|(String(key), String(value))
|
||||||
lval anotherResult: R|kotlin/String?| = R|<local>/map|.R|FakeOverride<java/util/Map.replace: R|kotlin/String?|>|(String(key), String(value))
|
lval anotherResult: R|kotlin/String?| = R|<local>/map|.R|FakeOverride<java/util/Map.replace: R|kotlin/String?|>|(String(key), String(value))
|
||||||
R|<local>/map|.R|FakeOverride<java/util/Map.forEach: R|kotlin/Unit|>|(<L> = forEach@fun <anonymous>(key: R|ft<kotlin/String, kotlin/String?>!|, value: R|ft<kotlin/String, kotlin/String?>!|): R|kotlin/Unit| {
|
R|<local>/map|.R|FakeOverride<java/util/Map.forEach: R|kotlin/Unit|>|(<L> = forEach@fun <anonymous>(key: R|ft<kotlin/String, kotlin/String?>!|, value: R|ft<kotlin/String, kotlin/String?>!|): R|kotlin/Unit| {
|
||||||
R|kotlin/io/println|(<strcat>(R|<local>/key|.R|kotlin/Any.toString|(), String(: ), R|<local>/value|.R|kotlin/Any.toString|()))
|
R|kotlin/io/println|(<strcat>(R|<local>/key|.R|kotlin/Any.toString|(), String(: ), R|<local>/value|.R|kotlin/Any.toString|()))
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ FILE: problems.kt
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
public final val xx: R|kotlin/Int| = R|/Derived.Derived|().R|FakeOverride</Base.x: R|kotlin/Int|>|.R|kotlin/Int.plus|(Int(1))
|
public final val xx: R|kotlin/Int| = R|/Derived.Derived|().R|FakeOverride</Derived.x: R|kotlin/Int|>|.R|kotlin/Int.plus|(Int(1))
|
||||||
public get(): R|kotlin/Int|
|
public get(): R|kotlin/Int|
|
||||||
public final val t: R|kotlin/Nothing| = throw R|java/lang/AssertionError.AssertionError|(String())
|
public final val t: R|kotlin/Nothing| = throw R|java/lang/AssertionError.AssertionError|(String())
|
||||||
public get(): R|kotlin/Nothing|
|
public get(): R|kotlin/Nothing|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
FILE: removeOnAbstractMap.kt
|
FILE: removeOnAbstractMap.kt
|
||||||
public final fun test(map: R|java/util/AbstractMap<kotlin/String, kotlin/Int>|): R|kotlin/Unit| {
|
public final fun test(map: R|java/util/AbstractMap<kotlin/String, kotlin/Int>|): R|kotlin/Unit| {
|
||||||
R|<local>/map|.R|FakeOverride<kotlin/collections/MutableMap.remove: R|kotlin/Boolean|>|(String(), Null(null))
|
R|<local>/map|.R|FakeOverride<java/util/AbstractMap.remove: R|kotlin/Boolean|>|(String(), Null(null))
|
||||||
R|<local>/map|.R|FakeOverride<java/util/AbstractMap.remove: R|kotlin/Int?|>|(Null(null))
|
R|<local>/map|.R|FakeOverride<java/util/AbstractMap.remove: R|kotlin/Int?|>|(Null(null))
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
FILE: typeAliasDeserialization.kt
|
FILE: typeAliasDeserialization.kt
|
||||||
public final fun main(): R|kotlin/Unit| {
|
public final fun main(): R|kotlin/Unit| {
|
||||||
lval a: R|java/util/LinkedHashSet<kotlin/String>| = R|java/util/LinkedHashSet.LinkedHashSet|<R|kotlin/String|>()
|
lval a: R|java/util/LinkedHashSet<kotlin/String>| = R|java/util/LinkedHashSet.LinkedHashSet|<R|kotlin/String|>()
|
||||||
R|<local>/a|.R|FakeOverride<java/util/HashSet.add: R|kotlin/Boolean|>|(String())
|
R|<local>/a|.R|FakeOverride<java/util/LinkedHashSet.add: R|kotlin/Boolean|>|(String())
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
FILE: typeParameterDerived.kt
|
FILE: typeParameterDerived.kt
|
||||||
public final inline fun <K, V, VA : R|V|> R|kotlin/collections/MutableMap<K, V>|.getOrPut(key: R|K|, defaultValue: R|(K) -> VA|, postCompute: R|(VA) -> kotlin/Unit|): R|V| {
|
public final inline fun <K, V, VA : R|V|> R|kotlin/collections/MutableMap<K, V>|.getOrPut(key: R|K|, defaultValue: R|(K) -> VA|, postCompute: R|(VA) -> kotlin/Unit|): R|V| {
|
||||||
lval value: R|V?| = this@R|/getOrPut|.R|FakeOverride<kotlin/collections/Map.get: R|V?|>|(R|<local>/key|)
|
lval value: R|V?| = this@R|/getOrPut|.R|FakeOverride<kotlin/collections/MutableMap.get: R|V?|>|(R|<local>/key|)
|
||||||
^getOrPut when () {
|
^getOrPut when () {
|
||||||
==(R|<local>/value|, Null(null)) -> {
|
==(R|<local>/value|, Null(null)) -> {
|
||||||
lval answer: R|VA| = R|<local>/defaultValue|.R|FakeOverride<kotlin/Function1.invoke: R|VA|>|(R|<local>/key|)
|
lval answer: R|VA| = R|<local>/defaultValue|.R|FakeOverride<kotlin/Function1.invoke: R|VA|>|(R|<local>/key|)
|
||||||
|
|||||||
-1
@@ -1,4 +1,3 @@
|
|||||||
// IGNORE_BACKEND_FIR: JVM_IR
|
|
||||||
fun box(): String {
|
fun box(): String {
|
||||||
if ((Boolean::not)(true) != false) return "Fail 1"
|
if ((Boolean::not)(true) != false) return "Fail 1"
|
||||||
if ((Boolean::not)(false) != true) return "Fail 2"
|
if ((Boolean::not)(false) != true) return "Fail 2"
|
||||||
|
|||||||
-1
@@ -1,4 +1,3 @@
|
|||||||
// IGNORE_BACKEND_FIR: JVM_IR
|
|
||||||
class A {
|
class A {
|
||||||
class Nested {
|
class Nested {
|
||||||
val o = 111
|
val o = 111
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// IGNORE_BACKEND_FIR: JVM_IR
|
|
||||||
// IGNORE_BACKEND: JS_IR
|
// IGNORE_BACKEND: JS_IR
|
||||||
// TODO: muted automatically, investigate should it be ran for JS or not
|
// TODO: muted automatically, investigate should it be ran for JS or not
|
||||||
// IGNORE_BACKEND: JS, NATIVE
|
// IGNORE_BACKEND: JS, NATIVE
|
||||||
|
|||||||
+6
-6
@@ -175,22 +175,22 @@ FILE fqName:<root> fileName:/kt30020.kt
|
|||||||
VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int
|
VALUE_PARAMETER name:toIndex index:1 type:kotlin.Int
|
||||||
FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List<E of kotlin.collections.List>, element:kotlin.Int) returnType:kotlin.Boolean [fake_override,operator]
|
FUN FAKE_OVERRIDE name:contains visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List<E of kotlin.collections.List>, element:kotlin.Int) returnType:kotlin.Boolean [fake_override,operator]
|
||||||
overridden:
|
overridden:
|
||||||
public abstract fun contains (element: E of kotlin.collections.MutableList): kotlin.Boolean [operator] declared in kotlin.collections.List
|
public abstract fun contains (element: E of kotlin.collections.MutableList): kotlin.Boolean [operator] declared in kotlin.collections.MutableList
|
||||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.List<E of kotlin.collections.List>
|
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.List<E of kotlin.collections.List>
|
||||||
VALUE_PARAMETER name:element index:0 type:kotlin.Int
|
VALUE_PARAMETER name:element index:0 type:kotlin.Int
|
||||||
FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List<E of kotlin.collections.List>, elements:kotlin.collections.Collection<kotlin.Int>) returnType:kotlin.Boolean [fake_override]
|
FUN FAKE_OVERRIDE name:containsAll visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List<E of kotlin.collections.List>, elements:kotlin.collections.Collection<kotlin.Int>) returnType:kotlin.Boolean [fake_override]
|
||||||
overridden:
|
overridden:
|
||||||
public abstract fun containsAll (elements: kotlin.collections.Collection<E of kotlin.collections.MutableList>): kotlin.Boolean declared in kotlin.collections.List
|
public abstract fun containsAll (elements: kotlin.collections.Collection<E of kotlin.collections.MutableList>): kotlin.Boolean declared in kotlin.collections.MutableList
|
||||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.List<E of kotlin.collections.List>
|
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.List<E of kotlin.collections.List>
|
||||||
VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<kotlin.Int>
|
VALUE_PARAMETER name:elements index:0 type:kotlin.collections.Collection<kotlin.Int>
|
||||||
FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List<E of kotlin.collections.List>, index:kotlin.Int) returnType:kotlin.Int [fake_override,operator]
|
FUN FAKE_OVERRIDE name:get visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List<E of kotlin.collections.List>, index:kotlin.Int) returnType:kotlin.Int [fake_override,operator]
|
||||||
overridden:
|
overridden:
|
||||||
public abstract fun get (index: kotlin.Int): E of kotlin.collections.MutableList [operator] declared in kotlin.collections.List
|
public abstract fun get (index: kotlin.Int): E of kotlin.collections.MutableList [operator] declared in kotlin.collections.MutableList
|
||||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.List<E of kotlin.collections.List>
|
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.List<E of kotlin.collections.List>
|
||||||
VALUE_PARAMETER name:index index:0 type:kotlin.Int
|
VALUE_PARAMETER name:index index:0 type:kotlin.Int
|
||||||
FUN FAKE_OVERRIDE name:indexOf visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List<E of kotlin.collections.List>, element:kotlin.Int) returnType:kotlin.Int [fake_override]
|
FUN FAKE_OVERRIDE name:indexOf visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List<E of kotlin.collections.List>, element:kotlin.Int) returnType:kotlin.Int [fake_override]
|
||||||
overridden:
|
overridden:
|
||||||
public abstract fun indexOf (element: E of kotlin.collections.MutableList): kotlin.Int declared in kotlin.collections.List
|
public abstract fun indexOf (element: E of kotlin.collections.MutableList): kotlin.Int declared in kotlin.collections.MutableList
|
||||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.List<E of kotlin.collections.List>
|
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.List<E of kotlin.collections.List>
|
||||||
VALUE_PARAMETER name:element index:0 type:kotlin.Int
|
VALUE_PARAMETER name:element index:0 type:kotlin.Int
|
||||||
FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List<E of kotlin.collections.List>) returnType:kotlin.Boolean [fake_override]
|
FUN FAKE_OVERRIDE name:isEmpty visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List<E of kotlin.collections.List>) returnType:kotlin.Boolean [fake_override]
|
||||||
@@ -199,11 +199,11 @@ FILE fqName:<root> fileName:/kt30020.kt
|
|||||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.List<E of kotlin.collections.List>
|
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.List<E of kotlin.collections.List>
|
||||||
FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<E of kotlin.collections.MutableCollection>) returnType:kotlin.collections.MutableIterator<kotlin.Int> [fake_override,operator]
|
FUN FAKE_OVERRIDE name:iterator visibility:public modality:ABSTRACT <> ($this:kotlin.collections.MutableCollection<E of kotlin.collections.MutableCollection>) returnType:kotlin.collections.MutableIterator<kotlin.Int> [fake_override,operator]
|
||||||
overridden:
|
overridden:
|
||||||
public abstract fun iterator (): kotlin.collections.MutableIterator<E of kotlin.collections.MutableList> [operator] declared in kotlin.collections.MutableCollection
|
public abstract fun iterator (): kotlin.collections.MutableIterator<E of kotlin.collections.MutableList> [operator] declared in kotlin.collections.MutableList
|
||||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableCollection<E of kotlin.collections.MutableCollection>
|
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableCollection<E of kotlin.collections.MutableCollection>
|
||||||
FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List<E of kotlin.collections.List>, element:kotlin.Int) returnType:kotlin.Int [fake_override]
|
FUN FAKE_OVERRIDE name:lastIndexOf visibility:public modality:ABSTRACT <> ($this:kotlin.collections.List<E of kotlin.collections.List>, element:kotlin.Int) returnType:kotlin.Int [fake_override]
|
||||||
overridden:
|
overridden:
|
||||||
public abstract fun lastIndexOf (element: E of kotlin.collections.MutableList): kotlin.Int declared in kotlin.collections.List
|
public abstract fun lastIndexOf (element: E of kotlin.collections.MutableList): kotlin.Int declared in kotlin.collections.MutableList
|
||||||
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.List<E of kotlin.collections.List>
|
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.List<E of kotlin.collections.List>
|
||||||
VALUE_PARAMETER name:element index:0 type:kotlin.Int
|
VALUE_PARAMETER name:element index:0 type:kotlin.Int
|
||||||
PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [fake_override,val]
|
PROPERTY FAKE_OVERRIDE name:size visibility:public modality:ABSTRACT [fake_override,val]
|
||||||
|
|||||||
@@ -242,7 +242,7 @@ FILE fqName:<root> fileName:/useImportedMember.kt
|
|||||||
BRANCH
|
BRANCH
|
||||||
if: CALL 'public final fun not (): kotlin.Boolean [operator] declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
|
if: CALL 'public final fun not (): kotlin.Boolean [operator] declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
|
||||||
$this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
|
$this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
|
||||||
arg0: CALL 'public open fun fromInterface <T> (): T of <root>.I.fromInterface declared in <root>.I' type=kotlin.Int origin=null
|
arg0: CALL 'public open fun fromInterface <T> (): T of <root>.C.fromInterface declared in <root>.C' type=kotlin.Int origin=null
|
||||||
<T>: kotlin.Int
|
<T>: kotlin.Int
|
||||||
$this: CONST Int type=kotlin.Int value=9
|
$this: CONST Int type=kotlin.Int value=9
|
||||||
$receiver: CONST Int type=kotlin.Int value=9
|
$receiver: CONST Int type=kotlin.Int value=9
|
||||||
@@ -264,7 +264,8 @@ FILE fqName:<root> fileName:/useImportedMember.kt
|
|||||||
BRANCH
|
BRANCH
|
||||||
if: CALL 'public final fun not (): kotlin.Boolean [operator] declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
|
if: CALL 'public final fun not (): kotlin.Boolean [operator] declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
|
||||||
$this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
|
$this: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
|
||||||
arg0: CALL 'public open fun genericFromSuper (g: kotlin.String): kotlin.String declared in <root>.I' type=kotlin.String origin=null
|
arg0: CALL 'public open fun genericFromSuper (g: kotlin.String): kotlin.String declared in <root>.C' type=kotlin.String origin=null
|
||||||
|
$this: GET_OBJECT 'CLASS OBJECT name:C modality:FINAL visibility:public superTypes:[<root>.BaseClass; <root>.I<kotlin.String>]' type=<root>.C
|
||||||
g: CONST String type=kotlin.String value="11"
|
g: CONST String type=kotlin.String value="11"
|
||||||
arg1: CONST String type=kotlin.String value="11"
|
arg1: CONST String type=kotlin.String value="11"
|
||||||
then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
|
then: RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
|
||||||
|
|||||||
+1
-1
@@ -27,7 +27,7 @@ FILE fqName:<root> fileName:/builtinMap.kt
|
|||||||
$receiver: VALUE_PARAMETER name:<this> type:java.util.LinkedHashMap<K1 of <root>.plus?, V1 of <root>.plus?>
|
$receiver: VALUE_PARAMETER name:<this> type:java.util.LinkedHashMap<K1 of <root>.plus?, V1 of <root>.plus?>
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.Unit declared in <root>.plus'
|
RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.Unit declared in <root>.plus'
|
||||||
CALL 'public open fun put (p0: K1 of <root>.plus?, p1: V1 of <root>.plus?): V1 of <root>.plus? declared in java.util.HashMap' type=V1 of <root>.plus? origin=null
|
CALL 'public open fun put (p0: K1 of <root>.plus?, p1: V1 of <root>.plus?): V1 of <root>.plus? declared in java.util.LinkedHashMap' type=V1 of <root>.plus? origin=null
|
||||||
$this: GET_VAR '<this>: java.util.LinkedHashMap<K1 of <root>.plus?, V1 of <root>.plus?> declared in special.<anonymous>' type=java.util.LinkedHashMap<K1 of <root>.plus?, V1 of <root>.plus?> origin=null
|
$this: GET_VAR '<this>: java.util.LinkedHashMap<K1 of <root>.plus?, V1 of <root>.plus?> declared in special.<anonymous>' type=java.util.LinkedHashMap<K1 of <root>.plus?, V1 of <root>.plus?> origin=null
|
||||||
p0: CALL 'public final fun <get-first> (): K1 of <root>.plus declared in kotlin.Pair' type=K1 of <root>.plus origin=GET_PROPERTY
|
p0: CALL 'public final fun <get-first> (): K1 of <root>.plus declared in kotlin.Pair' type=K1 of <root>.plus origin=GET_PROPERTY
|
||||||
$this: GET_VAR 'pair: kotlin.Pair<K1 of <root>.plus, V1 of <root>.plus> declared in <root>.plus' type=kotlin.Pair<K1 of <root>.plus, V1 of <root>.plus> origin=null
|
$this: GET_VAR 'pair: kotlin.Pair<K1 of <root>.plus, V1 of <root>.plus> declared in <root>.plus' type=kotlin.Pair<K1 of <root>.plus, V1 of <root>.plus> origin=null
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ FILE fqName:<root> fileName:/genericClassInDifferentModule_m2.kt
|
|||||||
VALUE_PARAMETER name:y index:0 type:Y of <root>.Derived1.foo
|
VALUE_PARAMETER name:y index:0 type:Y of <root>.Derived1.foo
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='public final fun foo <Y> (y: Y of <root>.Derived1.foo): T of <root>.Derived1 declared in <root>.Derived1'
|
RETURN type=kotlin.Nothing from='public final fun foo <Y> (y: Y of <root>.Derived1.foo): T of <root>.Derived1 declared in <root>.Derived1'
|
||||||
CALL 'public final fun <get-x> (): T of <root>.Derived1 declared in <root>.Base' type=T of <root>.Derived1 origin=GET_PROPERTY
|
CALL 'public final fun <get-x> (): T of <root>.Derived1 declared in <root>.Derived1' type=T of <root>.Derived1 origin=GET_PROPERTY
|
||||||
$this: GET_VAR '<this>: <root>.Derived1<T of <root>.Derived1> declared in <root>.Derived1.foo' type=<root>.Derived1<T of <root>.Derived1> origin=null
|
$this: GET_VAR '<this>: <root>.Derived1<T of <root>.Derived1> declared in <root>.Derived1.foo' type=<root>.Derived1<T of <root>.Derived1> origin=null
|
||||||
PROPERTY name:bar visibility:public modality:FINAL [var]
|
PROPERTY name:bar visibility:public modality:FINAL [var]
|
||||||
FIELD PROPERTY_BACKING_FIELD name:bar type:T of <root>.Derived1 visibility:private
|
FIELD PROPERTY_BACKING_FIELD name:bar type:T of <root>.Derived1 visibility:private
|
||||||
@@ -44,7 +44,7 @@ FILE fqName:<root> fileName:/genericClassInDifferentModule_m2.kt
|
|||||||
$receiver: VALUE_PARAMETER name:<this> type:Z of <root>.Derived1.<get-exn>
|
$receiver: VALUE_PARAMETER name:<this> type:Z of <root>.Derived1.<get-exn>
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
RETURN type=kotlin.Nothing from='public final fun <get-exn> <Z> (): T of <root>.Derived1 declared in <root>.Derived1'
|
RETURN type=kotlin.Nothing from='public final fun <get-exn> <Z> (): T of <root>.Derived1 declared in <root>.Derived1'
|
||||||
CALL 'public final fun <get-x> (): T of <root>.Derived1 declared in <root>.Base' type=T of <root>.Derived1 origin=GET_PROPERTY
|
CALL 'public final fun <get-x> (): T of <root>.Derived1 declared in <root>.Derived1' type=T of <root>.Derived1 origin=GET_PROPERTY
|
||||||
$this: GET_VAR '<this>: <root>.Derived1<T of <root>.Derived1> declared in <root>.Derived1.<get-exn>' type=<root>.Derived1<T of <root>.Derived1> origin=null
|
$this: GET_VAR '<this>: <root>.Derived1<T of <root>.Derived1> declared in <root>.Derived1.<get-exn>' type=<root>.Derived1<T of <root>.Derived1> origin=null
|
||||||
FUN name:<set-exn> visibility:public modality:FINAL <Z> ($this:<root>.Derived1<T of <root>.Derived1>, $receiver:Z of <root>.Derived1.<set-exn>, value:T of <root>.Derived1) returnType:kotlin.Unit
|
FUN name:<set-exn> visibility:public modality:FINAL <Z> ($this:<root>.Derived1<T of <root>.Derived1>, $receiver:Z of <root>.Derived1.<set-exn>, value:T of <root>.Derived1) returnType:kotlin.Unit
|
||||||
correspondingProperty: PROPERTY name:exn visibility:public modality:FINAL [var]
|
correspondingProperty: PROPERTY name:exn visibility:public modality:FINAL [var]
|
||||||
|
|||||||
+8
-8
@@ -6,27 +6,27 @@ FILE fqName:<root> fileName:/enhancedNullabilityInForLoop.kt
|
|||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
BLOCK type=kotlin.Unit origin=FOR_LOOP
|
BLOCK type=kotlin.Unit origin=FOR_LOOP
|
||||||
VAR FOR_LOOP_ITERATOR name:tmp_0 type:kotlin.collections.MutableIterator<<root>.P?> [val]
|
VAR FOR_LOOP_ITERATOR name:tmp_0 type:kotlin.collections.MutableIterator<<root>.P?> [val]
|
||||||
CALL 'public abstract fun iterator (): kotlin.collections.MutableIterator<<root>.P?> [operator] declared in kotlin.collections.MutableCollection' type=kotlin.collections.MutableIterator<<root>.P?> origin=FOR_LOOP_ITERATOR
|
CALL 'public abstract fun iterator (): kotlin.collections.MutableIterator<<root>.P?> [operator] declared in kotlin.collections.MutableList' type=kotlin.collections.MutableIterator<<root>.P?> origin=FOR_LOOP_ITERATOR
|
||||||
$this: CALL 'public open fun listOfNotNull (): kotlin.collections.List<<root>.P?>? declared in <root>.J' type=kotlin.collections.List<<root>.P?>? origin=null
|
$this: CALL 'public open fun listOfNotNull (): kotlin.collections.List<<root>.P?>? declared in <root>.J' type=kotlin.collections.List<<root>.P?>? origin=null
|
||||||
WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||||
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean [operator] declared in kotlin.collections.Iterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean [operator] declared in kotlin.collections.Iterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||||
$this: GET_VAR 'val tmp_0: kotlin.collections.MutableIterator<<root>.P?> [val] declared in <root>.testForInListUnused' type=kotlin.collections.MutableIterator<<root>.P?> origin=null
|
$this: GET_VAR 'val tmp_0: kotlin.collections.MutableIterator<<root>.P?> [val] declared in <root>.testForInListUnused' type=kotlin.collections.MutableIterator<<root>.P?> origin=null
|
||||||
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
||||||
VAR FOR_LOOP_VARIABLE name:x type:<root>.P? [val]
|
VAR FOR_LOOP_VARIABLE name:x type:<root>.P? [val]
|
||||||
CALL 'public abstract fun next (): T of kotlin.collections.MutableIterator [operator] declared in kotlin.collections.Iterator' type=<root>.P? origin=FOR_LOOP_NEXT
|
CALL 'public abstract fun next (): T of kotlin.collections.MutableIterator [operator] declared in kotlin.collections.MutableIterator' type=<root>.P? origin=FOR_LOOP_NEXT
|
||||||
$this: GET_VAR 'val tmp_0: kotlin.collections.MutableIterator<<root>.P?> [val] declared in <root>.testForInListUnused' type=kotlin.collections.MutableIterator<<root>.P?> origin=null
|
$this: GET_VAR 'val tmp_0: kotlin.collections.MutableIterator<<root>.P?> [val] declared in <root>.testForInListUnused' type=kotlin.collections.MutableIterator<<root>.P?> origin=null
|
||||||
FUN name:testForInListDestructured visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
FUN name:testForInListDestructured visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
BLOCK type=kotlin.Unit origin=FOR_LOOP
|
BLOCK type=kotlin.Unit origin=FOR_LOOP
|
||||||
VAR FOR_LOOP_ITERATOR name:tmp_1 type:kotlin.collections.MutableIterator<<root>.P?> [val]
|
VAR FOR_LOOP_ITERATOR name:tmp_1 type:kotlin.collections.MutableIterator<<root>.P?> [val]
|
||||||
CALL 'public abstract fun iterator (): kotlin.collections.MutableIterator<<root>.P?> [operator] declared in kotlin.collections.MutableCollection' type=kotlin.collections.MutableIterator<<root>.P?> origin=FOR_LOOP_ITERATOR
|
CALL 'public abstract fun iterator (): kotlin.collections.MutableIterator<<root>.P?> [operator] declared in kotlin.collections.MutableList' type=kotlin.collections.MutableIterator<<root>.P?> origin=FOR_LOOP_ITERATOR
|
||||||
$this: CALL 'public open fun listOfNotNull (): kotlin.collections.List<<root>.P?>? declared in <root>.J' type=kotlin.collections.List<<root>.P?>? origin=null
|
$this: CALL 'public open fun listOfNotNull (): kotlin.collections.List<<root>.P?>? declared in <root>.J' type=kotlin.collections.List<<root>.P?>? origin=null
|
||||||
WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||||
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean [operator] declared in kotlin.collections.Iterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean [operator] declared in kotlin.collections.Iterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||||
$this: GET_VAR 'val tmp_1: kotlin.collections.MutableIterator<<root>.P?> [val] declared in <root>.testForInListDestructured' type=kotlin.collections.MutableIterator<<root>.P?> origin=null
|
$this: GET_VAR 'val tmp_1: kotlin.collections.MutableIterator<<root>.P?> [val] declared in <root>.testForInListDestructured' type=kotlin.collections.MutableIterator<<root>.P?> origin=null
|
||||||
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
||||||
VAR FOR_LOOP_VARIABLE name:<destruct> type:<root>.P? [val]
|
VAR FOR_LOOP_VARIABLE name:<destruct> type:<root>.P? [val]
|
||||||
CALL 'public abstract fun next (): T of kotlin.collections.MutableIterator [operator] declared in kotlin.collections.Iterator' type=<root>.P? origin=FOR_LOOP_NEXT
|
CALL 'public abstract fun next (): T of kotlin.collections.MutableIterator [operator] declared in kotlin.collections.MutableIterator' type=<root>.P? origin=FOR_LOOP_NEXT
|
||||||
$this: GET_VAR 'val tmp_1: kotlin.collections.MutableIterator<<root>.P?> [val] declared in <root>.testForInListDestructured' type=kotlin.collections.MutableIterator<<root>.P?> origin=null
|
$this: GET_VAR 'val tmp_1: kotlin.collections.MutableIterator<<root>.P?> [val] declared in <root>.testForInListDestructured' type=kotlin.collections.MutableIterator<<root>.P?> origin=null
|
||||||
VAR name:x type:kotlin.Int [val]
|
VAR name:x type:kotlin.Int [val]
|
||||||
CALL 'public final fun component1 (): kotlin.Int declared in <root>.P' type=kotlin.Int origin=null
|
CALL 'public final fun component1 (): kotlin.Int declared in <root>.P' type=kotlin.Int origin=null
|
||||||
@@ -37,14 +37,14 @@ FILE fqName:<root> fileName:/enhancedNullabilityInForLoop.kt
|
|||||||
FUN name:testDesugaredForInList visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
FUN name:testDesugaredForInList visibility:public modality:FINAL <> () returnType:kotlin.Unit
|
||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
VAR name:iterator type:kotlin.collections.MutableIterator<<root>.P?> [val]
|
VAR name:iterator type:kotlin.collections.MutableIterator<<root>.P?> [val]
|
||||||
CALL 'public abstract fun iterator (): kotlin.collections.MutableIterator<<root>.P?> [operator] declared in kotlin.collections.MutableCollection' type=kotlin.collections.MutableIterator<<root>.P?> origin=null
|
CALL 'public abstract fun iterator (): kotlin.collections.MutableIterator<<root>.P?> [operator] declared in kotlin.collections.MutableList' type=kotlin.collections.MutableIterator<<root>.P?> origin=null
|
||||||
$this: CALL 'public open fun listOfNotNull (): kotlin.collections.List<<root>.P?>? declared in <root>.J' type=kotlin.collections.List<<root>.P?>? origin=null
|
$this: CALL 'public open fun listOfNotNull (): kotlin.collections.List<<root>.P?>? declared in <root>.J' type=kotlin.collections.List<<root>.P?>? origin=null
|
||||||
WHILE label=null origin=WHILE_LOOP
|
WHILE label=null origin=WHILE_LOOP
|
||||||
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean [operator] declared in kotlin.collections.Iterator' type=kotlin.Boolean origin=null
|
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean [operator] declared in kotlin.collections.Iterator' type=kotlin.Boolean origin=null
|
||||||
$this: GET_VAR 'val iterator: kotlin.collections.MutableIterator<<root>.P?> [val] declared in <root>.testDesugaredForInList' type=kotlin.collections.MutableIterator<<root>.P?> origin=null
|
$this: GET_VAR 'val iterator: kotlin.collections.MutableIterator<<root>.P?> [val] declared in <root>.testDesugaredForInList' type=kotlin.collections.MutableIterator<<root>.P?> origin=null
|
||||||
body: BLOCK type=kotlin.Unit origin=WHILE_LOOP
|
body: BLOCK type=kotlin.Unit origin=WHILE_LOOP
|
||||||
VAR name:x type:<root>.P? [val]
|
VAR name:x type:<root>.P? [val]
|
||||||
CALL 'public abstract fun next (): T of kotlin.collections.MutableIterator [operator] declared in kotlin.collections.Iterator' type=<root>.P? origin=null
|
CALL 'public abstract fun next (): T of kotlin.collections.MutableIterator [operator] declared in kotlin.collections.MutableIterator' type=<root>.P? origin=null
|
||||||
$this: GET_VAR 'val iterator: kotlin.collections.MutableIterator<<root>.P?> [val] declared in <root>.testDesugaredForInList' type=kotlin.collections.MutableIterator<<root>.P?> origin=null
|
$this: GET_VAR 'val iterator: kotlin.collections.MutableIterator<<root>.P?> [val] declared in <root>.testDesugaredForInList' type=kotlin.collections.MutableIterator<<root>.P?> origin=null
|
||||||
FUN name:testForInArrayUnused visibility:public modality:FINAL <> (j:<root>.J) returnType:kotlin.Unit
|
FUN name:testForInArrayUnused visibility:public modality:FINAL <> (j:<root>.J) returnType:kotlin.Unit
|
||||||
VALUE_PARAMETER name:j index:0 type:<root>.J
|
VALUE_PARAMETER name:j index:0 type:<root>.J
|
||||||
@@ -65,14 +65,14 @@ FILE fqName:<root> fileName:/enhancedNullabilityInForLoop.kt
|
|||||||
BLOCK_BODY
|
BLOCK_BODY
|
||||||
BLOCK type=kotlin.Unit origin=FOR_LOOP
|
BLOCK type=kotlin.Unit origin=FOR_LOOP
|
||||||
VAR FOR_LOOP_ITERATOR name:tmp_3 type:kotlin.collections.MutableIterator<<root>.P?> [val]
|
VAR FOR_LOOP_ITERATOR name:tmp_3 type:kotlin.collections.MutableIterator<<root>.P?> [val]
|
||||||
CALL 'public abstract fun iterator (): kotlin.collections.MutableIterator<<root>.P?> [operator] declared in kotlin.collections.MutableCollection' type=kotlin.collections.MutableIterator<<root>.P?> origin=FOR_LOOP_ITERATOR
|
CALL 'public abstract fun iterator (): kotlin.collections.MutableIterator<<root>.P?> [operator] declared in kotlin.collections.MutableList' type=kotlin.collections.MutableIterator<<root>.P?> origin=FOR_LOOP_ITERATOR
|
||||||
$this: CALL 'public open fun listOfNotNull (): kotlin.collections.List<<root>.P?>? declared in <root>.J' type=kotlin.collections.List<<root>.P?>? origin=null
|
$this: CALL 'public open fun listOfNotNull (): kotlin.collections.List<<root>.P?>? declared in <root>.J' type=kotlin.collections.List<<root>.P?>? origin=null
|
||||||
WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
WHILE label=null origin=FOR_LOOP_INNER_WHILE
|
||||||
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean [operator] declared in kotlin.collections.Iterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
condition: CALL 'public abstract fun hasNext (): kotlin.Boolean [operator] declared in kotlin.collections.Iterator' type=kotlin.Boolean origin=FOR_LOOP_HAS_NEXT
|
||||||
$this: GET_VAR 'val tmp_3: kotlin.collections.MutableIterator<<root>.P?> [val] declared in <root>.testForInListUse' type=kotlin.collections.MutableIterator<<root>.P?> origin=null
|
$this: GET_VAR 'val tmp_3: kotlin.collections.MutableIterator<<root>.P?> [val] declared in <root>.testForInListUse' type=kotlin.collections.MutableIterator<<root>.P?> origin=null
|
||||||
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
body: BLOCK type=kotlin.Unit origin=FOR_LOOP_INNER_WHILE
|
||||||
VAR FOR_LOOP_VARIABLE name:x type:<root>.P? [val]
|
VAR FOR_LOOP_VARIABLE name:x type:<root>.P? [val]
|
||||||
CALL 'public abstract fun next (): T of kotlin.collections.MutableIterator [operator] declared in kotlin.collections.Iterator' type=<root>.P? origin=FOR_LOOP_NEXT
|
CALL 'public abstract fun next (): T of kotlin.collections.MutableIterator [operator] declared in kotlin.collections.MutableIterator' type=<root>.P? origin=FOR_LOOP_NEXT
|
||||||
$this: GET_VAR 'val tmp_3: kotlin.collections.MutableIterator<<root>.P?> [val] declared in <root>.testForInListUse' type=kotlin.collections.MutableIterator<<root>.P?> origin=null
|
$this: GET_VAR 'val tmp_3: kotlin.collections.MutableIterator<<root>.P?> [val] declared in <root>.testForInListUse' type=kotlin.collections.MutableIterator<<root>.P?> origin=null
|
||||||
CALL 'public final fun use (s: <root>.P): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
|
CALL 'public final fun use (s: <root>.P): kotlin.Unit declared in <root>' type=kotlin.Unit origin=null
|
||||||
s: GET_VAR 'val x: <root>.P? [val] declared in <root>.testForInListUse' type=<root>.P? origin=null
|
s: GET_VAR 'val x: <root>.P? [val] declared in <root>.testForInListUse' type=<root>.P? origin=null
|
||||||
|
|||||||
Reference in New Issue
Block a user