[FIR] do not transform type annotations from function parameter during implicit type phase
We shouldn't treat them as local and transform during the implicit type phase as they are visible from outside the function ^KT-64164 Fixed
This commit is contained in:
committed by
Space Team
parent
3d43dff8b5
commit
061734d84b
+12
-5
@@ -2492,23 +2492,30 @@ class LightTreeRawFirDeclarationBuilder(
|
||||
var destructuringDeclaration: DestructuringDeclaration? = null
|
||||
valueParameter.forEachChildren {
|
||||
when (it.tokenType) {
|
||||
MODIFIER_LIST -> {
|
||||
modifiers = convertModifierList(it)
|
||||
valueAnnotations += convertAnnotationList(it)
|
||||
}
|
||||
MODIFIER_LIST -> modifiers = convertModifierList(it)
|
||||
VAL_KEYWORD -> isVal = true
|
||||
VAR_KEYWORD -> isVar = true
|
||||
IDENTIFIER -> identifier = it.asText
|
||||
TYPE_REFERENCE -> firType = convertType(it)
|
||||
TYPE_REFERENCE -> {}
|
||||
DESTRUCTURING_DECLARATION -> destructuringDeclaration = convertDestructingDeclaration(it)
|
||||
else -> if (it.isExpression()) firExpression = expressionConverter.getAsFirExpression(it, "Should have default value")
|
||||
}
|
||||
}
|
||||
|
||||
val name = convertValueParameterName(identifier.nameAsSafeName(), valueParameterDeclaration) { identifier }
|
||||
val valueParameterSymbol = FirValueParameterSymbol(name)
|
||||
withContainerSymbol(valueParameterSymbol, isLocal = valueParameterDeclaration != ValueParameterDeclaration.FUNCTION) {
|
||||
valueParameter.forEachChildren {
|
||||
when (it.tokenType) {
|
||||
MODIFIER_LIST -> valueAnnotations += convertAnnotationList(it)
|
||||
TYPE_REFERENCE -> firType = convertType(it)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
val valueParameterSource = valueParameter.toFirSourceElement()
|
||||
return ValueParameter(
|
||||
valueParameterSymbol = valueParameterSymbol,
|
||||
isVal = isVal,
|
||||
isVar = isVar,
|
||||
modifiers = modifiers,
|
||||
|
||||
+2
-1
@@ -49,6 +49,7 @@ import org.jetbrains.kotlin.name.CallableId
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
|
||||
class ValueParameter(
|
||||
private val valueParameterSymbol: FirValueParameterSymbol,
|
||||
private val isVal: Boolean,
|
||||
private val isVar: Boolean,
|
||||
private val modifiers: Modifier,
|
||||
@@ -90,7 +91,7 @@ class ValueParameter(
|
||||
}
|
||||
|
||||
this.name = this@ValueParameter.name
|
||||
symbol = FirValueParameterSymbol(name)
|
||||
symbol = valueParameterSymbol
|
||||
defaultValue = this@ValueParameter.defaultValue
|
||||
isCrossinline = modifiers.hasCrossinline()
|
||||
isNoinline = modifiers.hasNoinline()
|
||||
|
||||
+20
-17
@@ -661,31 +661,34 @@ open class PsiRawFirBuilder(
|
||||
moduleData = baseModuleData
|
||||
origin = FirDeclarationOrigin.Source
|
||||
isVararg = isVarArg
|
||||
returnTypeRef = when {
|
||||
typeReference != null -> typeReference.toFirOrErrorType()
|
||||
defaultTypeRef != null -> defaultTypeRef
|
||||
valueParameterDeclaration.shouldExplicitParameterTypeBePresent -> createNoTypeForParameterTypeRef(parameterSource)
|
||||
else -> null.toFirOrImplicitType()
|
||||
}.let {
|
||||
if (isVararg && it is FirErrorTypeRef) {
|
||||
it.wrapIntoArray()
|
||||
} else {
|
||||
it
|
||||
}
|
||||
}
|
||||
|
||||
this.name = name
|
||||
symbol = FirValueParameterSymbol(name)
|
||||
withContainerSymbol(symbol, isLocal = valueParameterDeclaration != ValueParameterDeclaration.FUNCTION) {
|
||||
returnTypeRef = when {
|
||||
typeReference != null -> typeReference.toFirOrErrorType()
|
||||
defaultTypeRef != null -> defaultTypeRef
|
||||
valueParameterDeclaration.shouldExplicitParameterTypeBePresent -> createNoTypeForParameterTypeRef(parameterSource)
|
||||
else -> null.toFirOrImplicitType()
|
||||
}.let {
|
||||
if (isVararg && it is FirErrorTypeRef) {
|
||||
it.wrapIntoArray()
|
||||
} else {
|
||||
it
|
||||
}
|
||||
}
|
||||
|
||||
addAnnotationsFrom(
|
||||
this@toFirValueParameter,
|
||||
isFromPrimaryConstructor = valueParameterDeclaration == ValueParameterDeclaration.PRIMARY_CONSTRUCTOR
|
||||
)
|
||||
}
|
||||
|
||||
defaultValue = if (hasDefaultValue()) {
|
||||
buildOrLazyExpression(null) { { this@toFirValueParameter.defaultValue }.toFirExpression("Should have default value") }
|
||||
} else null
|
||||
isCrossinline = hasModifier(CROSSINLINE_KEYWORD)
|
||||
isNoinline = hasModifier(NOINLINE_KEYWORD)
|
||||
containingFunctionSymbol = functionSymbol
|
||||
addAnnotationsFrom(
|
||||
this@toFirValueParameter,
|
||||
isFromPrimaryConstructor = valueParameterDeclaration == ValueParameterDeclaration.PRIMARY_CONSTRUCTOR
|
||||
)
|
||||
annotations += additionalAnnotations
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+8
-8
@@ -39,19 +39,19 @@ owner -> FirNamedFunctionSymbol /foo
|
||||
context -> FirNamedFunctionSymbol /foo
|
||||
|
||||
@base()
|
||||
owner -> FirNamedFunctionSymbol /foo
|
||||
owner -> FirValueParameterSymbol <local>/y from FirNamedFunctionSymbol /foo
|
||||
context -> FirValueParameterSymbol <local>/y from FirNamedFunctionSymbol /foo
|
||||
|
||||
@base()
|
||||
owner -> FirNamedFunctionSymbol /foo
|
||||
owner -> FirValueParameterSymbol <local>/y from FirNamedFunctionSymbol /foo
|
||||
context -> FirValueParameterSymbol <local>/y from FirNamedFunctionSymbol /foo
|
||||
|
||||
@base()
|
||||
owner -> FirNamedFunctionSymbol /foo
|
||||
owner -> FirValueParameterSymbol <local>/z from FirNamedFunctionSymbol <local>/bar
|
||||
context -> FirValueParameterSymbol <local>/z from FirNamedFunctionSymbol <local>/bar from FirNamedFunctionSymbol /foo
|
||||
|
||||
@base()
|
||||
owner -> FirNamedFunctionSymbol /foo
|
||||
owner -> FirValueParameterSymbol <local>/z from FirNamedFunctionSymbol <local>/bar
|
||||
context -> FirValueParameterSymbol <local>/z from FirNamedFunctionSymbol <local>/bar from FirNamedFunctionSymbol /foo
|
||||
|
||||
@base()
|
||||
@@ -134,19 +134,19 @@ owner -> FirNamedFunctionSymbol /fooDerived
|
||||
context -> FirNamedFunctionSymbol /fooDerived
|
||||
|
||||
@derived(IntegerLiteral(1))
|
||||
owner -> FirNamedFunctionSymbol /fooDerived
|
||||
owner -> FirValueParameterSymbol <local>/y from FirNamedFunctionSymbol /fooDerived
|
||||
context -> FirValueParameterSymbol <local>/y from FirNamedFunctionSymbol /fooDerived
|
||||
|
||||
@derived(IntegerLiteral(1))
|
||||
owner -> FirNamedFunctionSymbol /fooDerived
|
||||
owner -> FirValueParameterSymbol <local>/y from FirNamedFunctionSymbol /fooDerived
|
||||
context -> FirValueParameterSymbol <local>/y from FirNamedFunctionSymbol /fooDerived
|
||||
|
||||
@derived(IntegerLiteral(1))
|
||||
owner -> FirNamedFunctionSymbol /fooDerived
|
||||
owner -> FirValueParameterSymbol <local>/z from FirNamedFunctionSymbol <local>/bar
|
||||
context -> FirValueParameterSymbol <local>/z from FirNamedFunctionSymbol <local>/bar from FirNamedFunctionSymbol /fooDerived
|
||||
|
||||
@derived(IntegerLiteral(1))
|
||||
owner -> FirNamedFunctionSymbol /fooDerived
|
||||
owner -> FirValueParameterSymbol <local>/z from FirNamedFunctionSymbol <local>/bar
|
||||
context -> FirValueParameterSymbol <local>/z from FirNamedFunctionSymbol <local>/bar from FirNamedFunctionSymbol /fooDerived
|
||||
|
||||
@derived(IntegerLiteral(1))
|
||||
|
||||
compiler/fir/raw-fir/psi2fir/testData/rawBuilder/declarations/annotationOnField.annotationOwners.txt
Vendored
+1
-1
@@ -19,7 +19,7 @@ owner -> FirPropertySymbol /SomeClass.propertyWithCustomGetter
|
||||
context -> FirBackingFieldSymbol <local>/field from FirPropertySymbol /SomeClass.propertyWithCustomGetter
|
||||
|
||||
@FIELD:Ann()
|
||||
owner -> FirNamedFunctionSymbol /SomeClass.anotherFun
|
||||
owner -> FirValueParameterSymbol <local>/s from FirNamedFunctionSymbol /SomeClass.anotherFun
|
||||
context -> FirValueParameterSymbol <local>/s from FirNamedFunctionSymbol /SomeClass.anotherFun
|
||||
|
||||
@FIELD:Ann()
|
||||
|
||||
+2
-2
@@ -3,11 +3,11 @@ owner -> FirNamedFunctionSymbol /AnnotationsOnNullableParenthesizedTypes.receive
|
||||
context -> FirNamedFunctionSymbol /AnnotationsOnNullableParenthesizedTypes.receiverArgument
|
||||
|
||||
@A()
|
||||
owner -> FirNamedFunctionSymbol /AnnotationsOnNullableParenthesizedTypes.parameter
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol /AnnotationsOnNullableParenthesizedTypes.parameter
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol /AnnotationsOnNullableParenthesizedTypes.parameter
|
||||
|
||||
@A()
|
||||
owner -> FirNamedFunctionSymbol /AnnotationsOnNullableParenthesizedTypes.parameterArgument
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol /AnnotationsOnNullableParenthesizedTypes.parameterArgument
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol /AnnotationsOnNullableParenthesizedTypes.parameterArgument
|
||||
|
||||
@A()
|
||||
|
||||
+2
-2
@@ -3,11 +3,11 @@ owner -> FirNamedFunctionSymbol /AnnotationsOnParenthesizedTypes.receiverArgumen
|
||||
context -> FirNamedFunctionSymbol /AnnotationsOnParenthesizedTypes.receiverArgument
|
||||
|
||||
@A()
|
||||
owner -> FirNamedFunctionSymbol /AnnotationsOnParenthesizedTypes.parameter
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol /AnnotationsOnParenthesizedTypes.parameter
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol /AnnotationsOnParenthesizedTypes.parameter
|
||||
|
||||
@A()
|
||||
owner -> FirNamedFunctionSymbol /AnnotationsOnParenthesizedTypes.parameterArgument
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol /AnnotationsOnParenthesizedTypes.parameterArgument
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol /AnnotationsOnParenthesizedTypes.parameterArgument
|
||||
|
||||
@A()
|
||||
|
||||
+3
-3
@@ -1,13 +1,13 @@
|
||||
@Anno(<strcat>(String(nested nested parameter type ), prop#))
|
||||
owner -> FirConstructorSymbol /A.A
|
||||
owner -> FirValueParameterSymbol <local>/param from FirConstructorSymbol /A.A
|
||||
context -> FirValueParameterSymbol <local>/param from FirConstructorSymbol /A.A
|
||||
|
||||
@Anno(<strcat>(String(nested parameter type ), prop#))
|
||||
owner -> FirConstructorSymbol /A.A
|
||||
owner -> FirValueParameterSymbol <local>/param from FirConstructorSymbol /A.A
|
||||
context -> FirValueParameterSymbol <local>/param from FirConstructorSymbol /A.A
|
||||
|
||||
@Anno(<strcat>(String(parameter type ), prop#))
|
||||
owner -> FirConstructorSymbol /A.A
|
||||
owner -> FirValueParameterSymbol <local>/param from FirConstructorSymbol /A.A
|
||||
context -> FirValueParameterSymbol <local>/param from FirConstructorSymbol /A.A
|
||||
|
||||
@Anno(<strcat>(String(defaultValue ), prop#))
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ owner -> FirNamedFunctionSymbol /<anonymous>.getValue
|
||||
context -> FirNamedFunctionSymbol /<anonymous>.getValue from FirAnonymousObjectSymbol <anonymous> from FirPropertySymbol /delegate
|
||||
|
||||
@Anno(<strcat>(String(setValue value parameter type ), x#))
|
||||
owner -> FirNamedFunctionSymbol /<anonymous>.setValue
|
||||
owner -> FirValueParameterSymbol <local>/value from FirNamedFunctionSymbol /<anonymous>.setValue
|
||||
context -> FirValueParameterSymbol <local>/value from FirNamedFunctionSymbol /<anonymous>.setValue from FirAnonymousObjectSymbol <anonymous> from FirPropertySymbol /delegate
|
||||
|
||||
@Anno(<strcat>(String(setValue ), x#))
|
||||
|
||||
+4
-4
@@ -1,17 +1,17 @@
|
||||
@NestedNestedParameterTypeAnnotation(<strcat>(String(nested nested ), prop#))
|
||||
owner -> FirNamedFunctionSymbol /foo
|
||||
owner -> FirValueParameterSymbol <local>/param1 from FirNamedFunctionSymbol /foo
|
||||
context -> FirValueParameterSymbol <local>/param1 from FirNamedFunctionSymbol /foo
|
||||
|
||||
@NestedParameterTypeAnnotation(<strcat>(String(nested ), prop#))
|
||||
owner -> FirNamedFunctionSymbol /foo
|
||||
owner -> FirValueParameterSymbol <local>/param1 from FirNamedFunctionSymbol /foo
|
||||
context -> FirValueParameterSymbol <local>/param1 from FirNamedFunctionSymbol /foo
|
||||
|
||||
@ParameterTypeAnnotation(<strcat>(prop#))
|
||||
owner -> FirNamedFunctionSymbol /foo
|
||||
owner -> FirValueParameterSymbol <local>/param1 from FirNamedFunctionSymbol /foo
|
||||
context -> FirValueParameterSymbol <local>/param1 from FirNamedFunctionSymbol /foo
|
||||
|
||||
@ParameterAnnotation(String(param))
|
||||
owner -> FirNamedFunctionSymbol /foo
|
||||
owner -> FirValueParameterSymbol <local>/param1 from FirNamedFunctionSymbol /foo
|
||||
context -> FirValueParameterSymbol <local>/param1 from FirNamedFunctionSymbol /foo
|
||||
|
||||
@DefaultValueAnnotation()
|
||||
|
||||
Vendored
+30
-30
@@ -27,11 +27,11 @@ owner -> FirNamedFunctionSymbol /foo
|
||||
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
owner -> FirNamedFunctionSymbol /foo
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
owner -> FirNamedFunctionSymbol /foo
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
@@ -39,11 +39,11 @@ owner -> FirNamedFunctionSymbol /foo
|
||||
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
owner -> FirNamedFunctionSymbol /foo
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
owner -> FirNamedFunctionSymbol /foo
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
@@ -51,11 +51,11 @@ owner -> FirNamedFunctionSymbol /foo
|
||||
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
owner -> FirNamedFunctionSymbol /foo
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
owner -> FirNamedFunctionSymbol /foo
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
@@ -165,11 +165,11 @@ owner -> FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirNamedFunctionSymbol <local>/boo from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
owner -> FirNamedFunctionSymbol <local>/boo
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
owner -> FirNamedFunctionSymbol <local>/boo
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
@@ -177,11 +177,11 @@ owner -> FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
owner -> FirNamedFunctionSymbol <local>/boo
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
owner -> FirNamedFunctionSymbol <local>/boo
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
@@ -189,11 +189,11 @@ owner -> FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
owner -> FirNamedFunctionSymbol <local>/boo
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
owner -> FirNamedFunctionSymbol <local>/boo
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
@@ -323,11 +323,11 @@ owner -> FirNamedFunctionSymbol <local>/localMember
|
||||
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
owner -> FirNamedFunctionSymbol <local>/localMember
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
owner -> FirNamedFunctionSymbol <local>/localMember
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
@@ -335,11 +335,11 @@ owner -> FirNamedFunctionSymbol <local>/localMember
|
||||
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
owner -> FirNamedFunctionSymbol <local>/localMember
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
owner -> FirNamedFunctionSymbol <local>/localMember
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
@@ -347,11 +347,11 @@ owner -> FirNamedFunctionSymbol <local>/localMember
|
||||
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
owner -> FirNamedFunctionSymbol <local>/localMember
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
owner -> FirNamedFunctionSymbol <local>/localMember
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local.LocalNested.Local from FirRegularClassSymbol <local>/Local.LocalNested from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
@@ -587,11 +587,11 @@ owner -> FirNamedFunctionSymbol <local>/localMember
|
||||
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
owner -> FirNamedFunctionSymbol <local>/localMember
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
owner -> FirNamedFunctionSymbol <local>/localMember
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
@@ -599,11 +599,11 @@ owner -> FirNamedFunctionSymbol <local>/localMember
|
||||
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
owner -> FirNamedFunctionSymbol <local>/localMember
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
owner -> FirNamedFunctionSymbol <local>/localMember
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
@@ -611,11 +611,11 @@ owner -> FirNamedFunctionSymbol <local>/localMember
|
||||
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
owner -> FirNamedFunctionSymbol <local>/localMember
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
owner -> FirNamedFunctionSymbol <local>/localMember
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
@@ -755,11 +755,11 @@ owner -> FirPropertySymbol <local>/localProperty
|
||||
context -> FirNamedFunctionSymbol <local>/boo from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
owner -> FirPropertySymbol <local>/localProperty
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
owner -> FirPropertySymbol <local>/localProperty
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
@@ -767,11 +767,11 @@ owner -> FirPropertySymbol <local>/localProperty
|
||||
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
owner -> FirPropertySymbol <local>/localProperty
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
owner -> FirPropertySymbol <local>/localProperty
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
@@ -779,11 +779,11 @@ owner -> FirPropertySymbol <local>/localProperty
|
||||
context -> FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
owner -> FirPropertySymbol <local>/localProperty
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
owner -> FirPropertySymbol <local>/localProperty
|
||||
owner -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo
|
||||
context -> FirValueParameterSymbol <local>/a from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirNamedFunctionSymbol <local>/boo from FirPropertyAccessorSymbol special/accessor from FirPropertySymbol <local>/localProperty from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol <local>/localMember from FirRegularClassSymbol <local>/Local from FirNamedFunctionSymbol /foo
|
||||
|
||||
@Anno()
|
||||
|
||||
+8
-1
@@ -29,6 +29,7 @@ import org.jetbrains.kotlin.fir.render
|
||||
import org.jetbrains.kotlin.fir.renderer.FirRenderer
|
||||
import org.jetbrains.kotlin.fir.session.FirSessionFactoryHelper
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionWithoutNameSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeProjection
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.isExtensionFunctionAnnotationCall
|
||||
@@ -93,7 +94,13 @@ abstract class AbstractRawFirBuilderTestCase : KtParsingTestCase(
|
||||
buildString {
|
||||
appendLine(annotation.render().trim())
|
||||
append("owner -> ")
|
||||
appendLine(annotation.containingDeclarationSymbol)
|
||||
appendLine(annotation.containingDeclarationSymbol.let {
|
||||
if (it is FirValueParameterSymbol) {
|
||||
"$it from ${it.containingFunctionSymbol}"
|
||||
} else {
|
||||
it
|
||||
}
|
||||
})
|
||||
|
||||
contexts.joinToWithBuffer(buffer = this, separator = "\n") {
|
||||
append("context -> ")
|
||||
|
||||
Reference in New Issue
Block a user