[FIR] Initialize annotations in FirErrorTypeRef

^KT-62447 Fixed
^KT-62628 Fixed
This commit is contained in:
Ivan Kochurkin
2023-10-19 18:56:34 +02:00
committed by Space Team
parent ec3cfdefcb
commit bb937a8a21
24 changed files with 127 additions and 73 deletions
@@ -36,7 +36,7 @@ FILE: [ResolvedTo(IMPORTS)] annotationWithArgumentInsideSuperTypeCallUnresolved.
SUPER_TYPES:
FILE: [ResolvedTo(IMPORTS)] annotationWithArgumentInsideSuperTypeCallUnresolved.kt
public? final? [ResolvedTo(SUPER_TYPES)] class MyClass : <ERROR TYPE REF: Symbol not found for Foo> {
public? final? [ResolvedTo(SUPER_TYPES)] class MyClass : @<ERROR TYPE REF: Symbol not found for Anno>[Unresolved](LAZY_EXPRESSION) <ERROR TYPE REF: Symbol not found for Foo> {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=MyClass] constructor(): R|MyClass| {
LAZY_super<<implicit>>
}
@@ -45,7 +45,7 @@ FILE: [ResolvedTo(IMPORTS)] annotationWithArgumentInsideSuperTypeCallUnresolved.
TYPES:
FILE: [ResolvedTo(IMPORTS)] annotationWithArgumentInsideSuperTypeCallUnresolved.kt
public? final? [ResolvedTo(TYPES)] class MyClass : <ERROR TYPE REF: Symbol not found for Foo> {
public? final? [ResolvedTo(TYPES)] class MyClass : @<ERROR TYPE REF: Symbol not found for Anno>[Unresolved](LAZY_EXPRESSION) <ERROR TYPE REF: Symbol not found for Foo> {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=MyClass] constructor(): R|MyClass| {
LAZY_super<<implicit>>
}
@@ -54,7 +54,7 @@ FILE: [ResolvedTo(IMPORTS)] annotationWithArgumentInsideSuperTypeCallUnresolved.
STATUS:
FILE: [ResolvedTo(IMPORTS)] annotationWithArgumentInsideSuperTypeCallUnresolved.kt
public final [ResolvedTo(STATUS)] class MyClass : <ERROR TYPE REF: Symbol not found for Foo> {
public final [ResolvedTo(STATUS)] class MyClass : @<ERROR TYPE REF: Symbol not found for Anno>[Unresolved](LAZY_EXPRESSION) <ERROR TYPE REF: Symbol not found for Foo> {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=MyClass] constructor(): R|MyClass| {
LAZY_super<<implicit>>
}
@@ -63,7 +63,7 @@ FILE: [ResolvedTo(IMPORTS)] annotationWithArgumentInsideSuperTypeCallUnresolved.
EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] annotationWithArgumentInsideSuperTypeCallUnresolved.kt
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class MyClass : <ERROR TYPE REF: Symbol not found for Foo> {
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] class MyClass : @<ERROR TYPE REF: Symbol not found for Anno>[Unresolved](LAZY_EXPRESSION) <ERROR TYPE REF: Symbol not found for Foo> {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=MyClass] constructor(): R|MyClass| {
LAZY_super<<implicit>>
}
@@ -72,7 +72,7 @@ FILE: [ResolvedTo(IMPORTS)] annotationWithArgumentInsideSuperTypeCallUnresolved.
CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] annotationWithArgumentInsideSuperTypeCallUnresolved.kt
public final [ResolvedTo(CONTRACTS)] class MyClass : <ERROR TYPE REF: Symbol not found for Foo> {
public final [ResolvedTo(CONTRACTS)] class MyClass : @<ERROR TYPE REF: Symbol not found for Anno>[Unresolved](LAZY_EXPRESSION) <ERROR TYPE REF: Symbol not found for Foo> {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=MyClass] constructor(): R|MyClass| {
LAZY_super<<implicit>>
}
@@ -81,7 +81,7 @@ FILE: [ResolvedTo(IMPORTS)] annotationWithArgumentInsideSuperTypeCallUnresolved.
IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] annotationWithArgumentInsideSuperTypeCallUnresolved.kt
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class MyClass : <ERROR TYPE REF: Symbol not found for Foo> {
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] class MyClass : @<ERROR TYPE REF: Symbol not found for Anno>[Unresolved](LAZY_EXPRESSION) <ERROR TYPE REF: Symbol not found for Foo> {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=MyClass] constructor(): R|MyClass| {
LAZY_super<<implicit>>
}
@@ -90,7 +90,7 @@ FILE: [ResolvedTo(IMPORTS)] annotationWithArgumentInsideSuperTypeCallUnresolved.
ANNOTATION_ARGUMENTS:
FILE: [ResolvedTo(IMPORTS)] annotationWithArgumentInsideSuperTypeCallUnresolved.kt
public final [ResolvedTo(ANNOTATION_ARGUMENTS)] class MyClass : <ERROR TYPE REF: Symbol not found for Foo> {
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? [ResolvedTo(RAW_FIR)] [ContainingClassKey=MyClass] constructor(): R|MyClass| {
LAZY_super<<implicit>>
}
@@ -99,7 +99,7 @@ FILE: [ResolvedTo(IMPORTS)] annotationWithArgumentInsideSuperTypeCallUnresolved.
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] annotationWithArgumentInsideSuperTypeCallUnresolved.kt
public final [ResolvedTo(BODY_RESOLVE)] class MyClass : <ERROR TYPE REF: Symbol not found for Foo> {
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 [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=MyClass] constructor(): R|MyClass| {
super<R|kotlin/Any|>()
}
@@ -108,7 +108,7 @@ FILE: [ResolvedTo(IMPORTS)] annotationWithArgumentInsideSuperTypeCallUnresolved.
FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] annotationWithArgumentInsideSuperTypeCallUnresolved.kt
public final [ResolvedTo(BODY_RESOLVE)] class MyClass : <ERROR TYPE REF: Symbol not found for Foo> {
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 [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=MyClass] constructor(): R|MyClass| {
super<R|kotlin/Any|>()
}
@@ -20,37 +20,37 @@ FILE: [ResolvedTo(IMPORTS)] unresolvedAnnotationOnFunctionType.kt
TYPES:
FILE: [ResolvedTo(IMPORTS)] unresolvedAnnotationOnFunctionType.kt
public? final? [ResolvedTo(TYPES)] fun foo([ResolvedTo(TYPES)] a: <ERROR TYPE REF: Symbol not found for Foo>): <ERROR TYPE REF: Symbol not found for Foo> { LAZY_BLOCK }
public? final? [ResolvedTo(TYPES)] fun foo([ResolvedTo(TYPES)] a: @<ERROR TYPE REF: Symbol not found for Anno>[Unresolved](Foo#) <ERROR TYPE REF: Symbol not found for Foo>): @<ERROR TYPE REF: Symbol not found for Anno>[Unresolved](Foo#) <ERROR TYPE REF: Symbol not found for Foo> { LAZY_BLOCK }
STATUS:
FILE: [ResolvedTo(IMPORTS)] unresolvedAnnotationOnFunctionType.kt
public final [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] a: <ERROR TYPE REF: Symbol not found for Foo>): <ERROR TYPE REF: Symbol not found for Foo> { LAZY_BLOCK }
public final [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] a: @<ERROR TYPE REF: Symbol not found for Anno>[Unresolved](Foo#) <ERROR TYPE REF: Symbol not found for Foo>): @<ERROR TYPE REF: Symbol not found for Anno>[Unresolved](Foo#) <ERROR TYPE REF: Symbol not found for Foo> { LAZY_BLOCK }
EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] unresolvedAnnotationOnFunctionType.kt
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] fun foo([ResolvedTo(EXPECT_ACTUAL_MATCHING)] a: <ERROR TYPE REF: Symbol not found for Foo>): <ERROR TYPE REF: Symbol not found for Foo> { LAZY_BLOCK }
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] fun foo([ResolvedTo(EXPECT_ACTUAL_MATCHING)] a: @<ERROR TYPE REF: Symbol not found for Anno>[Unresolved](Foo#) <ERROR TYPE REF: Symbol not found for Foo>): @<ERROR TYPE REF: Symbol not found for Anno>[Unresolved](Foo#) <ERROR TYPE REF: Symbol not found for Foo> { LAZY_BLOCK }
CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] unresolvedAnnotationOnFunctionType.kt
public final [ResolvedTo(CONTRACTS)] fun foo([ResolvedTo(CONTRACTS)] a: <ERROR TYPE REF: Symbol not found for Foo>): <ERROR TYPE REF: Symbol not found for Foo> {
public final [ResolvedTo(CONTRACTS)] fun foo([ResolvedTo(CONTRACTS)] a: @<ERROR TYPE REF: Symbol not found for Anno>[Unresolved](Foo#) <ERROR TYPE REF: Symbol not found for Foo>): @<ERROR TYPE REF: Symbol not found for Anno>[Unresolved](Foo#) <ERROR TYPE REF: Symbol not found for Foo> {
}
IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] unresolvedAnnotationOnFunctionType.kt
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun foo([ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] a: <ERROR TYPE REF: Symbol not found for Foo>): <ERROR TYPE REF: Symbol not found for Foo> {
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] fun foo([ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] a: @<ERROR TYPE REF: Symbol not found for Anno>[Unresolved](Foo#) <ERROR TYPE REF: Symbol not found for Foo>): @<ERROR TYPE REF: Symbol not found for Anno>[Unresolved](Foo#) <ERROR TYPE REF: Symbol not found for Foo> {
}
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 Foo>): <ERROR TYPE REF: Symbol not found for Foo> {
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> {
}
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 Foo>): <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]() <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> {
}
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 Foo>): <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]() <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> {
}
@@ -25,40 +25,40 @@ FILE: [ResolvedTo(IMPORTS)] unresolvedAnnotationOnPropertyType.kt
TYPES:
FILE: [ResolvedTo(IMPORTS)] unresolvedAnnotationOnPropertyType.kt
public? final? [ResolvedTo(TYPES)] val prop: <ERROR TYPE REF: Symbol not found for Foo>
public? [ResolvedTo(TYPES)] get(): <ERROR TYPE REF: Symbol not found for Foo>
public? final? [ResolvedTo(TYPES)] val prop: @<ERROR TYPE REF: Symbol not found for Anno>[Unresolved](Foo#) <ERROR TYPE REF: Symbol not found for Foo>
public? [ResolvedTo(TYPES)] get(): @<ERROR TYPE REF: Symbol not found for Anno>[Unresolved](Foo#) <ERROR TYPE REF: Symbol not found for Foo>
STATUS:
FILE: [ResolvedTo(IMPORTS)] unresolvedAnnotationOnPropertyType.kt
public final [ResolvedTo(STATUS)] val prop: <ERROR TYPE REF: Symbol not found for Foo>
public [ResolvedTo(STATUS)] get(): <ERROR TYPE REF: Symbol not found for Foo>
public final [ResolvedTo(STATUS)] val prop: @<ERROR TYPE REF: Symbol not found for Anno>[Unresolved](Foo#) <ERROR TYPE REF: Symbol not found for Foo>
public [ResolvedTo(STATUS)] get(): @<ERROR TYPE REF: Symbol not found for Anno>[Unresolved](Foo#) <ERROR TYPE REF: Symbol not found for Foo>
EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] unresolvedAnnotationOnPropertyType.kt
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] val prop: <ERROR TYPE REF: Symbol not found for Foo>
public [ResolvedTo(EXPECT_ACTUAL_MATCHING)] get(): <ERROR TYPE REF: Symbol not found for Foo>
public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] val prop: @<ERROR TYPE REF: Symbol not found for Anno>[Unresolved](Foo#) <ERROR TYPE REF: Symbol not found for Foo>
public [ResolvedTo(EXPECT_ACTUAL_MATCHING)] get(): @<ERROR TYPE REF: Symbol not found for Anno>[Unresolved](Foo#) <ERROR TYPE REF: Symbol not found for Foo>
CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] unresolvedAnnotationOnPropertyType.kt
public final [ResolvedTo(CONTRACTS)] val prop: <ERROR TYPE REF: Symbol not found for Foo>
public [ResolvedTo(CONTRACTS)] get(): <ERROR TYPE REF: Symbol not found for Foo>
public final [ResolvedTo(CONTRACTS)] val prop: @<ERROR TYPE REF: Symbol not found for Anno>[Unresolved](Foo#) <ERROR TYPE REF: Symbol not found for Foo>
public [ResolvedTo(CONTRACTS)] get(): @<ERROR TYPE REF: Symbol not found for Anno>[Unresolved](Foo#) <ERROR TYPE REF: Symbol not found for Foo>
IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] unresolvedAnnotationOnPropertyType.kt
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val prop: <ERROR TYPE REF: Symbol not found for Foo>
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): <ERROR TYPE REF: Symbol not found for Foo>
public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] val prop: @<ERROR TYPE REF: Symbol not found for Anno>[Unresolved](Foo#) <ERROR TYPE REF: Symbol not found for Foo>
public [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] get(): @<ERROR TYPE REF: Symbol not found for Anno>[Unresolved](Foo#) <ERROR TYPE REF: Symbol not found for Foo>
ANNOTATION_ARGUMENTS:
FILE: [ResolvedTo(IMPORTS)] unresolvedAnnotationOnPropertyType.kt
public final [ResolvedTo(ANNOTATION_ARGUMENTS)] val prop: <ERROR TYPE REF: Symbol not found for Foo>
public [ResolvedTo(ANNOTATION_ARGUMENTS)] get(): <ERROR TYPE REF: Symbol not found for Foo>
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>
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] unresolvedAnnotationOnPropertyType.kt
public final [ResolvedTo(BODY_RESOLVE)] val prop: <ERROR TYPE REF: Symbol not found for Foo>
public [ResolvedTo(BODY_RESOLVE)] get(): <ERROR TYPE REF: Symbol not found for Foo>
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>
FILE RAW TO BODY:
FILE: [ResolvedTo(BODY_RESOLVE)] unresolvedAnnotationOnPropertyType.kt
public final [ResolvedTo(BODY_RESOLVE)] val prop: <ERROR TYPE REF: Symbol not found for Foo>
public [ResolvedTo(BODY_RESOLVE)] get(): <ERROR TYPE REF: Symbol not found for Foo>
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>
@@ -1554,6 +1554,12 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia
runTest("compiler/testData/diagnostics/tests/annotations/AnnotatedConstructorParams.kt");
}
@Test
@TestMetadata("AnnotatedErrorTypeRef.kt")
public void testAnnotatedErrorTypeRef() throws Exception {
runTest("compiler/testData/diagnostics/tests/annotations/AnnotatedErrorTypeRef.kt");
}
@Test
@TestMetadata("annotatedExpressionInsideAnnotation.kt")
public void testAnnotatedExpressionInsideAnnotation() throws Exception {
@@ -1554,6 +1554,12 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated
runTest("compiler/testData/diagnostics/tests/annotations/AnnotatedConstructorParams.kt");
}
@Test
@TestMetadata("AnnotatedErrorTypeRef.kt")
public void testAnnotatedErrorTypeRef() throws Exception {
runTest("compiler/testData/diagnostics/tests/annotations/AnnotatedErrorTypeRef.kt");
}
@Test
@TestMetadata("annotatedExpressionInsideAnnotation.kt")
public void testAnnotatedExpressionInsideAnnotation() throws Exception {