[LL FIR] do not treat declarations from object literal as non-local
^KTIJ-25437 Fixed
This commit is contained in:
committed by
Space Team
parent
6d7dc45ce6
commit
d3043b6f1c
+6
-1
@@ -121,7 +121,12 @@ internal fun PsiElement.getNonLocalContainingOrThisDeclaration(predicate: (KtDec
|
|||||||
|
|
||||||
for (parent in parentsWithSelf) {
|
for (parent in parentsWithSelf) {
|
||||||
candidate?.let { notNullCandidate ->
|
candidate?.let { notNullCandidate ->
|
||||||
if (parent is KtEnumEntry || parent is KtCallableDeclaration && !notNullCandidate.isPartOf(parent) || parent is KtClassInitializer) {
|
if (parent is KtEnumEntry ||
|
||||||
|
parent is KtCallableDeclaration &&
|
||||||
|
!notNullCandidate.isPartOf(parent) ||
|
||||||
|
parent is KtClassInitializer ||
|
||||||
|
parent is KtObjectLiteralExpression
|
||||||
|
) {
|
||||||
// Candidate turned out to be local. Let's find another one.
|
// Candidate turned out to be local. Let's find another one.
|
||||||
candidate = null
|
candidate = null
|
||||||
}
|
}
|
||||||
|
|||||||
+30
-8
@@ -27,7 +27,7 @@ import org.jetbrains.kotlin.psi.psiUtil.parameterIndex
|
|||||||
internal fun KtDeclaration.findSourceNonLocalFirDeclaration(
|
internal fun KtDeclaration.findSourceNonLocalFirDeclaration(
|
||||||
firFileBuilder: LLFirFileBuilder,
|
firFileBuilder: LLFirFileBuilder,
|
||||||
provider: FirProvider,
|
provider: FirProvider,
|
||||||
containerFirFile: FirFile? = null
|
containerFirFile: FirFile? = null,
|
||||||
): FirDeclaration {
|
): FirDeclaration {
|
||||||
//TODO test what way faster
|
//TODO test what way faster
|
||||||
findSourceNonLocalFirDeclarationByProvider(firFileBuilder, provider, containerFirFile)?.let { return it }
|
findSourceNonLocalFirDeclarationByProvider(firFileBuilder, provider, containerFirFile)?.let { return it }
|
||||||
@@ -78,7 +78,7 @@ internal fun KtElement.findSourceByTraversingWholeTree(
|
|||||||
private fun KtDeclaration.findSourceNonLocalFirDeclarationByProvider(
|
private fun KtDeclaration.findSourceNonLocalFirDeclarationByProvider(
|
||||||
firFileBuilder: LLFirFileBuilder,
|
firFileBuilder: LLFirFileBuilder,
|
||||||
provider: FirProvider,
|
provider: FirProvider,
|
||||||
containerFirFile: FirFile?
|
containerFirFile: FirFile?,
|
||||||
): FirDeclaration? {
|
): FirDeclaration? {
|
||||||
val candidate = when {
|
val candidate = when {
|
||||||
this is KtClassOrObject -> findFir(provider)
|
this is KtClassOrObject -> findFir(provider)
|
||||||
@@ -118,11 +118,11 @@ private fun KtDeclaration.findSourceNonLocalFirDeclarationByProvider(
|
|||||||
}
|
}
|
||||||
this is KtScript -> containerFirFile?.declarations?.singleOrNull { it is FirScript }
|
this is KtScript -> containerFirFile?.declarations?.singleOrNull { it is FirScript }
|
||||||
this is KtPropertyAccessor -> {
|
this is KtPropertyAccessor -> {
|
||||||
val firPropertyDeclaration = property.findSourceNonLocalFirDeclaration(
|
val firPropertyDeclaration = property.nonLocalFirDeclaration<FirVariable>(
|
||||||
firFileBuilder,
|
firFileBuilder,
|
||||||
provider,
|
provider,
|
||||||
containerFirFile,
|
containerFirFile,
|
||||||
) as FirVariable
|
)
|
||||||
|
|
||||||
if (isGetter) {
|
if (isGetter) {
|
||||||
firPropertyDeclaration.getter
|
firPropertyDeclaration.getter
|
||||||
@@ -134,11 +134,11 @@ private fun KtDeclaration.findSourceNonLocalFirDeclarationByProvider(
|
|||||||
val ownerFunction = ownerFunction
|
val ownerFunction = ownerFunction
|
||||||
?: errorWithFirSpecificEntries("Containing function should be not null for KtParameter", psi = this)
|
?: errorWithFirSpecificEntries("Containing function should be not null for KtParameter", psi = this)
|
||||||
|
|
||||||
val firFunctionDeclaration = ownerFunction.findSourceNonLocalFirDeclarationByProvider(
|
val firFunctionDeclaration = ownerFunction.nonLocalFirDeclaration<FirFunction>(
|
||||||
firFileBuilder,
|
firFileBuilder,
|
||||||
provider,
|
provider,
|
||||||
containerFirFile,
|
containerFirFile,
|
||||||
) as FirFunction
|
)
|
||||||
|
|
||||||
firFunctionDeclaration.valueParameters[parameterIndex()]
|
firFunctionDeclaration.valueParameters[parameterIndex()]
|
||||||
}
|
}
|
||||||
@@ -146,11 +146,11 @@ private fun KtDeclaration.findSourceNonLocalFirDeclarationByProvider(
|
|||||||
val declaration = containingDeclaration
|
val declaration = containingDeclaration
|
||||||
?: errorWithFirSpecificEntries("Containing declaration should be not null for KtTypeParameter", psi = this)
|
?: errorWithFirSpecificEntries("Containing declaration should be not null for KtTypeParameter", psi = this)
|
||||||
|
|
||||||
val firTypeParameterOwner = declaration.findSourceNonLocalFirDeclarationByProvider(
|
val firTypeParameterOwner = declaration.nonLocalFirDeclaration<FirTypeParameterRefsOwner>(
|
||||||
firFileBuilder,
|
firFileBuilder,
|
||||||
provider,
|
provider,
|
||||||
containerFirFile,
|
containerFirFile,
|
||||||
) as FirTypeParameterRefsOwner
|
)
|
||||||
|
|
||||||
val index = (parent as KtTypeParameterList).parameters.indexOf(this)
|
val index = (parent as KtTypeParameterList).parameters.indexOf(this)
|
||||||
firTypeParameterOwner.typeParameters[index] as FirDeclaration
|
firTypeParameterOwner.typeParameters[index] as FirDeclaration
|
||||||
@@ -160,6 +160,28 @@ private fun KtDeclaration.findSourceNonLocalFirDeclarationByProvider(
|
|||||||
return candidate?.takeIf { it.realPsi == this }
|
return candidate?.takeIf { it.realPsi == this }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private inline fun <reified T> KtDeclaration.nonLocalFirDeclaration(
|
||||||
|
firFileBuilder: LLFirFileBuilder,
|
||||||
|
provider: FirProvider,
|
||||||
|
containerFirFile: FirFile?,
|
||||||
|
): T {
|
||||||
|
val firResult = findSourceNonLocalFirDeclarationByProvider(
|
||||||
|
firFileBuilder,
|
||||||
|
provider,
|
||||||
|
containerFirFile,
|
||||||
|
)
|
||||||
|
|
||||||
|
if (firResult !is T) {
|
||||||
|
errorWithFirSpecificEntries(
|
||||||
|
"${T::class.simpleName} for ${this::class.simpleName} declaration is not found",
|
||||||
|
psi = this,
|
||||||
|
fir = firResult,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
return firResult
|
||||||
|
}
|
||||||
|
|
||||||
fun FirAnonymousInitializer.containingClass(): FirRegularClass {
|
fun FirAnonymousInitializer.containingClass(): FirRegularClass {
|
||||||
val dispatchReceiverType = this.dispatchReceiverType as? ConeLookupTagBasedType
|
val dispatchReceiverType = this.dispatchReceiverType as? ConeLookupTagBasedType
|
||||||
?: error("dispatchReceiverType for FirAnonymousInitializer modifier cannot be null")
|
?: error("dispatchReceiverType for FirAnonymousInitializer modifier cannot be null")
|
||||||
|
|||||||
+12
@@ -0,0 +1,12 @@
|
|||||||
|
package one
|
||||||
|
|
||||||
|
interface Interface {
|
||||||
|
fun foo(param: String)
|
||||||
|
}
|
||||||
|
|
||||||
|
open class ClassWithParameter(i: Interface)
|
||||||
|
|
||||||
|
class TopLevelClass : ClassWithParameter(object : Interface {
|
||||||
|
override fun fo<caret>o(param: String) {
|
||||||
|
}
|
||||||
|
})
|
||||||
+405
@@ -0,0 +1,405 @@
|
|||||||
|
RAW_FIR:
|
||||||
|
FILE: [ResolvedTo(IMPORTS)] localFunctionInsideSuperEntryCall.kt
|
||||||
|
[ResolvedTo(RAW_FIR)] annotations container
|
||||||
|
public abstract [ResolvedTo(STATUS)] interface Interface : R|kotlin/Any| {
|
||||||
|
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] param: R|kotlin/String|): R|kotlin/Unit|
|
||||||
|
|
||||||
|
}
|
||||||
|
public open [ResolvedTo(STATUS)] class ClassWithParameter : R|kotlin/Any| {
|
||||||
|
public [ResolvedTo(STATUS)] [ContainingClassKey=ClassWithParameter] constructor([ResolvedTo(STATUS)] i: R|one/Interface|): R|one/ClassWithParameter| {
|
||||||
|
LAZY_super<R|kotlin/Any|>
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
|
super<R|one/ClassWithParameter|>(object : R|one/Interface| {
|
||||||
|
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public open override [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
IMPORTS:
|
||||||
|
FILE: [ResolvedTo(IMPORTS)] localFunctionInsideSuperEntryCall.kt
|
||||||
|
[ResolvedTo(RAW_FIR)] annotations container
|
||||||
|
public abstract [ResolvedTo(STATUS)] interface Interface : R|kotlin/Any| {
|
||||||
|
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] param: R|kotlin/String|): R|kotlin/Unit|
|
||||||
|
|
||||||
|
}
|
||||||
|
public open [ResolvedTo(STATUS)] class ClassWithParameter : R|kotlin/Any| {
|
||||||
|
public [ResolvedTo(STATUS)] [ContainingClassKey=ClassWithParameter] constructor([ResolvedTo(STATUS)] i: R|one/Interface|): R|one/ClassWithParameter| {
|
||||||
|
LAZY_super<R|kotlin/Any|>
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
|
super<R|one/ClassWithParameter|>(object : R|one/Interface| {
|
||||||
|
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public open override [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
COMPILER_REQUIRED_ANNOTATIONS:
|
||||||
|
FILE: [ResolvedTo(IMPORTS)] localFunctionInsideSuperEntryCall.kt
|
||||||
|
[ResolvedTo(RAW_FIR)] annotations container
|
||||||
|
public abstract [ResolvedTo(STATUS)] interface Interface : R|kotlin/Any| {
|
||||||
|
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] param: R|kotlin/String|): R|kotlin/Unit|
|
||||||
|
|
||||||
|
}
|
||||||
|
public open [ResolvedTo(STATUS)] class ClassWithParameter : R|kotlin/Any| {
|
||||||
|
public [ResolvedTo(STATUS)] [ContainingClassKey=ClassWithParameter] constructor([ResolvedTo(STATUS)] i: R|one/Interface|): R|one/ClassWithParameter| {
|
||||||
|
LAZY_super<R|kotlin/Any|>
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
|
super<R|one/ClassWithParameter|>(object : R|one/Interface| {
|
||||||
|
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public open override [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
COMPANION_GENERATION:
|
||||||
|
FILE: [ResolvedTo(IMPORTS)] localFunctionInsideSuperEntryCall.kt
|
||||||
|
[ResolvedTo(RAW_FIR)] annotations container
|
||||||
|
public abstract [ResolvedTo(STATUS)] interface Interface : R|kotlin/Any| {
|
||||||
|
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] param: R|kotlin/String|): R|kotlin/Unit|
|
||||||
|
|
||||||
|
}
|
||||||
|
public open [ResolvedTo(STATUS)] class ClassWithParameter : R|kotlin/Any| {
|
||||||
|
public [ResolvedTo(STATUS)] [ContainingClassKey=ClassWithParameter] constructor([ResolvedTo(STATUS)] i: R|one/Interface|): R|one/ClassWithParameter| {
|
||||||
|
LAZY_super<R|kotlin/Any|>
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
|
super<R|one/ClassWithParameter|>(object : R|one/Interface| {
|
||||||
|
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public open override [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
SUPER_TYPES:
|
||||||
|
FILE: [ResolvedTo(IMPORTS)] localFunctionInsideSuperEntryCall.kt
|
||||||
|
[ResolvedTo(RAW_FIR)] annotations container
|
||||||
|
public abstract [ResolvedTo(STATUS)] interface Interface : R|kotlin/Any| {
|
||||||
|
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] param: R|kotlin/String|): R|kotlin/Unit|
|
||||||
|
|
||||||
|
}
|
||||||
|
public open [ResolvedTo(STATUS)] class ClassWithParameter : R|kotlin/Any| {
|
||||||
|
public [ResolvedTo(STATUS)] [ContainingClassKey=ClassWithParameter] constructor([ResolvedTo(STATUS)] i: R|one/Interface|): R|one/ClassWithParameter| {
|
||||||
|
LAZY_super<R|kotlin/Any|>
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
|
super<R|one/ClassWithParameter|>(object : R|one/Interface| {
|
||||||
|
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public open override [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
TYPES:
|
||||||
|
FILE: [ResolvedTo(IMPORTS)] localFunctionInsideSuperEntryCall.kt
|
||||||
|
[ResolvedTo(RAW_FIR)] annotations container
|
||||||
|
public abstract [ResolvedTo(STATUS)] interface Interface : R|kotlin/Any| {
|
||||||
|
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] param: R|kotlin/String|): R|kotlin/Unit|
|
||||||
|
|
||||||
|
}
|
||||||
|
public open [ResolvedTo(STATUS)] class ClassWithParameter : R|kotlin/Any| {
|
||||||
|
public [ResolvedTo(STATUS)] [ContainingClassKey=ClassWithParameter] constructor([ResolvedTo(STATUS)] i: R|one/Interface|): R|one/ClassWithParameter| {
|
||||||
|
LAZY_super<R|kotlin/Any|>
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
|
super<R|one/ClassWithParameter|>(object : R|one/Interface| {
|
||||||
|
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public open override [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
STATUS:
|
||||||
|
FILE: [ResolvedTo(IMPORTS)] localFunctionInsideSuperEntryCall.kt
|
||||||
|
[ResolvedTo(RAW_FIR)] annotations container
|
||||||
|
public abstract [ResolvedTo(STATUS)] interface Interface : R|kotlin/Any| {
|
||||||
|
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] param: R|kotlin/String|): R|kotlin/Unit|
|
||||||
|
|
||||||
|
}
|
||||||
|
public open [ResolvedTo(STATUS)] class ClassWithParameter : R|kotlin/Any| {
|
||||||
|
public [ResolvedTo(STATUS)] [ContainingClassKey=ClassWithParameter] constructor([ResolvedTo(STATUS)] i: R|one/Interface|): R|one/ClassWithParameter| {
|
||||||
|
LAZY_super<R|kotlin/Any|>
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
|
super<R|one/ClassWithParameter|>(object : R|one/Interface| {
|
||||||
|
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public open override [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
EXPECT_ACTUAL_MATCHING:
|
||||||
|
FILE: [ResolvedTo(IMPORTS)] localFunctionInsideSuperEntryCall.kt
|
||||||
|
[ResolvedTo(RAW_FIR)] annotations container
|
||||||
|
public abstract [ResolvedTo(STATUS)] interface Interface : R|kotlin/Any| {
|
||||||
|
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] param: R|kotlin/String|): R|kotlin/Unit|
|
||||||
|
|
||||||
|
}
|
||||||
|
public open [ResolvedTo(STATUS)] class ClassWithParameter : R|kotlin/Any| {
|
||||||
|
public [ResolvedTo(STATUS)] [ContainingClassKey=ClassWithParameter] constructor([ResolvedTo(STATUS)] i: R|one/Interface|): R|one/ClassWithParameter| {
|
||||||
|
LAZY_super<R|kotlin/Any|>
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
|
super<R|one/ClassWithParameter|>(object : R|one/Interface| {
|
||||||
|
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public open override [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
ARGUMENTS_OF_ANNOTATIONS:
|
||||||
|
FILE: [ResolvedTo(IMPORTS)] localFunctionInsideSuperEntryCall.kt
|
||||||
|
[ResolvedTo(RAW_FIR)] annotations container
|
||||||
|
public abstract [ResolvedTo(STATUS)] interface Interface : R|kotlin/Any| {
|
||||||
|
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] param: R|kotlin/String|): R|kotlin/Unit|
|
||||||
|
|
||||||
|
}
|
||||||
|
public open [ResolvedTo(STATUS)] class ClassWithParameter : R|kotlin/Any| {
|
||||||
|
public [ResolvedTo(STATUS)] [ContainingClassKey=ClassWithParameter] constructor([ResolvedTo(STATUS)] i: R|one/Interface|): R|one/ClassWithParameter| {
|
||||||
|
LAZY_super<R|kotlin/Any|>
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
|
super<R|one/ClassWithParameter|>(object : R|one/Interface| {
|
||||||
|
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public open override [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
CONTRACTS:
|
||||||
|
FILE: [ResolvedTo(IMPORTS)] localFunctionInsideSuperEntryCall.kt
|
||||||
|
[ResolvedTo(RAW_FIR)] annotations container
|
||||||
|
public abstract [ResolvedTo(STATUS)] interface Interface : R|kotlin/Any| {
|
||||||
|
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] param: R|kotlin/String|): R|kotlin/Unit|
|
||||||
|
|
||||||
|
}
|
||||||
|
public open [ResolvedTo(STATUS)] class ClassWithParameter : R|kotlin/Any| {
|
||||||
|
public [ResolvedTo(STATUS)] [ContainingClassKey=ClassWithParameter] constructor([ResolvedTo(STATUS)] i: R|one/Interface|): R|one/ClassWithParameter| {
|
||||||
|
LAZY_super<R|kotlin/Any|>
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
|
super<R|one/ClassWithParameter|>(object : R|one/Interface| {
|
||||||
|
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public open override [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
IMPLICIT_TYPES_BODY_RESOLVE:
|
||||||
|
FILE: [ResolvedTo(IMPORTS)] localFunctionInsideSuperEntryCall.kt
|
||||||
|
[ResolvedTo(RAW_FIR)] annotations container
|
||||||
|
public abstract [ResolvedTo(STATUS)] interface Interface : R|kotlin/Any| {
|
||||||
|
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] param: R|kotlin/String|): R|kotlin/Unit|
|
||||||
|
|
||||||
|
}
|
||||||
|
public open [ResolvedTo(STATUS)] class ClassWithParameter : R|kotlin/Any| {
|
||||||
|
public [ResolvedTo(STATUS)] [ContainingClassKey=ClassWithParameter] constructor([ResolvedTo(STATUS)] i: R|one/Interface|): R|one/ClassWithParameter| {
|
||||||
|
LAZY_super<R|kotlin/Any|>
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
|
super<R|one/ClassWithParameter|>(object : R|one/Interface| {
|
||||||
|
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public open override [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
ANNOTATIONS_ARGUMENTS_MAPPING:
|
||||||
|
FILE: [ResolvedTo(IMPORTS)] localFunctionInsideSuperEntryCall.kt
|
||||||
|
[ResolvedTo(RAW_FIR)] annotations container
|
||||||
|
public abstract [ResolvedTo(STATUS)] interface Interface : R|kotlin/Any| {
|
||||||
|
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] param: R|kotlin/String|): R|kotlin/Unit|
|
||||||
|
|
||||||
|
}
|
||||||
|
public open [ResolvedTo(STATUS)] class ClassWithParameter : R|kotlin/Any| {
|
||||||
|
public [ResolvedTo(STATUS)] [ContainingClassKey=ClassWithParameter] constructor([ResolvedTo(STATUS)] i: R|one/Interface|): R|one/ClassWithParameter| {
|
||||||
|
LAZY_super<R|kotlin/Any|>
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
|
super<R|one/ClassWithParameter|>(object : R|one/Interface| {
|
||||||
|
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public open override [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
BODY_RESOLVE:
|
||||||
|
FILE: [ResolvedTo(IMPORTS)] localFunctionInsideSuperEntryCall.kt
|
||||||
|
[ResolvedTo(RAW_FIR)] annotations container
|
||||||
|
public abstract [ResolvedTo(STATUS)] interface Interface : R|kotlin/Any| {
|
||||||
|
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] param: R|kotlin/String|): R|kotlin/Unit|
|
||||||
|
|
||||||
|
}
|
||||||
|
public open [ResolvedTo(STATUS)] class ClassWithParameter : R|kotlin/Any| {
|
||||||
|
public [ResolvedTo(STATUS)] [ContainingClassKey=ClassWithParameter] constructor([ResolvedTo(STATUS)] i: R|one/Interface|): R|one/ClassWithParameter| {
|
||||||
|
LAZY_super<R|kotlin/Any|>
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
|
super<R|one/ClassWithParameter|>(object : R|one/Interface| {
|
||||||
|
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public open override [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
FILE RAW TO BODY:
|
||||||
|
FILE: [ResolvedTo(IMPORTS)] localFunctionInsideSuperEntryCall.kt
|
||||||
|
[ResolvedTo(BODY_RESOLVE)] annotations container
|
||||||
|
public abstract [ResolvedTo(BODY_RESOLVE)] interface Interface : R|kotlin/Any| {
|
||||||
|
public abstract [ResolvedTo(BODY_RESOLVE)] fun foo([ResolvedTo(BODY_RESOLVE)] param: R|kotlin/String|): R|kotlin/Unit|
|
||||||
|
|
||||||
|
}
|
||||||
|
public open [ResolvedTo(BODY_RESOLVE)] class ClassWithParameter : R|kotlin/Any| {
|
||||||
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=ClassWithParameter] constructor([ResolvedTo(BODY_RESOLVE)] i: R|one/Interface|): R|one/ClassWithParameter| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
|
super<R|one/ClassWithParameter|>(object : R|one/Interface| {
|
||||||
|
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public open override [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+12
@@ -0,0 +1,12 @@
|
|||||||
|
package one
|
||||||
|
|
||||||
|
interface Interface {
|
||||||
|
fun foo(param: String)
|
||||||
|
}
|
||||||
|
|
||||||
|
open class ClassWithParameter(i: Interface)
|
||||||
|
|
||||||
|
class TopLevelClass : ClassWithParameter(object : Interface {
|
||||||
|
override fun foo(pa<caret>ram: String) {
|
||||||
|
}
|
||||||
|
})
|
||||||
+405
@@ -0,0 +1,405 @@
|
|||||||
|
RAW_FIR:
|
||||||
|
FILE: [ResolvedTo(IMPORTS)] localParameterInsideSuperEntryCall.kt
|
||||||
|
[ResolvedTo(RAW_FIR)] annotations container
|
||||||
|
public abstract [ResolvedTo(STATUS)] interface Interface : R|kotlin/Any| {
|
||||||
|
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] param: R|kotlin/String|): R|kotlin/Unit|
|
||||||
|
|
||||||
|
}
|
||||||
|
public open [ResolvedTo(STATUS)] class ClassWithParameter : R|kotlin/Any| {
|
||||||
|
public [ResolvedTo(STATUS)] [ContainingClassKey=ClassWithParameter] constructor([ResolvedTo(STATUS)] i: R|one/Interface|): R|one/ClassWithParameter| {
|
||||||
|
LAZY_super<R|kotlin/Any|>
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
|
super<R|one/ClassWithParameter|>(object : R|one/Interface| {
|
||||||
|
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public open override [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
IMPORTS:
|
||||||
|
FILE: [ResolvedTo(IMPORTS)] localParameterInsideSuperEntryCall.kt
|
||||||
|
[ResolvedTo(RAW_FIR)] annotations container
|
||||||
|
public abstract [ResolvedTo(STATUS)] interface Interface : R|kotlin/Any| {
|
||||||
|
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] param: R|kotlin/String|): R|kotlin/Unit|
|
||||||
|
|
||||||
|
}
|
||||||
|
public open [ResolvedTo(STATUS)] class ClassWithParameter : R|kotlin/Any| {
|
||||||
|
public [ResolvedTo(STATUS)] [ContainingClassKey=ClassWithParameter] constructor([ResolvedTo(STATUS)] i: R|one/Interface|): R|one/ClassWithParameter| {
|
||||||
|
LAZY_super<R|kotlin/Any|>
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
|
super<R|one/ClassWithParameter|>(object : R|one/Interface| {
|
||||||
|
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public open override [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
COMPILER_REQUIRED_ANNOTATIONS:
|
||||||
|
FILE: [ResolvedTo(IMPORTS)] localParameterInsideSuperEntryCall.kt
|
||||||
|
[ResolvedTo(RAW_FIR)] annotations container
|
||||||
|
public abstract [ResolvedTo(STATUS)] interface Interface : R|kotlin/Any| {
|
||||||
|
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] param: R|kotlin/String|): R|kotlin/Unit|
|
||||||
|
|
||||||
|
}
|
||||||
|
public open [ResolvedTo(STATUS)] class ClassWithParameter : R|kotlin/Any| {
|
||||||
|
public [ResolvedTo(STATUS)] [ContainingClassKey=ClassWithParameter] constructor([ResolvedTo(STATUS)] i: R|one/Interface|): R|one/ClassWithParameter| {
|
||||||
|
LAZY_super<R|kotlin/Any|>
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
|
super<R|one/ClassWithParameter|>(object : R|one/Interface| {
|
||||||
|
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public open override [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
COMPANION_GENERATION:
|
||||||
|
FILE: [ResolvedTo(IMPORTS)] localParameterInsideSuperEntryCall.kt
|
||||||
|
[ResolvedTo(RAW_FIR)] annotations container
|
||||||
|
public abstract [ResolvedTo(STATUS)] interface Interface : R|kotlin/Any| {
|
||||||
|
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] param: R|kotlin/String|): R|kotlin/Unit|
|
||||||
|
|
||||||
|
}
|
||||||
|
public open [ResolvedTo(STATUS)] class ClassWithParameter : R|kotlin/Any| {
|
||||||
|
public [ResolvedTo(STATUS)] [ContainingClassKey=ClassWithParameter] constructor([ResolvedTo(STATUS)] i: R|one/Interface|): R|one/ClassWithParameter| {
|
||||||
|
LAZY_super<R|kotlin/Any|>
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
|
super<R|one/ClassWithParameter|>(object : R|one/Interface| {
|
||||||
|
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public open override [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
SUPER_TYPES:
|
||||||
|
FILE: [ResolvedTo(IMPORTS)] localParameterInsideSuperEntryCall.kt
|
||||||
|
[ResolvedTo(RAW_FIR)] annotations container
|
||||||
|
public abstract [ResolvedTo(STATUS)] interface Interface : R|kotlin/Any| {
|
||||||
|
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] param: R|kotlin/String|): R|kotlin/Unit|
|
||||||
|
|
||||||
|
}
|
||||||
|
public open [ResolvedTo(STATUS)] class ClassWithParameter : R|kotlin/Any| {
|
||||||
|
public [ResolvedTo(STATUS)] [ContainingClassKey=ClassWithParameter] constructor([ResolvedTo(STATUS)] i: R|one/Interface|): R|one/ClassWithParameter| {
|
||||||
|
LAZY_super<R|kotlin/Any|>
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
|
super<R|one/ClassWithParameter|>(object : R|one/Interface| {
|
||||||
|
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public open override [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
TYPES:
|
||||||
|
FILE: [ResolvedTo(IMPORTS)] localParameterInsideSuperEntryCall.kt
|
||||||
|
[ResolvedTo(RAW_FIR)] annotations container
|
||||||
|
public abstract [ResolvedTo(STATUS)] interface Interface : R|kotlin/Any| {
|
||||||
|
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] param: R|kotlin/String|): R|kotlin/Unit|
|
||||||
|
|
||||||
|
}
|
||||||
|
public open [ResolvedTo(STATUS)] class ClassWithParameter : R|kotlin/Any| {
|
||||||
|
public [ResolvedTo(STATUS)] [ContainingClassKey=ClassWithParameter] constructor([ResolvedTo(STATUS)] i: R|one/Interface|): R|one/ClassWithParameter| {
|
||||||
|
LAZY_super<R|kotlin/Any|>
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
|
super<R|one/ClassWithParameter|>(object : R|one/Interface| {
|
||||||
|
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public open override [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
STATUS:
|
||||||
|
FILE: [ResolvedTo(IMPORTS)] localParameterInsideSuperEntryCall.kt
|
||||||
|
[ResolvedTo(RAW_FIR)] annotations container
|
||||||
|
public abstract [ResolvedTo(STATUS)] interface Interface : R|kotlin/Any| {
|
||||||
|
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] param: R|kotlin/String|): R|kotlin/Unit|
|
||||||
|
|
||||||
|
}
|
||||||
|
public open [ResolvedTo(STATUS)] class ClassWithParameter : R|kotlin/Any| {
|
||||||
|
public [ResolvedTo(STATUS)] [ContainingClassKey=ClassWithParameter] constructor([ResolvedTo(STATUS)] i: R|one/Interface|): R|one/ClassWithParameter| {
|
||||||
|
LAZY_super<R|kotlin/Any|>
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
|
super<R|one/ClassWithParameter|>(object : R|one/Interface| {
|
||||||
|
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public open override [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
EXPECT_ACTUAL_MATCHING:
|
||||||
|
FILE: [ResolvedTo(IMPORTS)] localParameterInsideSuperEntryCall.kt
|
||||||
|
[ResolvedTo(RAW_FIR)] annotations container
|
||||||
|
public abstract [ResolvedTo(STATUS)] interface Interface : R|kotlin/Any| {
|
||||||
|
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] param: R|kotlin/String|): R|kotlin/Unit|
|
||||||
|
|
||||||
|
}
|
||||||
|
public open [ResolvedTo(STATUS)] class ClassWithParameter : R|kotlin/Any| {
|
||||||
|
public [ResolvedTo(STATUS)] [ContainingClassKey=ClassWithParameter] constructor([ResolvedTo(STATUS)] i: R|one/Interface|): R|one/ClassWithParameter| {
|
||||||
|
LAZY_super<R|kotlin/Any|>
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
|
super<R|one/ClassWithParameter|>(object : R|one/Interface| {
|
||||||
|
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public open override [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
ARGUMENTS_OF_ANNOTATIONS:
|
||||||
|
FILE: [ResolvedTo(IMPORTS)] localParameterInsideSuperEntryCall.kt
|
||||||
|
[ResolvedTo(RAW_FIR)] annotations container
|
||||||
|
public abstract [ResolvedTo(STATUS)] interface Interface : R|kotlin/Any| {
|
||||||
|
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] param: R|kotlin/String|): R|kotlin/Unit|
|
||||||
|
|
||||||
|
}
|
||||||
|
public open [ResolvedTo(STATUS)] class ClassWithParameter : R|kotlin/Any| {
|
||||||
|
public [ResolvedTo(STATUS)] [ContainingClassKey=ClassWithParameter] constructor([ResolvedTo(STATUS)] i: R|one/Interface|): R|one/ClassWithParameter| {
|
||||||
|
LAZY_super<R|kotlin/Any|>
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
|
super<R|one/ClassWithParameter|>(object : R|one/Interface| {
|
||||||
|
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public open override [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
CONTRACTS:
|
||||||
|
FILE: [ResolvedTo(IMPORTS)] localParameterInsideSuperEntryCall.kt
|
||||||
|
[ResolvedTo(RAW_FIR)] annotations container
|
||||||
|
public abstract [ResolvedTo(STATUS)] interface Interface : R|kotlin/Any| {
|
||||||
|
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] param: R|kotlin/String|): R|kotlin/Unit|
|
||||||
|
|
||||||
|
}
|
||||||
|
public open [ResolvedTo(STATUS)] class ClassWithParameter : R|kotlin/Any| {
|
||||||
|
public [ResolvedTo(STATUS)] [ContainingClassKey=ClassWithParameter] constructor([ResolvedTo(STATUS)] i: R|one/Interface|): R|one/ClassWithParameter| {
|
||||||
|
LAZY_super<R|kotlin/Any|>
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
|
super<R|one/ClassWithParameter|>(object : R|one/Interface| {
|
||||||
|
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public open override [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
IMPLICIT_TYPES_BODY_RESOLVE:
|
||||||
|
FILE: [ResolvedTo(IMPORTS)] localParameterInsideSuperEntryCall.kt
|
||||||
|
[ResolvedTo(RAW_FIR)] annotations container
|
||||||
|
public abstract [ResolvedTo(STATUS)] interface Interface : R|kotlin/Any| {
|
||||||
|
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] param: R|kotlin/String|): R|kotlin/Unit|
|
||||||
|
|
||||||
|
}
|
||||||
|
public open [ResolvedTo(STATUS)] class ClassWithParameter : R|kotlin/Any| {
|
||||||
|
public [ResolvedTo(STATUS)] [ContainingClassKey=ClassWithParameter] constructor([ResolvedTo(STATUS)] i: R|one/Interface|): R|one/ClassWithParameter| {
|
||||||
|
LAZY_super<R|kotlin/Any|>
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
|
super<R|one/ClassWithParameter|>(object : R|one/Interface| {
|
||||||
|
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public open override [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
ANNOTATIONS_ARGUMENTS_MAPPING:
|
||||||
|
FILE: [ResolvedTo(IMPORTS)] localParameterInsideSuperEntryCall.kt
|
||||||
|
[ResolvedTo(RAW_FIR)] annotations container
|
||||||
|
public abstract [ResolvedTo(STATUS)] interface Interface : R|kotlin/Any| {
|
||||||
|
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] param: R|kotlin/String|): R|kotlin/Unit|
|
||||||
|
|
||||||
|
}
|
||||||
|
public open [ResolvedTo(STATUS)] class ClassWithParameter : R|kotlin/Any| {
|
||||||
|
public [ResolvedTo(STATUS)] [ContainingClassKey=ClassWithParameter] constructor([ResolvedTo(STATUS)] i: R|one/Interface|): R|one/ClassWithParameter| {
|
||||||
|
LAZY_super<R|kotlin/Any|>
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
|
super<R|one/ClassWithParameter|>(object : R|one/Interface| {
|
||||||
|
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public open override [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
BODY_RESOLVE:
|
||||||
|
FILE: [ResolvedTo(IMPORTS)] localParameterInsideSuperEntryCall.kt
|
||||||
|
[ResolvedTo(RAW_FIR)] annotations container
|
||||||
|
public abstract [ResolvedTo(STATUS)] interface Interface : R|kotlin/Any| {
|
||||||
|
public abstract [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] param: R|kotlin/String|): R|kotlin/Unit|
|
||||||
|
|
||||||
|
}
|
||||||
|
public open [ResolvedTo(STATUS)] class ClassWithParameter : R|kotlin/Any| {
|
||||||
|
public [ResolvedTo(STATUS)] [ContainingClassKey=ClassWithParameter] constructor([ResolvedTo(STATUS)] i: R|one/Interface|): R|one/ClassWithParameter| {
|
||||||
|
LAZY_super<R|kotlin/Any|>
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
|
super<R|one/ClassWithParameter|>(object : R|one/Interface| {
|
||||||
|
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public open override [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
FILE RAW TO BODY:
|
||||||
|
FILE: [ResolvedTo(IMPORTS)] localParameterInsideSuperEntryCall.kt
|
||||||
|
[ResolvedTo(BODY_RESOLVE)] annotations container
|
||||||
|
public abstract [ResolvedTo(BODY_RESOLVE)] interface Interface : R|kotlin/Any| {
|
||||||
|
public abstract [ResolvedTo(BODY_RESOLVE)] fun foo([ResolvedTo(BODY_RESOLVE)] param: R|kotlin/String|): R|kotlin/Unit|
|
||||||
|
|
||||||
|
}
|
||||||
|
public open [ResolvedTo(BODY_RESOLVE)] class ClassWithParameter : R|kotlin/Any| {
|
||||||
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=ClassWithParameter] constructor([ResolvedTo(BODY_RESOLVE)] i: R|one/Interface|): R|one/ClassWithParameter| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|one/ClassWithParameter| {
|
||||||
|
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|one/TopLevelClass| {
|
||||||
|
super<R|one/ClassWithParameter|>(object : R|one/Interface| {
|
||||||
|
private [ResolvedTo(RAW_FIR)] [ContainingClassKey=<anonymous>] constructor(): R|<anonymous>| {
|
||||||
|
super<R|kotlin/Any|>()
|
||||||
|
}
|
||||||
|
|
||||||
|
public open override [ResolvedTo(RAW_FIR)] fun foo([ResolvedTo(RAW_FIR)] param: R|kotlin/String|): R|kotlin/Unit| {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+12
@@ -198,12 +198,24 @@ public class FirOutOfContentRootLazyDeclarationResolveTestGenerated extends Abst
|
|||||||
runTest("analysis/low-level-api-fir/testdata/lazyResolve/lazyProperty.kt");
|
runTest("analysis/low-level-api-fir/testdata/lazyResolve/lazyProperty.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("localFunctionInsideSuperEntryCall.kt")
|
||||||
|
public void testLocalFunctionInsideSuperEntryCall() throws Exception {
|
||||||
|
runTest("analysis/low-level-api-fir/testdata/lazyResolve/localFunctionInsideSuperEntryCall.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("localNestedClass.kt")
|
@TestMetadata("localNestedClass.kt")
|
||||||
public void testLocalNestedClass() throws Exception {
|
public void testLocalNestedClass() throws Exception {
|
||||||
runTest("analysis/low-level-api-fir/testdata/lazyResolve/localNestedClass.kt");
|
runTest("analysis/low-level-api-fir/testdata/lazyResolve/localNestedClass.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("localParameterInsideSuperEntryCall.kt")
|
||||||
|
public void testLocalParameterInsideSuperEntryCall() throws Exception {
|
||||||
|
runTest("analysis/low-level-api-fir/testdata/lazyResolve/localParameterInsideSuperEntryCall.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("nestedTypeAlias.kt")
|
@TestMetadata("nestedTypeAlias.kt")
|
||||||
public void testNestedTypeAlias() throws Exception {
|
public void testNestedTypeAlias() throws Exception {
|
||||||
|
|||||||
+12
@@ -198,12 +198,24 @@ public class FirSourceLazyDeclarationResolveTestGenerated extends AbstractFirSou
|
|||||||
runTest("analysis/low-level-api-fir/testdata/lazyResolve/lazyProperty.kt");
|
runTest("analysis/low-level-api-fir/testdata/lazyResolve/lazyProperty.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("localFunctionInsideSuperEntryCall.kt")
|
||||||
|
public void testLocalFunctionInsideSuperEntryCall() throws Exception {
|
||||||
|
runTest("analysis/low-level-api-fir/testdata/lazyResolve/localFunctionInsideSuperEntryCall.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("localNestedClass.kt")
|
@TestMetadata("localNestedClass.kt")
|
||||||
public void testLocalNestedClass() throws Exception {
|
public void testLocalNestedClass() throws Exception {
|
||||||
runTest("analysis/low-level-api-fir/testdata/lazyResolve/localNestedClass.kt");
|
runTest("analysis/low-level-api-fir/testdata/lazyResolve/localNestedClass.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("localParameterInsideSuperEntryCall.kt")
|
||||||
|
public void testLocalParameterInsideSuperEntryCall() throws Exception {
|
||||||
|
runTest("analysis/low-level-api-fir/testdata/lazyResolve/localParameterInsideSuperEntryCall.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("nestedTypeAlias.kt")
|
@TestMetadata("nestedTypeAlias.kt")
|
||||||
public void testNestedTypeAlias() throws Exception {
|
public void testNestedTypeAlias() throws Exception {
|
||||||
|
|||||||
Reference in New Issue
Block a user