[FIR] ConeAttributes: fix plus method

The 'plus' method was actually creating a new 'ConeAttributes' with
only one new attribute due to a typo inside 'buildList'

^KT-60451
^KT-60504
This commit is contained in:
Dmitrii Gridin
2023-07-17 19:39:56 +02:00
committed by Space Team
parent c605cb9855
commit 4366164b65
8 changed files with 157 additions and 111 deletions
@@ -0,0 +1,45 @@
// LL_FIR_DIVERGENCE
// KT-60504
// LL_FIR_DIVERGENCE
// !RENDER_DIAGNOSTICS_MESSAGES
// SKIP_JAVAC
// FILE: A.java
import org.jetbrains.annotations.NotNull;
import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@javax.annotation.meta.TypeQualifier
public @interface MyTypeQualifier {}
@An
public interface A {
@NotNull
@An
@MyTypeQualifier
String foo();
}
// FILE: k.kt
import org.jetbrains.annotations.NotNull;
@Target(AnnotationTarget.FUNCTION, AnnotationTarget.TYPE, AnnotationTarget.CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.VALUE_PARAMETER)
annotation class An
class B : A {
override fun foo(): <!RETURN_TYPE_MISMATCH_ON_OVERRIDE("foo; @NotNull() @An() @MyTypeQualifier() fun foo(): @EnhancedNullability @R|An|() String")!>String?<!> = null
}
@An
public interface C {
@NotNull
@An
fun foo(): String
}
class D : C {
override fun foo(): <!RETURN_TYPE_MISMATCH_ON_OVERRIDE("foo; @NotNull() @An() fun foo(): String")!>String?<!> = null
}
@@ -1,7 +1,7 @@
/main.kt:(98,103): error: Argument type mismatch: actual type is 'V' but '@EnhancedNullability V & Any' was expected
/main.kt:(119,120): error: Argument type mismatch: actual type is 'kotlin/collections/List<V>' but 'ft<@EnhancedNullability kotlin/collections/MutableList<@EnhancedNullability V & Any>, @EnhancedNullability kotlin/collections/List<@EnhancedNullability V & Any>>' was expected
/main.kt:(119,120): error: Argument type mismatch: actual type is 'kotlin/collections/List<V>' but 'ft<@EnhancedNullability kotlin/collections/MutableList<@EnhancedNullability @R|org/jetbrains/annotations/NotNull|() V & Any>, @EnhancedNullability kotlin/collections/List<@EnhancedNullability @R|org/jetbrains/annotations/NotNull|() V & Any>>' was expected
/main.kt:(133,138): error: Argument type mismatch: actual type is 'V' but '@EnhancedNullability E & Any' was expected
/main.kt:(154,155): error: Argument type mismatch: actual type is 'kotlin/collections/List<V>' but 'ft<@EnhancedNullability kotlin/collections/MutableList<@EnhancedNullability E & Any>, @EnhancedNullability kotlin/collections/List<@EnhancedNullability E & Any>>' was expected
/main.kt:(154,155): error: Argument type mismatch: actual type is 'kotlin/collections/List<V>' but 'ft<@EnhancedNullability kotlin/collections/MutableList<@EnhancedNullability @R|org/jetbrains/annotations/NotNull|() E & Any>, @EnhancedNullability kotlin/collections/List<@EnhancedNullability @R|org/jetbrains/annotations/NotNull|() E & Any>>' was expected