[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)] TypeReference.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
@SinceKotlin[Unresolved](LAZY_EXPRESSION) public final? [ResolvedTo(RAW_FIR)] class TypeReference : KType {
@SinceKotlin[Unresolved](LAZY_EXPRESSION) public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=TypeReference] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.classifier] classifier: KClassifier, [ResolvedTo(RAW_FIR)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.arguments] arguments: List<KTypeProjection>, [ResolvedTo(RAW_FIR)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.platformTypeUpperBound] @SinceKotlin[Unresolved](LAZY_EXPRESSION) platformTypeUpperBound: KType?, [ResolvedTo(RAW_FIR)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.flags] @SinceKotlin[Unresolved](LAZY_EXPRESSION) flags: Int): R|kotlin/jvm/internal/TypeReference| {
LAZY_super<<implicit>>
@@ -61,7 +60,6 @@ FILE: [ResolvedTo(RAW_FIR)] TypeReference.kt
IMPORTS:
FILE: [ResolvedTo(IMPORTS)] TypeReference.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
@SinceKotlin[Unresolved](LAZY_EXPRESSION) public final? [ResolvedTo(RAW_FIR)] class TypeReference : KType {
@SinceKotlin[Unresolved](LAZY_EXPRESSION) public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=TypeReference] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.classifier] classifier: KClassifier, [ResolvedTo(RAW_FIR)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.arguments] arguments: List<KTypeProjection>, [ResolvedTo(RAW_FIR)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.platformTypeUpperBound] @SinceKotlin[Unresolved](LAZY_EXPRESSION) platformTypeUpperBound: KType?, [ResolvedTo(RAW_FIR)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.flags] @SinceKotlin[Unresolved](LAZY_EXPRESSION) flags: Int): R|kotlin/jvm/internal/TypeReference| {
LAZY_super<<implicit>>
@@ -122,7 +120,6 @@ FILE: [ResolvedTo(IMPORTS)] TypeReference.kt
COMPILER_REQUIRED_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] TypeReference.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
@SinceKotlin[Unresolved](LAZY_EXPRESSION) public final? [ResolvedTo(RAW_FIR)] class TypeReference : KType {
@SinceKotlin[Unresolved](LAZY_EXPRESSION) public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=TypeReference] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.classifier] classifier: KClassifier, [ResolvedTo(RAW_FIR)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.arguments] arguments: List<KTypeProjection>, [ResolvedTo(RAW_FIR)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.platformTypeUpperBound] @SinceKotlin[Unresolved](LAZY_EXPRESSION) platformTypeUpperBound: KType?, [ResolvedTo(RAW_FIR)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.flags] @SinceKotlin[Unresolved](LAZY_EXPRESSION) flags: Int): R|kotlin/jvm/internal/TypeReference| {
LAZY_super<<implicit>>
@@ -183,7 +180,6 @@ FILE: [ResolvedTo(IMPORTS)] TypeReference.kt
COMPANION_GENERATION:
FILE: [ResolvedTo(IMPORTS)] TypeReference.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
@SinceKotlin[Unresolved](LAZY_EXPRESSION) public final? [ResolvedTo(RAW_FIR)] class TypeReference : KType {
@SinceKotlin[Unresolved](LAZY_EXPRESSION) public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=TypeReference] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.classifier] classifier: KClassifier, [ResolvedTo(RAW_FIR)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.arguments] arguments: List<KTypeProjection>, [ResolvedTo(RAW_FIR)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.platformTypeUpperBound] @SinceKotlin[Unresolved](LAZY_EXPRESSION) platformTypeUpperBound: KType?, [ResolvedTo(RAW_FIR)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.flags] @SinceKotlin[Unresolved](LAZY_EXPRESSION) flags: Int): R|kotlin/jvm/internal/TypeReference| {
LAZY_super<<implicit>>
@@ -244,7 +240,6 @@ FILE: [ResolvedTo(IMPORTS)] TypeReference.kt
SUPER_TYPES:
FILE: [ResolvedTo(IMPORTS)] TypeReference.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
@R|kotlin/SinceKotlin|[CompilerRequiredAnnotations](String(1.4)) public final? [ResolvedTo(SUPER_TYPES)] class TypeReference : R|kotlin/reflect/KType| {
@SinceKotlin[Unresolved](LAZY_EXPRESSION) public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=TypeReference] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.classifier] classifier: KClassifier, [ResolvedTo(RAW_FIR)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.arguments] arguments: List<KTypeProjection>, [ResolvedTo(RAW_FIR)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.platformTypeUpperBound] @SinceKotlin[Unresolved](LAZY_EXPRESSION) platformTypeUpperBound: KType?, [ResolvedTo(RAW_FIR)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.flags] @SinceKotlin[Unresolved](LAZY_EXPRESSION) flags: Int): R|kotlin/jvm/internal/TypeReference| {
LAZY_super<<implicit>>
@@ -305,7 +300,6 @@ FILE: [ResolvedTo(IMPORTS)] TypeReference.kt
TYPES:
FILE: [ResolvedTo(IMPORTS)] TypeReference.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
@R|kotlin/SinceKotlin|[Types](String(1.4)) public final? [ResolvedTo(TYPES)] class TypeReference : R|kotlin/reflect/KType| {
@SinceKotlin[Unresolved](LAZY_EXPRESSION) public? [ResolvedTo(RAW_FIR)] [ContainingClassKey=TypeReference] constructor([ResolvedTo(RAW_FIR)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.classifier] classifier: KClassifier, [ResolvedTo(RAW_FIR)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.arguments] arguments: List<KTypeProjection>, [ResolvedTo(RAW_FIR)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.platformTypeUpperBound] @SinceKotlin[Unresolved](LAZY_EXPRESSION) platformTypeUpperBound: KType?, [ResolvedTo(RAW_FIR)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.flags] @SinceKotlin[Unresolved](LAZY_EXPRESSION) flags: Int): R|kotlin/jvm/internal/TypeReference| {
LAZY_super<<implicit>>
@@ -366,7 +360,6 @@ FILE: [ResolvedTo(IMPORTS)] TypeReference.kt
STATUS:
FILE: [ResolvedTo(IMPORTS)] TypeReference.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
@R|kotlin/SinceKotlin|[Types](String(1.4)) public final [ResolvedTo(STATUS)] class TypeReference : R|kotlin/reflect/KType| {
@R|kotlin/SinceKotlin|[Types](String(1.6)) public [ResolvedTo(STATUS)] [ContainingClassKey=TypeReference] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.classifier] classifier: R|kotlin/reflect/KClassifier|, [ResolvedTo(STATUS)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.arguments] arguments: R|kotlin/collections/List<kotlin/reflect/KTypeProjection>|, [ResolvedTo(STATUS)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.platformTypeUpperBound] platformTypeUpperBound: R|kotlin/reflect/KType?|, [ResolvedTo(STATUS)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.flags] flags: R|kotlin/Int|): R|kotlin/jvm/internal/TypeReference| {
LAZY_super<<implicit>>
@@ -427,7 +420,6 @@ FILE: [ResolvedTo(IMPORTS)] TypeReference.kt
EXPECT_ACTUAL_MATCHING:
FILE: [ResolvedTo(IMPORTS)] TypeReference.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
@R|kotlin/SinceKotlin|[Types](String(1.4)) public final [ResolvedTo(STATUS)] class TypeReference : R|kotlin/reflect/KType| {
@R|kotlin/SinceKotlin|[Types](String(1.6)) public [ResolvedTo(STATUS)] [ContainingClassKey=TypeReference] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.classifier] classifier: R|kotlin/reflect/KClassifier|, [ResolvedTo(STATUS)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.arguments] arguments: R|kotlin/collections/List<kotlin/reflect/KTypeProjection>|, [ResolvedTo(STATUS)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.platformTypeUpperBound] platformTypeUpperBound: R|kotlin/reflect/KType?|, [ResolvedTo(STATUS)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.flags] flags: R|kotlin/Int|): R|kotlin/jvm/internal/TypeReference| {
LAZY_super<<implicit>>
@@ -488,7 +480,6 @@ FILE: [ResolvedTo(IMPORTS)] TypeReference.kt
ARGUMENTS_OF_ANNOTATIONS:
FILE: [ResolvedTo(IMPORTS)] TypeReference.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
@R|kotlin/SinceKotlin|[Types](String(1.4)) public final [ResolvedTo(STATUS)] class TypeReference : R|kotlin/reflect/KType| {
@R|kotlin/SinceKotlin|[Types](String(1.6)) public [ResolvedTo(STATUS)] [ContainingClassKey=TypeReference] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.classifier] classifier: R|kotlin/reflect/KClassifier|, [ResolvedTo(STATUS)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.arguments] arguments: R|kotlin/collections/List<kotlin/reflect/KTypeProjection>|, [ResolvedTo(STATUS)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.platformTypeUpperBound] platformTypeUpperBound: R|kotlin/reflect/KType?|, [ResolvedTo(STATUS)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.flags] flags: R|kotlin/Int|): R|kotlin/jvm/internal/TypeReference| {
LAZY_super<<implicit>>
@@ -549,7 +540,6 @@ FILE: [ResolvedTo(IMPORTS)] TypeReference.kt
CONTRACTS:
FILE: [ResolvedTo(IMPORTS)] TypeReference.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
@R|kotlin/SinceKotlin|[Types](String(1.4)) public final [ResolvedTo(STATUS)] class TypeReference : R|kotlin/reflect/KType| {
@R|kotlin/SinceKotlin|[Types](String(1.6)) public [ResolvedTo(STATUS)] [ContainingClassKey=TypeReference] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.classifier] classifier: R|kotlin/reflect/KClassifier|, [ResolvedTo(STATUS)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.arguments] arguments: R|kotlin/collections/List<kotlin/reflect/KTypeProjection>|, [ResolvedTo(STATUS)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.platformTypeUpperBound] platformTypeUpperBound: R|kotlin/reflect/KType?|, [ResolvedTo(STATUS)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.flags] flags: R|kotlin/Int|): R|kotlin/jvm/internal/TypeReference| {
LAZY_super<<implicit>>
@@ -610,7 +600,6 @@ FILE: [ResolvedTo(IMPORTS)] TypeReference.kt
IMPLICIT_TYPES_BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] TypeReference.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
@R|kotlin/SinceKotlin|[Types](String(1.4)) public final [ResolvedTo(STATUS)] class TypeReference : R|kotlin/reflect/KType| {
@R|kotlin/SinceKotlin|[Types](String(1.6)) public [ResolvedTo(STATUS)] [ContainingClassKey=TypeReference] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.classifier] classifier: R|kotlin/reflect/KClassifier|, [ResolvedTo(STATUS)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.arguments] arguments: R|kotlin/collections/List<kotlin/reflect/KTypeProjection>|, [ResolvedTo(STATUS)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.platformTypeUpperBound] platformTypeUpperBound: R|kotlin/reflect/KType?|, [ResolvedTo(STATUS)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.flags] flags: R|kotlin/Int|): R|kotlin/jvm/internal/TypeReference| {
LAZY_super<<implicit>>
@@ -671,7 +660,6 @@ FILE: [ResolvedTo(IMPORTS)] TypeReference.kt
ANNOTATIONS_ARGUMENTS_MAPPING:
FILE: [ResolvedTo(IMPORTS)] TypeReference.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
@R|kotlin/SinceKotlin|[Types](String(1.4)) public final [ResolvedTo(STATUS)] class TypeReference : R|kotlin/reflect/KType| {
@R|kotlin/SinceKotlin|[Types](String(1.6)) public [ResolvedTo(STATUS)] [ContainingClassKey=TypeReference] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.classifier] classifier: R|kotlin/reflect/KClassifier|, [ResolvedTo(STATUS)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.arguments] arguments: R|kotlin/collections/List<kotlin/reflect/KTypeProjection>|, [ResolvedTo(STATUS)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.platformTypeUpperBound] platformTypeUpperBound: R|kotlin/reflect/KType?|, [ResolvedTo(STATUS)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.flags] flags: R|kotlin/Int|): R|kotlin/jvm/internal/TypeReference| {
LAZY_super<<implicit>>
@@ -732,7 +720,6 @@ FILE: [ResolvedTo(IMPORTS)] TypeReference.kt
BODY_RESOLVE:
FILE: [ResolvedTo(IMPORTS)] TypeReference.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
@R|kotlin/SinceKotlin|[Types](String(1.4)) public final [ResolvedTo(STATUS)] class TypeReference : R|kotlin/reflect/KType| {
@R|kotlin/SinceKotlin|[Types](String(1.6)) public [ResolvedTo(STATUS)] [ContainingClassKey=TypeReference] constructor([ResolvedTo(STATUS)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.classifier] classifier: R|kotlin/reflect/KClassifier|, [ResolvedTo(STATUS)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.arguments] arguments: R|kotlin/collections/List<kotlin/reflect/KTypeProjection>|, [ResolvedTo(STATUS)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.platformTypeUpperBound] platformTypeUpperBound: R|kotlin/reflect/KType?|, [ResolvedTo(STATUS)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.flags] flags: R|kotlin/Int|): R|kotlin/jvm/internal/TypeReference| {
LAZY_super<<implicit>>
@@ -793,7 +780,6 @@ FILE: [ResolvedTo(IMPORTS)] TypeReference.kt
FILE RAW TO BODY:
FILE: [ResolvedTo(IMPORTS)] TypeReference.kt
[ResolvedTo(BODY_RESOLVE)] annotations container
@R|kotlin/SinceKotlin|[Types](version = String(1.4)) public final [ResolvedTo(BODY_RESOLVE)] class TypeReference : R|kotlin/reflect/KType| {
@R|kotlin/SinceKotlin|[Types](version = String(1.6)) public [ResolvedTo(BODY_RESOLVE)] [ContainingClassKey=TypeReference] constructor([ResolvedTo(BODY_RESOLVE)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.classifier] classifier: R|kotlin/reflect/KClassifier|, [ResolvedTo(BODY_RESOLVE)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.arguments] arguments: R|kotlin/collections/List<kotlin/reflect/KTypeProjection>|, [ResolvedTo(BODY_RESOLVE)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.platformTypeUpperBound] platformTypeUpperBound: R|kotlin/reflect/KType?|, [ResolvedTo(BODY_RESOLVE)] [CorrespondingProperty=kotlin/jvm/internal/TypeReference.flags] flags: R|kotlin/Int|): R|kotlin/jvm/internal/TypeReference| {
super<R|kotlin/Any|>()