[FIR] WIP Render arguments of dangling annotations
Seems like too much testdata has changed
KT-73266
diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/contextParameters/annotatedContextParameterOnAnonymousFunction2.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/contextParameters/annotatedContextParameterOnAnonymousFunction2.txt
index f3ccb16..6118b54 100644
--- a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/contextParameters/annotatedContextParameterOnAnonymousFunction2.txt
+++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/contextParameters/annotatedContextParameterOnAnonymousFunction2.txt
@@ -23,7 +23,7 @@
psi: KtAnnotationEntry
]
typeArguments: []
- type: @R|Anno|() kotlin/String
+ type: @R|Anno|(<strcat>(String(1), String(2))) kotlin/String
visibility: PUBLIC
getContainingFileSymbol: KaFileSymbol(annotatedContextParameterOnAnonymousFunction2.kt)
getContainingJvmClassName: null
diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/contextParameters/annotatedContextParameterOnClass2.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/contextParameters/annotatedContextParameterOnClass2.txt
index 77584de..babcc75 100644
--- a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/contextParameters/annotatedContextParameterOnClass2.txt
+++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/contextParameters/annotatedContextParameterOnClass2.txt
@@ -23,7 +23,7 @@
psi: KtAnnotationEntry
]
typeArguments: []
- type: @R|Anno|() kotlin/String
+ type: @R|Anno|(<strcat>(String(1), String(2))) kotlin/String
visibility: PUBLIC
getContainingFileSymbol: KaFileSymbol(annotatedContextParameterOnClass2.kt)
getContainingJvmClassName: null
diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/contextParameters/annotatedContextParameterOnFunction2.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/contextParameters/annotatedContextParameterOnFunction2.txt
index 9e21303..ad872be 100644
--- a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/contextParameters/annotatedContextParameterOnFunction2.txt
+++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/contextParameters/annotatedContextParameterOnFunction2.txt
@@ -23,7 +23,7 @@
psi: KtAnnotationEntry
]
typeArguments: []
- type: @R|Anno|() kotlin/String
+ type: @R|Anno|(<strcat>(String(1), String(2))) kotlin/String
visibility: PUBLIC
getContainingFileSymbol: KaFileSymbol(annotatedContextParameterOnFunction2.kt)
getContainingJvmClassName: AnnotatedContextParameterOnFunction2Kt
diff --git a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/contextParameters/annotatedContextParameterOnProperty2.txt b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/contextParameters/annotatedContextParameterOnProperty2.txt
index 6ac0413..5e4eb6a 100644
--- a/analysis/analysis-api/testData/symbols/singleSymbolByPsi/contextParameters/annotatedContextParameterOnProperty2.txt
+++ b/analysis/analysis-api/testData/symbols/singleSymbolByPsi/contextParameters/annotatedContextParameterOnProperty2.txt
@@ -23,7 +23,7 @@
psi: KtAnnotationEntry
]
typeArguments: []
- type: @R|Anno|() kotlin/String
+ type: @R|Anno|(<strcat>(String(1), String(2))) kotlin/String
visibility: PUBLIC
getContainingFileSymbol: KaFileSymbol(annotatedContextParameterOnProperty2.kt)
getContainingJvmClassName: AnnotatedContextParameterOnProperty2Kt
diff --git a/analysis/low-level-api-fir/testData/lazyResolve/annotationClassWithJavaTarget.out_of_src_roots.txt b/analysis/low-level-api-fir/testData/lazyResolve/annotationClassWithJavaTarget.out_of_src_roots.txt
index 3af9832..01eef14 100644
--- a/analysis/low-level-api-fir/testData/lazyResolve/annotationClassWithJavaTarget.out_of_src_roots.txt
+++ b/analysis/low-level-api-fir/testData/lazyResolve/annotationClassWithJavaTarget.out_of_src_roots.txt
@@ -99,7 +99,7 @@
ANNOTATION_ARGUMENTS:
FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
- @<ERROR TYPE REF: Symbol not found for java>[Types]() public final [ResolvedTo(ANNOTATION_ARGUMENTS)] annotation class ResolveMe : R|kotlin/Annotation| {
+ @<ERROR TYPE REF: Symbol not found for java>[Types](<Unresolved name: ElementType>#.<Unresolved name: TYPE_USE>#) public final [ResolvedTo(ANNOTATION_ARGUMENTS)] annotation class ResolveMe : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| {
LAZY_super<R|kotlin/Any|>
}
@@ -108,7 +108,7 @@
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
- @<ERROR TYPE REF: Symbol not found for java>[Types]() public final [ResolvedTo(BODY_RESOLVE)] annotation class ResolveMe : R|kotlin/Annotation| {
+ @<ERROR TYPE REF: Symbol not found for java>[Types](<Unresolved name: ElementType>#.<Unresolved name: TYPE_USE>#) public final [ResolvedTo(BODY_RESOLVE)] annotation class ResolveMe : R|kotlin/Annotation| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| {
super<R|kotlin/Any|>()
}
@@ -117,7 +117,7 @@
FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] annotationClassWithJavaTarget.kt
- @<ERROR TYPE REF: Symbol not found for java>[Types]() public final [ResolvedTo(BODY_RESOLVE)] annotation class ResolveMe : R|kotlin/Annotation| {
+ @<ERROR TYPE REF: Symbol not found for java>[Types](<Unresolved name: ElementType>#.<Unresolved name: TYPE_USE>#) public final [ResolvedTo(BODY_RESOLVE)] annotation class ResolveMe : R|kotlin/Annotation| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| {
super<R|kotlin/Any|>()
}
diff --git a/analysis/low-level-api-fir/testData/lazyResolve/classes/annotationWithArgumentInsideSuperTypeCall.txt b/analysis/low-level-api-fir/testData/lazyResolve/classes/annotationWithArgumentInsideSuperTypeCall.txt
index 2faa0b0..9a38d01 100644
--- a/analysis/low-level-api-fir/testData/lazyResolve/classes/annotationWithArgumentInsideSuperTypeCall.txt
+++ b/analysis/low-level-api-fir/testData/lazyResolve/classes/annotationWithArgumentInsideSuperTypeCall.txt
@@ -195,7 +195,7 @@
}
public abstract [ResolvedTo(STATUS)] interface Foo : R|kotlin/Any| {
}
- public final [ResolvedTo(ANNOTATION_ARGUMENTS)] class MyClass : R|@R|Anno|() Foo| {
+ public final [ResolvedTo(ANNOTATION_ARGUMENTS)] class MyClass : R|@R|Anno|(Q|Foo|) Foo| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=MyClass] constructor(): R|MyClass| {
LAZY_super<<implicit>>
}
@@ -212,7 +212,7 @@
}
public abstract [ResolvedTo(STATUS)] interface Foo : R|kotlin/Any| {
}
- public final [ResolvedTo(BODY_RESOLVE)] class MyClass : R|@R|Anno|() Foo| {
+ public final [ResolvedTo(BODY_RESOLVE)] class MyClass : R|@R|Anno|(Q|Foo|) Foo| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=MyClass] constructor(): R|MyClass| {
super<R|kotlin/Any|>()
}
@@ -229,7 +229,7 @@
}
public abstract [ResolvedTo(BODY_RESOLVE)] interface Foo : R|kotlin/Any| {
}
- public final [ResolvedTo(BODY_RESOLVE)] class MyClass : R|@R|Anno|() Foo| {
+ public final [ResolvedTo(BODY_RESOLVE)] class MyClass : R|@R|Anno|(Q|Foo|) Foo| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=MyClass] constructor(): R|MyClass| {
super<R|kotlin/Any|>()
}
diff --git a/analysis/low-level-api-fir/testData/lazyResolve/classes/annotationWithArgumentInsideSuperTypeCallUnresolved.txt b/analysis/low-level-api-fir/testData/lazyResolve/classes/annotationWithArgumentInsideSuperTypeCallUnresolved.txt
index 932a8f6..d68a357 100644
--- a/analysis/low-level-api-fir/testData/lazyResolve/classes/annotationWithArgumentInsideSuperTypeCallUnresolved.txt
+++ b/analysis/low-level-api-fir/testData/lazyResolve/classes/annotationWithArgumentInsideSuperTypeCallUnresolved.txt
@@ -99,7 +99,7 @@
ANNOTATION_ARGUMENTS:
FILE: [ResolvedTo(IMPORTS)] annotationWithArgumentInsideSuperTypeCallUnresolved.kt
- public final [ResolvedTo(ANNOTATION_ARGUMENTS)] class MyClass : @<ERROR TYPE REF: Symbol not found for Anno>[Types]() <ERROR TYPE REF: Symbol not found for Foo> {
+ public final [ResolvedTo(ANNOTATION_ARGUMENTS)] class MyClass : @<ERROR TYPE REF: Symbol not found for Anno>[Types](<Unresolved name: UnresolvedClass>#) <ERROR TYPE REF: Symbol not found for Foo> {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=MyClass] constructor(): R|MyClass| {
LAZY_super<<implicit>>
}
@@ -108,7 +108,7 @@
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] annotationWithArgumentInsideSuperTypeCallUnresolved.kt
- public final [ResolvedTo(BODY_RESOLVE)] class MyClass : @<ERROR TYPE REF: Symbol not found for Anno>[Types]() <ERROR TYPE REF: Symbol not found for Foo> {
+ public final [ResolvedTo(BODY_RESOLVE)] class MyClass : @<ERROR TYPE REF: Symbol not found for Anno>[Types](<Unresolved name: UnresolvedClass>#) <ERROR TYPE REF: Symbol not found for Foo> {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=MyClass] constructor(): R|MyClass| {
super<R|kotlin/Any|>()
}
@@ -117,7 +117,7 @@
FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] annotationWithArgumentInsideSuperTypeCallUnresolved.kt
- public final [ResolvedTo(BODY_RESOLVE)] class MyClass : @<ERROR TYPE REF: Symbol not found for Anno>[Types]() <ERROR TYPE REF: Symbol not found for Foo> {
+ public final [ResolvedTo(BODY_RESOLVE)] class MyClass : @<ERROR TYPE REF: Symbol not found for Anno>[Types](<Unresolved name: UnresolvedClass>#) <ERROR TYPE REF: Symbol not found for Foo> {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=MyClass] constructor(): R|MyClass| {
super<R|kotlin/Any|>()
}
diff --git a/analysis/low-level-api-fir/testData/lazyResolve/errors/annotationWithNamedFunctionArgument.out_of_src_roots.txt b/analysis/low-level-api-fir/testData/lazyResolve/errors/annotationWithNamedFunctionArgument.out_of_src_roots.txt
new file mode 100644
index 0000000..7f3862f
--- /dev/null
+++ b/analysis/low-level-api-fir/testData/lazyResolve/errors/annotationWithNamedFunctionArgument.out_of_src_roots.txt
@@ -0,0 +1,131 @@
+RAW_FIR:
+FILE: [ResolvedTo(RAW_FIR)] annotationWithNamedFunctionArgument.kt
+ @Anno[Unresolved](LAZY_EXPRESSION) public final? [ResolvedTo(RAW_FIR)] class TopLevelClass : R|kotlin/Any| {
+ public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| {
+ LAZY_super<R|kotlin/Any|>
+ }
+
+ }
+
+IMPORTS:
+FILE: [ResolvedTo(IMPORTS)] annotationWithNamedFunctionArgument.kt
+ @Anno[Unresolved](LAZY_EXPRESSION) public final? [ResolvedTo(RAW_FIR)] class TopLevelClass : R|kotlin/Any| {
+ public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| {
+ LAZY_super<R|kotlin/Any|>
+ }
+
+ }
+
+COMPILER_REQUIRED_ANNOTATIONS:
+FILE: [ResolvedTo(IMPORTS)] annotationWithNamedFunctionArgument.kt
+ @Anno[Unresolved](LAZY_EXPRESSION) public final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] class TopLevelClass : R|kotlin/Any| {
+ public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| {
+ LAZY_super<R|kotlin/Any|>
+ }
+
+ }
+
+COMPANION_GENERATION:
+FILE: [ResolvedTo(IMPORTS)] annotationWithNamedFunctionArgument.kt
+ @Anno[Unresolved](LAZY_EXPRESSION) public final? [ResolvedTo(COMPANION_GENERATION)] class TopLevelClass : R|kotlin/Any| {
+ public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| {
+ LAZY_super<R|kotlin/Any|>
+ }
+
+ }
+
+SUPER_TYPES:
+FILE: [ResolvedTo(IMPORTS)] annotationWithNamedFunctionArgument.kt
+ @Anno[Unresolved](LAZY_EXPRESSION) public final? [ResolvedTo(SUPER_TYPES)] class TopLevelClass : R|kotlin/Any| {
+ public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| {
+ LAZY_super<R|kotlin/Any|>
+ }
+
+ }
+
+TYPES:
+FILE: [ResolvedTo(IMPORTS)] annotationWithNamedFunctionArgument.kt
+ @<ERROR TYPE REF: Symbol not found for Anno>[Types](LAZY_EXPRESSION) public final? [ResolvedTo(TYPES)] class TopLevelClass : R|kotlin/Any| {
+ public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| {
+ LAZY_super<R|kotlin/Any|>
+ }
+
+ }
+
+STATUS:
+FILE: [ResolvedTo(IMPORTS)] annotationWithNamedFunctionArgument.kt
+ @<ERROR TYPE REF: Symbol not found for Anno>[Types](LAZY_EXPRESSION) public final [ResolvedTo(STATUS)] class TopLevelClass : R|kotlin/Any| {
+ public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| {
+ LAZY_super<R|kotlin/Any|>
+ }
+
+ }
+
+EXPECT_ACTUAL_MATCHING:
+FILE: [ResolvedTo(IMPORTS)] annotationWithNamedFunctionArgument.kt
+ @<ERROR TYPE REF: Symbol not found for Anno>[Types](LAZY_EXPRESSION) public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class TopLevelClass : R|kotlin/Any| {
+ public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| {
+ LAZY_super<R|kotlin/Any|>
+ }
+
+ }
+
+CONTRACTS:
+FILE: [ResolvedTo(IMPORTS)] annotationWithNamedFunctionArgument.kt
+ @<ERROR TYPE REF: Symbol not found for Anno>[Types](LAZY_EXPRESSION) public final [ResolvedTo(CONTRACTS)] class TopLevelClass : R|kotlin/Any| {
+ public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| {
+ LAZY_super<R|kotlin/Any|>
+ }
+
+ }
+
+IMPLICIT_TYPES_BODY_RESOLVE:
+FILE: [ResolvedTo(IMPORTS)] annotationWithNamedFunctionArgument.kt
+ @<ERROR TYPE REF: Symbol not found for Anno>[Types](LAZY_EXPRESSION) public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class TopLevelClass : R|kotlin/Any| {
+ public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| {
+ LAZY_super<R|kotlin/Any|>
+ }
+
+ }
+
+CONSTANT_EVALUATION:
+FILE: [ResolvedTo(IMPORTS)] annotationWithNamedFunctionArgument.kt
+ @<ERROR TYPE REF: Symbol not found for Anno>[Types](LAZY_EXPRESSION) public final [ResolvedTo(CONSTANT_EVALUATION)] class TopLevelClass : R|kotlin/Any| {
+ public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| {
+ LAZY_super<R|kotlin/Any|>
+ }
+
+ }
+
+ANNOTATION_ARGUMENTS:
+FILE: [ResolvedTo(IMPORTS)] annotationWithNamedFunctionArgument.kt
+ @<ERROR TYPE REF: Symbol not found for Anno>[Types](ERROR_EXPR(Incorrect invoke receiver)local final? [ResolvedTo(RAW_FIR)] fun a(): R|kotlin/String| {
+ }
+ .<Unresolved name: invoke>#()) public final [ResolvedTo(ANNOTATION_ARGUMENTS)] class TopLevelClass : R|kotlin/Any| {
+ public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| {
+ LAZY_super<R|kotlin/Any|>
+ }
+
+ }
+
+BODY_RESOLVE:
+FILE: [ResolvedTo(IMPORTS)] annotationWithNamedFunctionArgument.kt
+ @<ERROR TYPE REF: Symbol not found for Anno>[Types](ERROR_EXPR(Incorrect invoke receiver)local final? [ResolvedTo(RAW_FIR)] fun a(): R|kotlin/String| {
+ }
+ .<Unresolved name: invoke>#()) public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|kotlin/Any| {
+ public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| {
+ super<R|kotlin/Any|>()
+ }
+
+ }
+
+FILE RAW TO BODY:
+FILE: [ResolvedTo(BODY_RESOLVE)] annotationWithNamedFunctionArgument.kt
+ @<ERROR TYPE REF: Symbol not found for Anno>[Types](ERROR_EXPR(Incorrect invoke receiver)local final? [ResolvedTo(RAW_FIR)] fun a(): R|kotlin/String| {
+ }
+ .<Unresolved name: invoke>#()) public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|kotlin/Any| {
+ public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| {
+ super<R|kotlin/Any|>()
+ }
+
+ }
diff --git a/analysis/low-level-api-fir/testData/lazyResolve/errors/annotationWithNamedFunctionArgument.txt b/analysis/low-level-api-fir/testData/lazyResolve/errors/annotationWithNamedFunctionArgument.txt
index d69bd60..13fd6f5 100644
--- a/analysis/low-level-api-fir/testData/lazyResolve/errors/annotationWithNamedFunctionArgument.txt
+++ b/analysis/low-level-api-fir/testData/lazyResolve/errors/annotationWithNamedFunctionArgument.txt
@@ -99,7 +99,9 @@
ANNOTATION_ARGUMENTS:
FILE: [ResolvedTo(IMPORTS)] annotationWithNamedFunctionArgument.kt
- @<ERROR TYPE REF: Symbol not found for Anno>[Types]() public final [ResolvedTo(ANNOTATION_ARGUMENTS)] class TopLevelClass : R|kotlin/Any| {
+ @<ERROR TYPE REF: Symbol not found for Anno>[Types](ERROR_EXPR(Incorrect invoke receiver)local final? [ResolvedTo(RAW_FIR)] fun a(): R|kotlin/String| {
+ }
+ .R|kotlin/invoke<Inapplicable(INAPPLICABLE_ARGUMENTS_MAPPING_ERROR): kotlin/invoke>#|<<ERROR TYPE REF: Cannot infer argument for type parameter T>, <ERROR TYPE REF: Cannot infer argument for type parameter R>>()) public final [ResolvedTo(ANNOTATION_ARGUMENTS)] class TopLevelClass : R|kotlin/Any| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| {
LAZY_super<R|kotlin/Any|>
}
@@ -108,7 +110,9 @@
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] annotationWithNamedFunctionArgument.kt
- @<ERROR TYPE REF: Symbol not found for Anno>[Types]() public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|kotlin/Any| {
+ @<ERROR TYPE REF: Symbol not found for Anno>[Types](ERROR_EXPR(Incorrect invoke receiver)local final? [ResolvedTo(RAW_FIR)] fun a(): R|kotlin/String| {
+ }
+ .R|kotlin/invoke<Inapplicable(INAPPLICABLE_ARGUMENTS_MAPPING_ERROR): kotlin/invoke>#|<<ERROR TYPE REF: Cannot infer argument for type parameter T>, <ERROR TYPE REF: Cannot infer argument for type parameter R>>()) public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| {
super<R|kotlin/Any|>()
}
@@ -117,7 +121,9 @@
FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] annotationWithNamedFunctionArgument.kt
- @<ERROR TYPE REF: Symbol not found for Anno>[Types]() public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|kotlin/Any| {
+ @<ERROR TYPE REF: Symbol not found for Anno>[Types](ERROR_EXPR(Incorrect invoke receiver)local final? [ResolvedTo(RAW_FIR)] fun a(): R|kotlin/String| {
+ }
+ .R|kotlin/invoke<Inapplicable(INAPPLICABLE_ARGUMENTS_MAPPING_ERROR): kotlin/invoke>#|<<ERROR TYPE REF: Cannot infer argument for type parameter T>, <ERROR TYPE REF: Cannot infer argument for type parameter R>>()) public final [ResolvedTo(BODY_RESOLVE)] class TopLevelClass : R|kotlin/Any| {
public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TopLevelClass] constructor(): R|TopLevelClass| {
super<R|kotlin/Any|>()
}
diff --git a/analysis/low-level-api-fir/testData/lazyResolve/functions/unresolvedAnnotationOnFunctionType.txt b/analysis/low-level-api-fir/testData/lazyResolve/functions/unresolvedAnnotationOnFunctionType.txt
index a1912f4..679e3ed 100644
--- a/analysis/low-level-api-fir/testData/lazyResolve/functions/unresolvedAnnotationOnFunctionType.txt
+++ b/analysis/low-level-api-fir/testData/lazyResolve/functions/unresolvedAnnotationOnFunctionType.txt
@@ -44,14 +44,14 @@
ANNOTATION_ARGUMENTS:
FILE: [ResolvedTo(IMPORTS)] unresolvedAnnotationOnFunctionType.kt
- public final [ResolvedTo(ANNOTATION_ARGUMENTS)] fun foo([ResolvedTo(ANNOTATION_ARGUMENTS)] a: @<ERROR TYPE REF: Symbol not found for Anno>[Types]() <ERROR TYPE REF: Symbol not found for Foo>): @<ERROR TYPE REF: Symbol not found for Anno>[Types]() <ERROR TYPE REF: Symbol not found for Foo> { LAZY_BLOCK }
+ public final [ResolvedTo(ANNOTATION_ARGUMENTS)] fun foo([ResolvedTo(ANNOTATION_ARGUMENTS)] a: @<ERROR TYPE REF: Symbol not found for Anno>[Types](<Unresolved name: Foo>#) <ERROR TYPE REF: Symbol not found for Foo>): @<ERROR TYPE REF: Symbol not found for Anno>[Types](<Unresolved name: Foo>#) <ERROR TYPE REF: Symbol not found for Foo> { LAZY_BLOCK }
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] unresolvedAnnotationOnFunctionType.kt
- public final [ResolvedTo(BODY_RESOLVE)] fun foo([ResolvedTo(BODY_RESOLVE)] a: @<ERROR TYPE REF: Symbol not found for Anno>[Types]() <ERROR TYPE REF: Symbol not found for Foo>): @<ERROR TYPE REF: Symbol not found for Anno>[Types]() <ERROR TYPE REF: Symbol not found for Foo> {
+ public final [ResolvedTo(BODY_RESOLVE)] fun foo([ResolvedTo(BODY_RESOLVE)] a: @<ERROR TYPE REF: Symbol not found for Anno>[Types](<Unresolved name: Foo>#) <ERROR TYPE REF: Symbol not found for Foo>): @<ERROR TYPE REF: Symbol not found for Anno>[Types](<Unresolved name: Foo>#) <ERROR TYPE REF: Symbol not found for Foo> {
}
FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] unresolvedAnnotationOnFunctionType.kt
- public final [ResolvedTo(BODY_RESOLVE)] fun foo([ResolvedTo(BODY_RESOLVE)] a: @<ERROR TYPE REF: Symbol not found for Anno>[Types]() <ERROR TYPE REF: Symbol not found for Foo>): @<ERROR TYPE REF: Symbol not found for Anno>[Types]() <ERROR TYPE REF: Symbol not found for Foo> {
+ public final [ResolvedTo(BODY_RESOLVE)] fun foo([ResolvedTo(BODY_RESOLVE)] a: @<ERROR TYPE REF: Symbol not found for Anno>[Types](<Unresolved name: Foo>#) <ERROR TYPE REF: Symbol not found for Foo>): @<ERROR TYPE REF: Symbol not found for Anno>[Types](<Unresolved name: Foo>#) <ERROR TYPE REF: Symbol not found for Foo> {
}
diff --git a/analysis/low-level-api-fir/testData/lazyResolve/properties/unresolvedAnnotationOnPropertyType.txt b/analysis/low-level-api-fir/testData/lazyResolve/properties/unresolvedAnnotationOnPropertyType.txt
index 846b442..296af2d 100644
--- a/analysis/low-level-api-fir/testData/lazyResolve/properties/unresolvedAnnotationOnPropertyType.txt
+++ b/analysis/low-level-api-fir/testData/lazyResolve/properties/unresolvedAnnotationOnPropertyType.txt
@@ -55,15 +55,15 @@
ANNOTATION_ARGUMENTS:
FILE: [ResolvedTo(IMPORTS)] unresolvedAnnotationOnPropertyType.kt
- public final [ResolvedTo(ANNOTATION_ARGUMENTS)] val prop: @<ERROR TYPE REF: Symbol not found for Anno>[Types]() <ERROR TYPE REF: Symbol not found for Foo>
- public [ResolvedTo(ANNOTATION_ARGUMENTS)] get(): @<ERROR TYPE REF: Symbol not found for Anno>[Types]() <ERROR TYPE REF: Symbol not found for Foo>
+ public final [ResolvedTo(ANNOTATION_ARGUMENTS)] val prop: @<ERROR TYPE REF: Symbol not found for Anno>[Types](<Unresolved name: Foo>#) <ERROR TYPE REF: Symbol not found for Foo>
+ public [ResolvedTo(ANNOTATION_ARGUMENTS)] get(): @<ERROR TYPE REF: Symbol not found for Anno>[Types](<Unresolved name: Foo>#) <ERROR TYPE REF: Symbol not found for Foo>
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] unresolvedAnnotationOnPropertyType.kt
- public final [ResolvedTo(BODY_RESOLVE)] val prop: @<ERROR TYPE REF: Symbol not found for Anno>[Types]() <ERROR TYPE REF: Symbol not found for Foo>
- public [ResolvedTo(BODY_RESOLVE)] get(): @<ERROR TYPE REF: Symbol not found for Anno>[Types]() <ERROR TYPE REF: Symbol not found for Foo>
+ public final [ResolvedTo(BODY_RESOLVE)] val prop: @<ERROR TYPE REF: Symbol not found for Anno>[Types](<Unresolved name: Foo>#) <ERROR TYPE REF: Symbol not found for Foo>
+ public [ResolvedTo(BODY_RESOLVE)] get(): @<ERROR TYPE REF: Symbol not found for Anno>[Types](<Unresolved name: Foo>#) <ERROR TYPE REF: Symbol not found for Foo>
FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] unresolvedAnnotationOnPropertyType.kt
- public final [ResolvedTo(BODY_RESOLVE)] val prop: @<ERROR TYPE REF: Symbol not found for Anno>[Types]() <ERROR TYPE REF: Symbol not found for Foo>
- public [ResolvedTo(BODY_RESOLVE)] get(): @<ERROR TYPE REF: Symbol not found for Anno>[Types]() <ERROR TYPE REF: Symbol not found for Foo>
+ public final [ResolvedTo(BODY_RESOLVE)] val prop: @<ERROR TYPE REF: Symbol not found for Anno>[Types](<Unresolved name: Foo>#) <ERROR TYPE REF: Symbol not found for Foo>
+ public [ResolvedTo(BODY_RESOLVE)] get(): @<ERROR TYPE REF: Symbol not found for Anno>[Types](<Unresolved name: Foo>#) <ERROR TYPE REF: Symbol not found for Foo>
diff --git a/analysis/low-level-api-fir/testData/lazyResolve/typeAliases/unresolvedAnnotationOnTypeAlias.txt b/analysis/low-level-api-fir/testData/lazyResolve/typeAliases/unresolvedAnnotationOnTypeAlias.txt
index 324c7f3..cc1939f 100644
--- a/analysis/low-level-api-fir/testData/lazyResolve/typeAliases/unresolvedAnnotationOnTypeAlias.txt
+++ b/analysis/low-level-api-fir/testData/lazyResolve/typeAliases/unresolvedAnnotationOnTypeAlias.txt
@@ -45,25 +45,25 @@
IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] unresolvedAnnotationOnTypeAlias.kt
- public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val myAlias: <ERROR TYPE REF: Unresolved name: Foo> = @<ERROR TYPE REF: Symbol not found for Anno>[Types]() <Unresolved name: Foo>#
+ public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val myAlias: <ERROR TYPE REF: Unresolved name: Foo> = @<ERROR TYPE REF: Symbol not found for Anno>[Types](<Unresolved name: Foo>#) <Unresolved name: Foo>#
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): <ERROR TYPE REF: Unresolved name: Foo>
CONSTANT_EVALUATION:
FILE: [ResolvedTo(IMPORTS)] unresolvedAnnotationOnTypeAlias.kt
- public final [ResolvedTo(CONSTANT_EVALUATION)] val myAlias: <ERROR TYPE REF: Unresolved name: Foo> = @<ERROR TYPE REF: Symbol not found for Anno>[Types]() <Unresolved name: Foo>#
+ public final [ResolvedTo(CONSTANT_EVALUATION)] val myAlias: <ERROR TYPE REF: Unresolved name: Foo> = @<ERROR TYPE REF: Symbol not found for Anno>[Types](<Unresolved name: Foo>#) <Unresolved name: Foo>#
public [ResolvedTo(CONSTANT_EVALUATION)] get(): <ERROR TYPE REF: Unresolved name: Foo>
ANNOTATION_ARGUMENTS:
FILE: [ResolvedTo(IMPORTS)] unresolvedAnnotationOnTypeAlias.kt
- public final [ResolvedTo(ANNOTATION_ARGUMENTS)] val myAlias: <ERROR TYPE REF: Unresolved name: Foo> = @<ERROR TYPE REF: Symbol not found for Anno>[Types]() <Unresolved name: Foo>#
+ public final [ResolvedTo(ANNOTATION_ARGUMENTS)] val myAlias: <ERROR TYPE REF: Unresolved name: Foo> = @<ERROR TYPE REF: Symbol not found for Anno>[Types](<Unresolved name: Foo>#) <Unresolved name: Foo>#
public [ResolvedTo(ANNOTATION_ARGUMENTS)] get(): <ERROR TYPE REF: Unresolved name: Foo>
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] unresolvedAnnotationOnTypeAlias.kt
- public final [ResolvedTo(BODY_RESOLVE)] val myAlias: <ERROR TYPE REF: Unresolved name: Foo> = @<ERROR TYPE REF: Symbol not found for Anno>[Types]() <Unresolved name: Foo>#
+ public final [ResolvedTo(BODY_RESOLVE)] val myAlias: <ERROR TYPE REF: Unresolved name: Foo> = @<ERROR TYPE REF: Symbol not found for Anno>[Types](<Unresolved name: Foo>#) <Unresolved name: Foo>#
public [ResolvedTo(BODY_RESOLVE)] get(): <ERROR TYPE REF: Unresolved name: Foo>
FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] unresolvedAnnotationOnTypeAlias.kt
- public final [ResolvedTo(BODY_RESOLVE)] val myAlias: <ERROR TYPE REF: Unresolved name: Foo> = @<ERROR TYPE REF: Symbol not found for Anno>[Types]() <Unresolved name: Foo>#
+ public final [ResolvedTo(BODY_RESOLVE)] val myAlias: <ERROR TYPE REF: Unresolved name: Foo> = @<ERROR TYPE REF: Symbol not found for Anno>[Types](<Unresolved name: Foo>#) <Unresolved name: Foo>#
public [ResolvedTo(BODY_RESOLVE)] get(): <ERROR TYPE REF: Unresolved name: Foo>
diff --git a/compiler/fir/analysis-tests/testData/resolve/problems/invalidCode.fir.txt b/compiler/fir/analysis-tests/testData/resolve/problems/invalidCode.fir.txt
index 174f0ba..7576525 100644
--- a/compiler/fir/analysis-tests/testData/resolve/problems/invalidCode.fir.txt
+++ b/compiler/fir/analysis-tests/testData/resolve/problems/invalidCode.fir.txt
@@ -1,7 +1,7 @@
FILE: a.kt
package a
- @R|kotlin/Suppress|() <DANGLING MODIFIER: Top level declaration expected>FILE: b.kt
+ @R|kotlin/Suppress|(<Unresolved name: iterator>#) <DANGLING MODIFIER: Top level declaration expected>FILE: b.kt
package b
public abstract interface I : R|kotlin/Any| {
diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/renderer/FirAnnotationRenderer.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/renderer/FirAnnotationRenderer.kt
index a940ee1..04d5940 100644
--- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/renderer/FirAnnotationRenderer.kt
+++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/renderer/FirAnnotationRenderer.kt
@@ -40,7 +40,9 @@
when (annotation) {
is FirAnnotationCall -> {
components.resolvePhaseRenderer?.render(annotation)
- if (annotation.calleeReference.let { it is FirResolvedNamedReference || it is FirErrorNamedReference }) {
+ if (annotation.argumentMapping.mapping.isNotEmpty() &&
+ annotation.calleeReference.let { it is FirResolvedNamedReference || it is FirErrorNamedReference }
+ ) {
callArgumentsRenderer?.renderArgumentMapping(annotation.argumentMapping)
} else {
visitor.visitCall(annotation)