[FIR] Make FirFile.annotationsContainer nullable

Previously, when no file annotations were present, the FIR element
didn't have a source.
By making it nullable, it will only be created when appropriate and the
source will never be null.

#KT-55835
This commit is contained in:
Kirill Rakhman
2023-06-26 15:06:13 +03:00
committed by Space Team
parent 311975f1ed
commit bed6cb7154
334 changed files with 47 additions and 1937 deletions
@@ -1,6 +1,5 @@
RAW_FIR:
FILE: [ResolvedTo(RAW_FIR)] annotationClassWithJavaTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
@java.lang.annotation.Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class ResolveMe : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| {
LAZY_super<R|kotlin/Any|>
@@ -10,7 +9,6 @@ FILE: [ResolvedTo(RAW_FIR)] annotationClassWithJavaTarget.kt
IMPORTS:
FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
@java.lang.annotation.Target[Unresolved](LAZY_EXPRESSION) public? final? [ResolvedTo(RAW_FIR)] annotation class ResolveMe : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| {
LAZY_super<R|kotlin/Any|>
@@ -20,7 +18,6 @@ FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
COMPILER_REQUIRED_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
@R|java/lang/annotation/Target|[CompilerRequiredAnnotations](ElementType#.TYPE_USE#) public? final? [ResolvedTo(COMPILER_REQUIRED_ANNOTATIONS)] annotation class ResolveMe : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| {
LAZY_super<R|kotlin/Any|>
@@ -30,7 +27,6 @@ FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
COMPANION_GENERATION:
FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
@R|java/lang/annotation/Target|[CompilerRequiredAnnotations](ElementType#.TYPE_USE#) public? final? [ResolvedTo(COMPANION_GENERATION)] annotation class ResolveMe : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| {
LAZY_super<R|kotlin/Any|>
@@ -40,7 +36,6 @@ FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
SUPER_TYPES:
FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
@R|java/lang/annotation/Target|[CompilerRequiredAnnotations](ElementType#.TYPE_USE#) public? final? [ResolvedTo(SUPER_TYPES)] annotation class ResolveMe : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| {
LAZY_super<R|kotlin/Any|>
@@ -50,7 +45,6 @@ FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
TYPES:
FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
@R|java/lang/annotation/Target|[Types](ElementType#.TYPE_USE#) public? final? [ResolvedTo(TYPES)] annotation class ResolveMe : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| {
LAZY_super<R|kotlin/Any|>
@@ -60,7 +54,6 @@ FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
STATUS:
FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
@R|java/lang/annotation/Target|[Types](ElementType#.TYPE_USE#) public final [ResolvedTo(STATUS)] annotation class ResolveMe : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| {
LAZY_super<R|kotlin/Any|>
@@ -70,7 +63,6 @@ FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
@R|java/lang/annotation/Target|[Types](ElementType#.TYPE_USE#) public final [ResolvedTo(EXPECT_ACTUAL_MATCHING)] annotation class ResolveMe : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| {
LAZY_super<R|kotlin/Any|>
@@ -80,7 +72,6 @@ FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
ARGUMENTS_OF_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
@R|java/lang/annotation/Target|[Types](Q|java/lang/annotation/ElementType|.TYPE_USE#) public final [ResolvedTo(ARGUMENTS_OF_ANNOTATIONS)] annotation class ResolveMe : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| {
LAZY_super<R|kotlin/Any|>
@@ -90,7 +81,6 @@ FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
@R|java/lang/annotation/Target|[Types](Q|java/lang/annotation/ElementType|.TYPE_USE#) public final [ResolvedTo(CONTRACTS)] annotation class ResolveMe : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| {
LAZY_super<R|kotlin/Any|>
@@ -100,7 +90,6 @@ FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
@R|java/lang/annotation/Target|[Types](Q|java/lang/annotation/ElementType|.TYPE_USE#) public final [ResolvedTo(IMPLICIT_TYPES_BODY_RESOLVE)] annotation class ResolveMe : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| {
LAZY_super<R|kotlin/Any|>
@@ -110,7 +99,6 @@ FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
ANNOTATIONS_ARGUMENTS_MAPPING:
FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
@R|java/lang/annotation/Target|[Types](value = vararg(Q|java/lang/annotation/ElementType|.<Unresolved name: TYPE_USE>#)) public final [ResolvedTo(ANNOTATIONS_ARGUMENTS_MAPPING)] annotation class ResolveMe : R|kotlin/Annotation| {
public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=ResolveMe] constructor(): R|ResolveMe| {
LAZY_super<R|kotlin/Any|>
@@ -120,7 +108,6 @@ FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
@R|java/lang/annotation/Target|[Types](value = vararg(Q|java/lang/annotation/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|>()
@@ -130,7 +117,6 @@ FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
FILE RAW TO BODY:
FILE: [ResolvedTo(IMPORTS)] annotationClassWithJavaTarget.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
@R|java/lang/annotation/Target|[Types](value = vararg(Q|java/lang/annotation/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|>()