[FIR] Fix ambiguity of Throws and other std annotations importing

Including `SharedImmutable` and `ThreadLocal`

Simplify code, remove `DefaultImportPriority.KOTLIN_THROWS`

Introduce `FirNativeClassMapper`
This commit is contained in:
Ivan Kochurkin
2023-11-14 17:22:13 +01:00
committed by Space Team
parent adf4f823ae
commit 115d685d91
151 changed files with 656 additions and 931 deletions
@@ -2,22 +2,20 @@ Tower Data Context:
Element 0
Scope: FirDefaultStarImportingScope
Element 1
Scope: FirDefaultSimpleImportingScope
Element 2
Scope: FirExplicitStarImportingScope
Element 2
Scope: FirDefaultSimpleImportingScope
Element 3
Scope: FirDefaultSimpleImportingScope
Element 4
Scope: FirDefaultSimpleImportingScope
Element 5
Scope: FirPackageMemberScope
Element 6
Element 5
Scope: FirExplicitSimpleImportingScope
Element 7
Element 6
Scope: FirLocalScope
Properties:
FirValueParameterSymbol obj: R|kotlin/Any|
Element 8
Element 7
Scope: FirLocalScope
FILE: [ResolvedTo(IMPORTS)] afterIf.kt
@@ -33,4 +31,4 @@ FILE: [ResolvedTo(IMPORTS)] afterIf.kt
R|<local>/obj|.R|kotlin/Any.hashCode|()
}
public final [ResolvedTo(CONTRACTS)] fun consume([ResolvedTo(CONTRACTS)] obj: R|Foo|): R|kotlin/Unit| {
}
}
@@ -2,22 +2,20 @@ Tower Data Context:
Element 0
Scope: FirDefaultStarImportingScope
Element 1
Scope: FirDefaultSimpleImportingScope
Element 2
Scope: FirExplicitStarImportingScope
Element 2
Scope: FirDefaultSimpleImportingScope
Element 3
Scope: FirDefaultSimpleImportingScope
Element 4
Scope: FirDefaultSimpleImportingScope
Element 5
Scope: FirPackageMemberScope
Element 6
Element 5
Scope: FirExplicitSimpleImportingScope
Element 7
Element 6
Scope: FirLocalScope
Properties:
FirValueParameterSymbol initial: R|Node?|
Element 8
Element 7
Scope: FirLocalScope
Properties:
FirPropertySymbol lvar current: R|Node?|
@@ -2,22 +2,20 @@ Tower Data Context:
Element 0
Scope: FirDefaultStarImportingScope
Element 1
Scope: FirDefaultSimpleImportingScope
Element 2
Scope: FirExplicitStarImportingScope
Element 2
Scope: FirDefaultSimpleImportingScope
Element 3
Scope: FirDefaultSimpleImportingScope
Element 4
Scope: FirDefaultSimpleImportingScope
Element 5
Scope: FirPackageMemberScope
Element 6
Element 5
Scope: FirExplicitSimpleImportingScope
Element 7
Element 6
Scope: FirLocalScope
Properties:
FirValueParameterSymbol obj: R|kotlin/Any|
Element 8
Element 7
Scope: FirLocalScope
Smart Casts:
FirValueParameterSymbol obj: R|kotlin/Any|
@@ -2,24 +2,22 @@ Tower Data Context:
Element 0
Scope: FirDefaultStarImportingScope
Element 1
Scope: FirDefaultSimpleImportingScope
Element 2
Scope: FirExplicitStarImportingScope
Element 2
Scope: FirDefaultSimpleImportingScope
Element 3
Scope: FirDefaultSimpleImportingScope
Element 4
Scope: FirDefaultSimpleImportingScope
Element 5
Scope: FirPackageMemberScope
Element 6
Element 5
Scope: FirExplicitSimpleImportingScope
Element 7
Element 6
Scope: FirLocalScope
Properties:
FirValueParameterSymbol obj: R|kotlin/Any|
Element 8
Element 7
Scope: FirLocalScope
Element 9
Element 8
Scope: FirLocalScope
Smart Casts:
FirValueParameterSymbol obj: R|kotlin/Any|
@@ -2,27 +2,25 @@ Tower Data Context:
Element 0
Scope: FirDefaultStarImportingScope
Element 1
Scope: FirDefaultSimpleImportingScope
Element 2
Scope: FirExplicitStarImportingScope
Element 2
Scope: FirDefaultSimpleImportingScope
Element 3
Scope: FirDefaultSimpleImportingScope
Element 4
Scope: FirDefaultSimpleImportingScope
Element 5
Scope: FirPackageMemberScope
Element 6
Element 5
Scope: FirExplicitSimpleImportingScope
Element 7
Element 6
Scope: FirLocalScope
Properties:
FirValueParameterSymbol obj: R|kotlin/Any|
Element 7
Scope: FirLocalScope
Element 8
Scope: FirLocalScope
Element 9
Scope: FirLocalScope
Element 10
Scope: FirLocalScope
Smart Casts:
FirValueParameterSymbol obj: R|kotlin/Any|
Types:
@@ -2,22 +2,20 @@ Tower Data Context:
Element 0
Scope: FirDefaultStarImportingScope
Element 1
Scope: FirDefaultSimpleImportingScope
Element 2
Scope: FirExplicitStarImportingScope
Element 2
Scope: FirDefaultSimpleImportingScope
Element 3
Scope: FirDefaultSimpleImportingScope
Element 4
Scope: FirDefaultSimpleImportingScope
Element 5
Scope: FirPackageMemberScope
Element 6
Element 5
Scope: FirExplicitSimpleImportingScope
Element 7
Element 6
Scope: FirLocalScope
Properties:
FirValueParameterSymbol obj: R|kotlin/Any|
Element 8
Element 7
Scope: FirLocalScope
FILE: [ResolvedTo(IMPORTS)] beforeIf.kt
@@ -33,4 +31,4 @@ FILE: [ResolvedTo(IMPORTS)] beforeIf.kt
}
public final [ResolvedTo(CONTRACTS)] fun consume([ResolvedTo(CONTRACTS)] obj: R|Foo|): R|kotlin/Unit| {
}
}
@@ -2,22 +2,20 @@ Tower Data Context:
Element 0
Scope: FirDefaultStarImportingScope
Element 1
Scope: FirDefaultSimpleImportingScope
Element 2
Scope: FirExplicitStarImportingScope
Element 2
Scope: FirDefaultSimpleImportingScope
Element 3
Scope: FirDefaultSimpleImportingScope
Element 4
Scope: FirDefaultSimpleImportingScope
Element 5
Scope: FirPackageMemberScope
Element 6
Element 5
Scope: FirExplicitSimpleImportingScope
Element 7
Element 6
Scope: FirLocalScope
Properties:
FirValueParameterSymbol initial: R|Node|
Element 8
Element 7
Scope: FirLocalScope
FILE: [ResolvedTo(IMPORTS)] beforeLoop.kt
@@ -35,4 +33,4 @@ FILE: [ResolvedTo(IMPORTS)] beforeLoop.kt
}
public final [ResolvedTo(CONTRACTS)] fun consume([ResolvedTo(CONTRACTS)] node: R|Node|): R|kotlin/Unit| {
}
}
@@ -2,27 +2,25 @@ Tower Data Context:
Element 0
Scope: FirDefaultStarImportingScope
Element 1
Scope: FirDefaultSimpleImportingScope
Element 2
Scope: FirExplicitStarImportingScope
Element 2
Scope: FirDefaultSimpleImportingScope
Element 3
Scope: FirDefaultSimpleImportingScope
Element 4
Scope: FirDefaultSimpleImportingScope
Element 5
Scope: FirPackageMemberScope
Element 6
Element 5
Scope: FirExplicitSimpleImportingScope
Element 7
Element 6
Implicit receiver:
FirRegularClassSymbol public open class Foo : R|kotlin/Any|
Type: Bar
Element 7
Scope: FirLocalScope
Element 8
Scope: FirLocalScope
Element 9
Scope: FirLocalScope
Element 10
Scope: FirLocalScope
Smart Casts:
FirRegularClassSymbol public open class Foo : R|kotlin/Any|
Types:
@@ -2,26 +2,24 @@ Tower Data Context:
Element 0
Scope: FirDefaultStarImportingScope
Element 1
Scope: FirDefaultSimpleImportingScope
Element 2
Scope: FirExplicitStarImportingScope
Element 2
Scope: FirDefaultSimpleImportingScope
Element 3
Scope: FirDefaultSimpleImportingScope
Element 4
Scope: FirDefaultSimpleImportingScope
Element 5
Scope: FirPackageMemberScope
Element 6
Element 5
Scope: FirExplicitSimpleImportingScope
Element 7
Element 6
Scope: FirLocalScope
Element 8
Element 7
Implicit receiver:
FirNamedFunctionSymbol public final fun R|kotlin/Any|.test(): R|kotlin/Unit|
Type: Foo
Element 9
Element 8
Scope: FirLocalScope
Element 10
Element 9
Scope: FirLocalScope
Smart Casts:
FirNamedFunctionSymbol public final fun R|kotlin/Any|.test(): R|kotlin/Unit|
@@ -2,28 +2,26 @@ Tower Data Context:
Element 0
Scope: FirDefaultStarImportingScope
Element 1
Scope: FirDefaultSimpleImportingScope
Element 2
Scope: FirExplicitStarImportingScope
Element 2
Scope: FirDefaultSimpleImportingScope
Element 3
Scope: FirDefaultSimpleImportingScope
Element 4
Scope: FirDefaultSimpleImportingScope
Element 5
Scope: FirPackageMemberScope
Element 6
Element 5
Scope: FirExplicitSimpleImportingScope
Element 7
Element 6
Scope: FirLocalScope
Properties:
FirValueParameterSymbol param: R|kotlin/String?|
Element 8
Element 7
Scope: FirLocalScope
Element 9
Element 8
Scope: FirLocalScope
Properties:
FirValueParameterSymbol it: R|kotlin/String|
Element 10
Element 9
Scope: FirLocalScope
Smart Casts:
FirValueParameterSymbol param: R|kotlin/String?|
@@ -2,26 +2,24 @@ Tower Data Context:
Element 0
Scope: FirDefaultStarImportingScope
Element 1
Scope: FirDefaultSimpleImportingScope
Element 2
Scope: FirExplicitStarImportingScope
Element 2
Scope: FirDefaultSimpleImportingScope
Element 3
Scope: FirDefaultSimpleImportingScope
Element 4
Scope: FirDefaultSimpleImportingScope
Element 5
Scope: FirPackageMemberScope
Element 6
Element 5
Scope: FirExplicitSimpleImportingScope
Element 7
Element 6
Scope: FirLocalScope
Properties:
FirValueParameterSymbol initial: R|Node|
Element 8
Element 7
Scope: FirLocalScope
Properties:
FirPropertySymbol lvar current: R|Node|
Element 9
Element 8
Scope: FirLocalScope
Smart Casts:
FirPropertySymbol lvar current: R|Node|
@@ -2,22 +2,20 @@ Tower Data Context:
Element 0
Scope: FirDefaultStarImportingScope
Element 1
Scope: FirDefaultSimpleImportingScope
Element 2
Scope: FirExplicitStarImportingScope
Element 2
Scope: FirDefaultSimpleImportingScope
Element 3
Scope: FirDefaultSimpleImportingScope
Element 4
Scope: FirDefaultSimpleImportingScope
Element 5
Scope: FirPackageMemberScope
Element 6
Element 5
Scope: FirExplicitSimpleImportingScope
Element 7
Element 6
Scope: FirLocalScope
Properties:
FirValueParameterSymbol a: R|kotlin/Any|
Element 8
Element 7
Scope: FirLocalScope
Properties:
FirPropertySymbol lvar result: R|kotlin/Int|
@@ -49,4 +47,4 @@ FILE: [ResolvedTo(IMPORTS)] onLabel.kt
public abstract [ResolvedTo(STATUS)] interface Foo : R|kotlin/Any| {
public abstract [ResolvedTo(CONTRACTS)] fun process(): R|kotlin/Boolean|
}
}
@@ -2,22 +2,20 @@ Tower Data Context:
Element 0
Scope: FirDefaultStarImportingScope
Element 1
Scope: FirDefaultSimpleImportingScope
Element 2
Scope: FirExplicitStarImportingScope
Element 2
Scope: FirDefaultSimpleImportingScope
Element 3
Scope: FirDefaultSimpleImportingScope
Element 4
Scope: FirDefaultSimpleImportingScope
Element 5
Scope: FirPackageMemberScope
Element 6
Element 5
Scope: FirExplicitSimpleImportingScope
Element 7
Element 6
Scope: FirLocalScope
Properties:
FirValueParameterSymbol a: R|kotlin/Any|
Element 8
Element 7
Scope: FirLocalScope
Smart Casts:
FirValueParameterSymbol a: R|kotlin/Any|
@@ -40,4 +38,4 @@ FILE: [ResolvedTo(IMPORTS)] onReference.kt
public abstract [ResolvedTo(STATUS)] interface Foo : R|kotlin/Any| {
public abstract [ResolvedTo(CONTRACTS)] fun process(): R|kotlin/Boolean|
}
}
@@ -2,22 +2,20 @@ Tower Data Context:
Element 0
Scope: FirDefaultStarImportingScope
Element 1
Scope: FirDefaultSimpleImportingScope
Element 2
Scope: FirExplicitStarImportingScope
Element 2
Scope: FirDefaultSimpleImportingScope
Element 3
Scope: FirDefaultSimpleImportingScope
Element 4
Scope: FirDefaultSimpleImportingScope
Element 5
Scope: FirPackageMemberScope
Element 6
Element 5
Scope: FirExplicitSimpleImportingScope
Element 7
Element 6
Scope: FirLocalScope
Properties:
FirValueParameterSymbol a: R|kotlin/Any|
Element 8
Element 7
Scope: FirLocalScope
Smart Casts:
FirValueParameterSymbol a: R|kotlin/Any|
@@ -40,4 +38,4 @@ FILE: [ResolvedTo(IMPORTS)] onType.kt
public? final? [ResolvedTo(RAW_FIR)] interface Foo : R|kotlin/Any| {
public? final? [ResolvedTo(RAW_FIR)] fun process(): Boolean
}
}
@@ -2,22 +2,20 @@ Tower Data Context:
Element 0
Scope: FirDefaultStarImportingScope
Element 1
Scope: FirDefaultSimpleImportingScope
Element 2
Scope: FirExplicitStarImportingScope
Element 2
Scope: FirDefaultSimpleImportingScope
Element 3
Scope: FirDefaultSimpleImportingScope
Element 4
Scope: FirDefaultSimpleImportingScope
Element 5
Scope: FirPackageMemberScope
Element 6
Element 5
Scope: FirExplicitSimpleImportingScope
Element 7
Element 6
Scope: FirLocalScope
Properties:
FirValueParameterSymbol obj: R|kotlin/Any|
Element 8
Element 7
Scope: FirLocalScope
FILE: [ResolvedTo(IMPORTS)] orRight.kt
@@ -38,4 +36,4 @@ FILE: [ResolvedTo(IMPORTS)] orRight.kt
^isValid Boolean(true)
}
public final [ResolvedTo(CONTRACTS)] fun consume([ResolvedTo(CONTRACTS)] obj: R|Foo|): R|kotlin/Unit| {
}
}
@@ -2,25 +2,23 @@ Tower Data Context:
Element 0
Scope: FirDefaultStarImportingScope
Element 1
Scope: FirDefaultSimpleImportingScope
Element 2
Scope: FirExplicitStarImportingScope
Element 2
Scope: FirDefaultSimpleImportingScope
Element 3
Scope: FirDefaultSimpleImportingScope
Element 4
Scope: FirDefaultSimpleImportingScope
Element 5
Scope: FirPackageMemberScope
Element 6
Element 5
Scope: FirExplicitSimpleImportingScope
Element 7
Element 6
Scope: FirLocalScope
Properties:
FirValueParameterSymbol another: R|Foo|
FirValueParameterSymbol obj: R|kotlin/Any|
Element 8
Element 7
Scope: FirLocalScope
Element 9
Element 8
Scope: FirLocalScope
Smart Casts:
FirValueParameterSymbol obj: R|kotlin/Any|
@@ -2,22 +2,20 @@ Tower Data Context:
Element 0
Scope: FirDefaultStarImportingScope
Element 1
Scope: FirDefaultSimpleImportingScope
Element 2
Scope: FirExplicitStarImportingScope
Element 2
Scope: FirDefaultSimpleImportingScope
Element 3
Scope: FirDefaultSimpleImportingScope
Element 4
Scope: FirDefaultSimpleImportingScope
Element 5
Scope: FirPackageMemberScope
Element 6
Element 5
Scope: FirExplicitSimpleImportingScope
Element 7
Element 6
Scope: FirLocalScope
Properties:
FirValueParameterSymbol obj: R|kotlin/Any|
Element 8
Element 7
Scope: FirLocalScope
Smart Casts:
FirValueParameterSymbol obj: R|kotlin/Any|
@@ -2,24 +2,22 @@ Tower Data Context:
Element 0
Scope: FirDefaultStarImportingScope
Element 1
Scope: FirDefaultSimpleImportingScope
Element 2
Scope: FirExplicitStarImportingScope
Element 2
Scope: FirDefaultSimpleImportingScope
Element 3
Scope: FirDefaultSimpleImportingScope
Element 4
Scope: FirDefaultSimpleImportingScope
Element 5
Scope: FirPackageMemberScope
Element 6
Element 5
Scope: FirExplicitSimpleImportingScope
Element 7
Element 6
Scope: FirLocalScope
Properties:
FirValueParameterSymbol obj: R|kotlin/Any|
Element 8
Element 7
Scope: FirLocalScope
Element 9
Element 8
Scope: FirLocalScope
Smart Casts:
FirValueParameterSymbol obj: R|kotlin/Any|