[FIR] Fix enhancement of FlexibleNullability and EnhancedNullability

- Add utilities to add new attribute to ConeAttributes
- Get rid of FlexibleNullability attribute (it can be easily inferred
    for any flexible type at any moment)
- Fix determining of EnhancedNullability attribute
This commit is contained in:
Dmitriy Novozhilov
2021-03-09 14:51:19 +03:00
parent 0108f8a1b4
commit 65ea4e184a
290 changed files with 1395 additions and 2037 deletions
@@ -12,7 +12,7 @@ FILE fqName:<root> fileName:/AbstractMutableMap.kt
FUN name:put visibility:public modality:FINAL <> ($this:<root>.MyMap<K of <root>.MyMap, V of <root>.MyMap>, key:K of <root>.MyMap, value:V of <root>.MyMap) returnType:V of <root>.MyMap?
overridden:
public abstract fun put (key: K of kotlin.collections.AbstractMutableMap, value: V of kotlin.collections.AbstractMutableMap): V of kotlin.collections.AbstractMutableMap? declared in kotlin.collections.AbstractMutableMap
public open fun put (p0: K of kotlin.collections.AbstractMutableMap?, p1: V of kotlin.collections.AbstractMutableMap?): V of kotlin.collections.AbstractMutableMap? [fake_override] declared in kotlin.collections.AbstractMutableMap
public open fun put (p0: @[FlexibleNullability] K of kotlin.collections.AbstractMutableMap?, p1: @[FlexibleNullability] V of kotlin.collections.AbstractMutableMap?): V of kotlin.collections.AbstractMutableMap? [fake_override] declared in kotlin.collections.AbstractMutableMap
$this: VALUE_PARAMETER name:<this> type:<root>.MyMap<K of <root>.MyMap, V of <root>.MyMap>
VALUE_PARAMETER name:key index:0 type:K of <root>.MyMap
VALUE_PARAMETER name:value index:1 type:V of <root>.MyMap
@@ -64,24 +64,24 @@ FILE fqName:<root> fileName:/AbstractMutableMap.kt
overridden:
public open fun <get-values> (): kotlin.collections.MutableCollection<V of kotlin.collections.AbstractMutableMap> [fake_override] declared in kotlin.collections.AbstractMutableMap
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.MutableMap<K of kotlin.collections.MutableMap, V of kotlin.collections.MutableMap>
FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.Map<K of java.util.Map, V of java.util.Map>, p0:@[FlexibleNullability] java.util.function.BiFunction<in K of <root>.MyMap?, in V of <root>.MyMap?, out V of <root>.MyMap?>) returnType:kotlin.Unit [fake_override]
FUN FAKE_OVERRIDE name:replaceAll visibility:public modality:OPEN <> ($this:java.util.Map<K of java.util.Map, V of java.util.Map>, p0:@[EnhancedNullability] java.util.function.BiFunction<in @[FlexibleNullability] K of <root>.MyMap?, in @[FlexibleNullability] V of <root>.MyMap?, out @[FlexibleNullability] V of <root>.MyMap?>) returnType:kotlin.Unit [fake_override]
overridden:
public open fun replaceAll (p0: @[FlexibleNullability] java.util.function.BiFunction<in K of kotlin.collections.AbstractMutableMap?, in V of kotlin.collections.AbstractMutableMap?, out V of kotlin.collections.AbstractMutableMap?>): kotlin.Unit [fake_override] declared in kotlin.collections.AbstractMutableMap
public open fun replaceAll (p0: @[EnhancedNullability] java.util.function.BiFunction<in @[FlexibleNullability] K of kotlin.collections.AbstractMutableMap?, in @[FlexibleNullability] V of kotlin.collections.AbstractMutableMap?, out @[FlexibleNullability] V of kotlin.collections.AbstractMutableMap?>): kotlin.Unit [fake_override] declared in kotlin.collections.AbstractMutableMap
$this: VALUE_PARAMETER name:<this> type:java.util.Map<K of java.util.Map, V of java.util.Map>
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.BiFunction<in K of <root>.MyMap?, in V of <root>.MyMap?, out V of <root>.MyMap?>
FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:java.util.Map<K of java.util.Map, V of java.util.Map>, p0:K of <root>.MyMap, p1:V of <root>.MyMap, p2:@[FlexibleNullability] java.util.function.BiFunction<in V of <root>.MyMap?, in V of <root>.MyMap?, out V of <root>.MyMap?>) returnType:V of <root>.MyMap? [fake_override]
VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiFunction<in @[FlexibleNullability] K of <root>.MyMap?, in @[FlexibleNullability] V of <root>.MyMap?, out @[FlexibleNullability] V of <root>.MyMap?>
FUN FAKE_OVERRIDE name:merge visibility:public modality:OPEN <> ($this:java.util.Map<K of java.util.Map, V of java.util.Map>, p0:K of <root>.MyMap, p1:V of <root>.MyMap, p2:@[EnhancedNullability] java.util.function.BiFunction<in @[FlexibleNullability] V of <root>.MyMap?, in @[FlexibleNullability] V of <root>.MyMap?, out @[FlexibleNullability] V of <root>.MyMap?>) returnType:V of <root>.MyMap? [fake_override]
overridden:
public open fun merge (p0: K of kotlin.collections.AbstractMutableMap, p1: V of kotlin.collections.AbstractMutableMap, p2: @[FlexibleNullability] java.util.function.BiFunction<in V of kotlin.collections.AbstractMutableMap?, in V of kotlin.collections.AbstractMutableMap?, out V of kotlin.collections.AbstractMutableMap?>): V of kotlin.collections.AbstractMutableMap? [fake_override] declared in kotlin.collections.AbstractMutableMap
public open fun merge (p0: K of kotlin.collections.AbstractMutableMap, p1: V of kotlin.collections.AbstractMutableMap, p2: @[EnhancedNullability] java.util.function.BiFunction<in @[FlexibleNullability] V of kotlin.collections.AbstractMutableMap?, in @[FlexibleNullability] V of kotlin.collections.AbstractMutableMap?, out @[FlexibleNullability] V of kotlin.collections.AbstractMutableMap?>): V of kotlin.collections.AbstractMutableMap? [fake_override] declared in kotlin.collections.AbstractMutableMap
$this: VALUE_PARAMETER name:<this> type:java.util.Map<K of java.util.Map, V of java.util.Map>
VALUE_PARAMETER name:p0 index:0 type:K of <root>.MyMap
VALUE_PARAMETER name:p1 index:1 type:V of <root>.MyMap
VALUE_PARAMETER name:p2 index:2 type:@[FlexibleNullability] java.util.function.BiFunction<in V of <root>.MyMap?, in V of <root>.MyMap?, out V of <root>.MyMap?>
FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:java.util.Map<K of java.util.Map, V of java.util.Map>, p0:K of <root>.MyMap, p1:@[FlexibleNullability] java.util.function.BiFunction<in K of <root>.MyMap?, in V of <root>.MyMap?, out V of <root>.MyMap?>) returnType:V of <root>.MyMap? [fake_override]
VALUE_PARAMETER name:p2 index:2 type:@[EnhancedNullability] java.util.function.BiFunction<in @[FlexibleNullability] V of <root>.MyMap?, in @[FlexibleNullability] V of <root>.MyMap?, out @[FlexibleNullability] V of <root>.MyMap?>
FUN FAKE_OVERRIDE name:computeIfPresent visibility:public modality:OPEN <> ($this:java.util.Map<K of java.util.Map, V of java.util.Map>, p0:K of <root>.MyMap, p1:@[EnhancedNullability] java.util.function.BiFunction<in @[FlexibleNullability] K of <root>.MyMap?, in @[FlexibleNullability] V of <root>.MyMap?, out @[FlexibleNullability] V of <root>.MyMap?>) returnType:V of <root>.MyMap? [fake_override]
overridden:
public open fun computeIfPresent (p0: K of kotlin.collections.AbstractMutableMap, p1: @[FlexibleNullability] java.util.function.BiFunction<in K of kotlin.collections.AbstractMutableMap?, in V of kotlin.collections.AbstractMutableMap?, out V of kotlin.collections.AbstractMutableMap?>): V of kotlin.collections.AbstractMutableMap? [fake_override] declared in kotlin.collections.AbstractMutableMap
public open fun computeIfPresent (p0: K of kotlin.collections.AbstractMutableMap, p1: @[EnhancedNullability] java.util.function.BiFunction<in @[FlexibleNullability] K of kotlin.collections.AbstractMutableMap?, in @[FlexibleNullability] V of kotlin.collections.AbstractMutableMap?, out @[FlexibleNullability] V of kotlin.collections.AbstractMutableMap?>): V of kotlin.collections.AbstractMutableMap? [fake_override] declared in kotlin.collections.AbstractMutableMap
$this: VALUE_PARAMETER name:<this> type:java.util.Map<K of java.util.Map, V of java.util.Map>
VALUE_PARAMETER name:p0 index:0 type:K of <root>.MyMap
VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] java.util.function.BiFunction<in K of <root>.MyMap?, in V of <root>.MyMap?, out V of <root>.MyMap?>
VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction<in @[FlexibleNullability] K of <root>.MyMap?, in @[FlexibleNullability] V of <root>.MyMap?, out @[FlexibleNullability] V of <root>.MyMap?>
FUN FAKE_OVERRIDE name:putIfAbsent visibility:public modality:OPEN <> ($this:java.util.Map<K of java.util.Map, V of java.util.Map>, p0:K of <root>.MyMap, p1:V of <root>.MyMap) returnType:V of <root>.MyMap? [fake_override]
overridden:
public open fun putIfAbsent (p0: K of kotlin.collections.AbstractMutableMap, p1: V of kotlin.collections.AbstractMutableMap): V of kotlin.collections.AbstractMutableMap? [fake_override] declared in kotlin.collections.AbstractMutableMap
@@ -101,18 +101,18 @@ FILE fqName:<root> fileName:/AbstractMutableMap.kt
$this: VALUE_PARAMETER name:<this> type:java.util.Map<K of java.util.Map, V of java.util.Map>
VALUE_PARAMETER name:p0 index:0 type:K of <root>.MyMap
VALUE_PARAMETER name:p1 index:1 type:V of <root>.MyMap
FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:java.util.Map<K of java.util.Map, V of java.util.Map>, p0:K of <root>.MyMap, p1:@[FlexibleNullability] java.util.function.Function<in K of <root>.MyMap?, out V of <root>.MyMap?>) returnType:V of <root>.MyMap [fake_override]
FUN FAKE_OVERRIDE name:computeIfAbsent visibility:public modality:OPEN <> ($this:java.util.Map<K of java.util.Map, V of java.util.Map>, p0:K of <root>.MyMap, p1:@[EnhancedNullability] java.util.function.Function<in @[FlexibleNullability] K of <root>.MyMap?, out @[FlexibleNullability] V of <root>.MyMap?>) returnType:V of <root>.MyMap [fake_override]
overridden:
public open fun computeIfAbsent (p0: K of kotlin.collections.AbstractMutableMap, p1: @[FlexibleNullability] java.util.function.Function<in K of kotlin.collections.AbstractMutableMap?, out V of kotlin.collections.AbstractMutableMap?>): V of kotlin.collections.AbstractMutableMap [fake_override] declared in kotlin.collections.AbstractMutableMap
public open fun computeIfAbsent (p0: K of kotlin.collections.AbstractMutableMap, p1: @[EnhancedNullability] java.util.function.Function<in @[FlexibleNullability] K of kotlin.collections.AbstractMutableMap?, out @[FlexibleNullability] V of kotlin.collections.AbstractMutableMap?>): V of kotlin.collections.AbstractMutableMap [fake_override] declared in kotlin.collections.AbstractMutableMap
$this: VALUE_PARAMETER name:<this> type:java.util.Map<K of java.util.Map, V of java.util.Map>
VALUE_PARAMETER name:p0 index:0 type:K of <root>.MyMap
VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] java.util.function.Function<in K of <root>.MyMap?, out V of <root>.MyMap?>
FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:java.util.Map<K of java.util.Map, V of java.util.Map>, p0:K of <root>.MyMap, p1:@[FlexibleNullability] java.util.function.BiFunction<in K of <root>.MyMap?, in V of <root>.MyMap?, out V of <root>.MyMap?>) returnType:V of <root>.MyMap? [fake_override]
VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.Function<in @[FlexibleNullability] K of <root>.MyMap?, out @[FlexibleNullability] V of <root>.MyMap?>
FUN FAKE_OVERRIDE name:compute visibility:public modality:OPEN <> ($this:java.util.Map<K of java.util.Map, V of java.util.Map>, p0:K of <root>.MyMap, p1:@[EnhancedNullability] java.util.function.BiFunction<in @[FlexibleNullability] K of <root>.MyMap?, in @[FlexibleNullability] V of <root>.MyMap?, out @[FlexibleNullability] V of <root>.MyMap?>) returnType:V of <root>.MyMap? [fake_override]
overridden:
public open fun compute (p0: K of kotlin.collections.AbstractMutableMap, p1: @[FlexibleNullability] java.util.function.BiFunction<in K of kotlin.collections.AbstractMutableMap?, in V of kotlin.collections.AbstractMutableMap?, out V of kotlin.collections.AbstractMutableMap?>): V of kotlin.collections.AbstractMutableMap? [fake_override] declared in kotlin.collections.AbstractMutableMap
public open fun compute (p0: K of kotlin.collections.AbstractMutableMap, p1: @[EnhancedNullability] java.util.function.BiFunction<in @[FlexibleNullability] K of kotlin.collections.AbstractMutableMap?, in @[FlexibleNullability] V of kotlin.collections.AbstractMutableMap?, out @[FlexibleNullability] V of kotlin.collections.AbstractMutableMap?>): V of kotlin.collections.AbstractMutableMap? [fake_override] declared in kotlin.collections.AbstractMutableMap
$this: VALUE_PARAMETER name:<this> type:java.util.Map<K of java.util.Map, V of java.util.Map>
VALUE_PARAMETER name:p0 index:0 type:K of <root>.MyMap
VALUE_PARAMETER name:p1 index:1 type:@[FlexibleNullability] java.util.function.BiFunction<in K of <root>.MyMap?, in V of <root>.MyMap?, out V of <root>.MyMap?>
VALUE_PARAMETER name:p1 index:1 type:@[EnhancedNullability] java.util.function.BiFunction<in @[FlexibleNullability] K of <root>.MyMap?, in @[FlexibleNullability] V of <root>.MyMap?, out @[FlexibleNullability] V of <root>.MyMap?>
FUN FAKE_OVERRIDE name:containsKey visibility:public modality:OPEN <> ($this:kotlin.collections.Map<K of kotlin.collections.Map, V of kotlin.collections.Map>, key:K of <root>.MyMap) returnType:kotlin.Boolean [fake_override]
overridden:
public open fun containsKey (key: K of kotlin.collections.AbstractMutableMap): kotlin.Boolean [fake_override] declared in kotlin.collections.AbstractMutableMap
@@ -147,11 +147,11 @@ FILE fqName:<root> fileName:/AbstractMutableMap.kt
overridden:
public open fun <get-size> (): kotlin.Int [fake_override] declared in kotlin.collections.AbstractMutableMap
$this: VALUE_PARAMETER name:<this> type:kotlin.collections.Map<K of kotlin.collections.Map, V of kotlin.collections.Map>
FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.Map<K of java.util.Map, V of java.util.Map>, p0:@[FlexibleNullability] java.util.function.BiConsumer<in K of <root>.MyMap?, in V of <root>.MyMap?>) returnType:kotlin.Unit [fake_override]
FUN FAKE_OVERRIDE name:forEach visibility:public modality:OPEN <> ($this:java.util.Map<K of java.util.Map, V of java.util.Map>, p0:@[EnhancedNullability] java.util.function.BiConsumer<in @[FlexibleNullability] K of <root>.MyMap?, in @[FlexibleNullability] V of <root>.MyMap?>) returnType:kotlin.Unit [fake_override]
overridden:
public open fun forEach (p0: @[FlexibleNullability] java.util.function.BiConsumer<in K of kotlin.collections.AbstractMutableMap?, in V of kotlin.collections.AbstractMutableMap?>): kotlin.Unit [fake_override] declared in kotlin.collections.AbstractMutableMap
public open fun forEach (p0: @[EnhancedNullability] java.util.function.BiConsumer<in @[FlexibleNullability] K of kotlin.collections.AbstractMutableMap?, in @[FlexibleNullability] V of kotlin.collections.AbstractMutableMap?>): kotlin.Unit [fake_override] declared in kotlin.collections.AbstractMutableMap
$this: VALUE_PARAMETER name:<this> type:java.util.Map<K of java.util.Map, V of java.util.Map>
VALUE_PARAMETER name:p0 index:0 type:@[FlexibleNullability] java.util.function.BiConsumer<in K of <root>.MyMap?, in V of <root>.MyMap?>
VALUE_PARAMETER name:p0 index:0 type:@[EnhancedNullability] java.util.function.BiConsumer<in @[FlexibleNullability] K of <root>.MyMap?, in @[FlexibleNullability] V of <root>.MyMap?>
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
overridden:
public open fun equals (other: kotlin.Any?): kotlin.Boolean [fake_override,operator] declared in kotlin.collections.AbstractMutableMap
@@ -165,7 +165,7 @@ FILE fqName:<root> fileName:/AbstractMutableMap.kt
overridden:
public open fun toString (): kotlin.String [fake_override] declared in kotlin.collections.AbstractMutableMap
$this: VALUE_PARAMETER name:<this> type:kotlin.Any
FUN FAKE_OVERRIDE name:clone visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractMap<K of java.util.AbstractMap, V of java.util.AbstractMap>) returnType:kotlin.Any? [fake_override]
FUN FAKE_OVERRIDE name:clone visibility:protected/*protected and package*/ modality:OPEN <> ($this:java.util.AbstractMap<K of java.util.AbstractMap, V of java.util.AbstractMap>) returnType:@[FlexibleNullability] kotlin.Any? [fake_override]
overridden:
protected/*protected and package*/ open fun clone (): kotlin.Any? [fake_override] declared in kotlin.collections.AbstractMutableMap
protected/*protected and package*/ open fun clone (): @[FlexibleNullability] kotlin.Any? [fake_override] declared in kotlin.collections.AbstractMutableMap
$this: VALUE_PARAMETER name:<this> type:java.util.AbstractMap<K of java.util.AbstractMap, V of java.util.AbstractMap>