[IDE-NI-MIGRATE] Migrate QuickFix tests for new inference
This commit is contained in:
+3
-1
@@ -231,7 +231,9 @@ object CompilerTestDirectives {
|
||||
fun configureCompilerOptions(fileText: String, project: Project, module: Module): Boolean {
|
||||
val version = InTextDirectivesUtils.findStringWithPrefixes(fileText, "// $LANGUAGE_VERSION_DIRECTIVE ")
|
||||
val jvmTarget = InTextDirectivesUtils.findStringWithPrefixes(fileText, "// $JVM_TARGET_DIRECTIVE ")
|
||||
val options = InTextDirectivesUtils.findStringWithPrefixes(fileText, "// $COMPILER_ARGUMENTS_DIRECTIVE ")
|
||||
// We can have several such directives in quickFixMultiFile tests
|
||||
// TODO: refactor such tests or add sophisticated check for the directive
|
||||
val options = InTextDirectivesUtils.findListWithPrefixes(fileText, "// $COMPILER_ARGUMENTS_DIRECTIVE ").firstOrNull()
|
||||
|
||||
if (version != null || jvmTarget != null || options != null) {
|
||||
configureLanguageAndApiVersion(project, module, version ?: LanguageVersion.LATEST_STABLE.versionString)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
// "Add 'kotlin.Any' as upper bound for E" "true"
|
||||
// ERROR: Type parameter bound for U in fun <T : Any, U : Any> foo(x: T, y: U): Int<br> is not satisfied: inferred type F is not a subtype of Any
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
fun <T : Any, U: Any> foo(x: T, y: U) = 1
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
// "Add 'kotlin.Any' as upper bound for E" "true"
|
||||
// ERROR: Type parameter bound for U in fun <T : Any, U : Any> foo(x: T, y: U): Int<br> is not satisfied: inferred type F is not a subtype of Any
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
fun <T : Any, U: Any> foo(x: T, y: U) = 1
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
// "Add 'kotlin.Any' as upper bound for E" "true"
|
||||
// WITH_RUNTIME
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
import kotlin.reflect.KClass
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
// "Add 'kotlin.Any' as upper bound for E" "true"
|
||||
// WITH_RUNTIME
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
import kotlin.reflect.KClass
|
||||
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ import BExtSpace.aaa
|
||||
// "Import" "true"
|
||||
// WITH_RUNTIME
|
||||
// ERROR: Unresolved reference: aaa
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
fun test() {
|
||||
AAA().apply {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// "Import" "true"
|
||||
// WITH_RUNTIME
|
||||
// ERROR: Unresolved reference: aaa
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
fun test() {
|
||||
AAA().apply {
|
||||
|
||||
+2
@@ -1,6 +1,7 @@
|
||||
// FILE: first.before.kt
|
||||
// "Import" "true"
|
||||
// ERROR: 'operator' modifier is required on 'get' in 'some.Some'
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
package testing
|
||||
|
||||
@@ -28,6 +29,7 @@ operator fun Some.get(s: String) {}
|
||||
// FILE: first.after.kt
|
||||
// "Import" "true"
|
||||
// ERROR: 'operator' modifier is required on 'get' in 'some.Some'
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
package testing
|
||||
|
||||
|
||||
+2
@@ -1,6 +1,7 @@
|
||||
// FILE: first.before.kt
|
||||
// "Import" "true"
|
||||
// ERROR: 'operator' modifier is required on 'set' in 'some.Some'
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
package testing
|
||||
|
||||
@@ -28,6 +29,7 @@ operator fun Some.set(s: String, i: Int) {}
|
||||
// FILE: first.after.kt
|
||||
// "Import" "true"
|
||||
// ERROR: 'operator' modifier is required on 'set' in 'some.Some'
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
package testing
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
// "Import" "true"
|
||||
// ERROR: Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: <br>public fun String.minus(i: Integer): String defined in h in file minusOperator.before.Main.kt<br>public fun String.minus(str: String): String defined in h in file minusOperator.before.Main.kt
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
package h
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
// "Import" "true"
|
||||
// ERROR: Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: <br>public fun String.minus(i: Integer): String defined in h in file minusOperator.before.Main.kt<br>public fun String.minus(str: String): String defined in h in file minusOperator.before.Main.kt
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
package h
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
// ACTION: Add parameter to function 'foo'
|
||||
// ACTION: Create extension function 'X.foo'
|
||||
// ACTION: Create member function 'X.foo'
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
package main
|
||||
|
||||
@@ -30,6 +31,7 @@ fun X.foo(p: String) {
|
||||
// ACTION: Add parameter to function 'foo'
|
||||
// ACTION: Create extension function 'X.foo'
|
||||
// ACTION: Create member function 'X.foo'
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
package main
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// FILE: first.before.kt
|
||||
// "Import" "true"
|
||||
// ERROR: Type mismatch: inferred type is () -> Unit but Int was expected
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
package main
|
||||
|
||||
@@ -23,6 +24,7 @@ fun X.foo(filter: (String) -> Boolean){}
|
||||
// FILE: first.after.kt
|
||||
// "Import" "true"
|
||||
// ERROR: Type mismatch: inferred type is () -> Unit but Int was expected
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
package main
|
||||
|
||||
|
||||
+1
@@ -4,6 +4,7 @@
|
||||
// ACTION: Create member function 'JustClass.plus'
|
||||
// ACTION: Flip '+'
|
||||
// ACTION: Replace overloaded operator with function call
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
|
||||
class JustClass
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
// "Add parameter to function 'foo'" "true"
|
||||
// ERROR: Too many arguments for public fun foo(): Unit defined in b in file addParameterWithImport.before.Dependency.kt
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
package a
|
||||
|
||||
import b.foo
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
// "Add parameter to function 'foo'" "true"
|
||||
// ERROR: Too many arguments for public fun foo(): Unit defined in b in file addParameterWithImport.before.Dependency.kt
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
package a
|
||||
|
||||
import b.foo
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
// "Add parameter to constructor 'Foo'" "true"
|
||||
// WITH_RUNTIME
|
||||
// DISABLE-ERRORS
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
private val foo = Foo(1, "2", <caret>setOf("3"))
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
// "Add parameter to constructor 'Foo'" "true"
|
||||
// WITH_RUNTIME
|
||||
// DISABLE-ERRORS
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
private val foo = Foo(1, "2", <caret>setOf("3"))
|
||||
@@ -1,4 +1,5 @@
|
||||
// "Add parameter to function 'bar'" "true"
|
||||
// WITH_RUNTIME
|
||||
// DISABLE-ERRORS
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
private val foo = Foo().bar(1, "2", <caret>setOf("3"))
|
||||
@@ -1,4 +1,5 @@
|
||||
// "Add parameter to function 'bar'" "true"
|
||||
// WITH_RUNTIME
|
||||
// DISABLE-ERRORS
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
private val foo = Foo().bar(1, "2", <caret>setOf("3"))
|
||||
@@ -3,6 +3,7 @@
|
||||
// ACTION: Introduce local variable
|
||||
// ERROR: The integer literal does not conform to the expected type Unit
|
||||
// WITH_RUNTIME
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
fun foo(f:()->Int){}
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
// ACTION: Introduce local variable
|
||||
// ERROR: The integer literal does not conform to the expected type Unit
|
||||
// WITH_RUNTIME
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
fun foo(f:()->Int){}
|
||||
|
||||
|
||||
+1
@@ -1,5 +1,6 @@
|
||||
// "Create extension function 'Int.plus'" "true"
|
||||
// WITH_RUNTIME
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
class A<T>(val n: T)
|
||||
|
||||
|
||||
Vendored
+1
@@ -1,5 +1,6 @@
|
||||
// "Create extension function 'Int.plus'" "true"
|
||||
// WITH_RUNTIME
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
class A<T>(val n: T)
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
// "Create extension function 'Int.foo'" "true"
|
||||
// WITH_RUNTIME
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
class A<T>(val n: T)
|
||||
|
||||
|
||||
+1
@@ -1,5 +1,6 @@
|
||||
// "Create extension function 'Int.foo'" "true"
|
||||
// WITH_RUNTIME
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
class A<T>(val n: T)
|
||||
|
||||
|
||||
Vendored
+1
@@ -1,4 +1,5 @@
|
||||
// "Create member function 'A.foo'" "true"
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
class A<T>(val n: T)
|
||||
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
// "Create member function 'A.foo'" "true"
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
class A<T>(val n: T) {
|
||||
fun foo(abc: T, ghi: A<T>, def: String): A<T> {
|
||||
|
||||
Vendored
+1
@@ -1,4 +1,5 @@
|
||||
// "Create function 'bar'" "true"
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
class A<T>(val t: T)
|
||||
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
// "Create function 'bar'" "true"
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
class A<T>(val t: T)
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
// "Create function 'foo'" "true"
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
fun <T> run(f: () -> T) = f()
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
// "Create function 'foo'" "true"
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
fun <T> run(f: () -> T) = f()
|
||||
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
// "Create function 'bar'" "true"
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
class A<T>(val t: T)
|
||||
|
||||
|
||||
Vendored
+1
@@ -1,4 +1,5 @@
|
||||
// "Create function 'bar'" "true"
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
class A<T>(val t: T)
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
// ERROR: Type inference failed: inline fun <T> Iterable<T>.firstOrNull(predicate: (T) -> Boolean): T?<br>cannot be applied to<br>receiver: Collection<List<String>> arguments: ((List<String>) -> () -> Boolean)<br>
|
||||
// ERROR: Type mismatch: inferred type is (List<String>) -> () -> Boolean but (List<String>) -> Boolean was expected
|
||||
// ERROR: Unresolved reference: maximumSizeOfGroup
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
fun doSomethingStrangeWithCollection(collection: Collection<String>): Collection<String>? {
|
||||
val groupsByLength = collection.groupBy { s -> { s.length } }
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
// "Create member function 'A.invoke'" "true"
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
class A<T>(val n: T)
|
||||
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
// "Create member function 'A.invoke'" "true"
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
class A<T>(val n: T) {
|
||||
operator fun invoke(abc: T, ghi: A<T>, def: String): A<T> {
|
||||
|
||||
+1
@@ -1,5 +1,6 @@
|
||||
// "Create type parameter 'X' in class 'Foo'" "true"
|
||||
// ERROR: Type mismatch: inferred type is A<Int> but A<Any?> was expected
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
class A<T>
|
||||
|
||||
open class Foo(x: A<<caret>X>)
|
||||
|
||||
+1
@@ -1,5 +1,6 @@
|
||||
// "Create type parameter 'X' in class 'Foo'" "true"
|
||||
// ERROR: Type mismatch: inferred type is A<Int> but A<Any?> was expected
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
class A<T>
|
||||
|
||||
open class Foo<X>(x: A<X>)
|
||||
|
||||
+1
@@ -3,6 +3,7 @@
|
||||
// ERROR: Unresolved reference: _
|
||||
// ERROR: Unresolved reference: _
|
||||
// ERROR: Type mismatch: inferred type is A<I> but A<List<[ERROR : _]>> was expected
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
class A<T : List<T>>
|
||||
|
||||
interface I : List<I>
|
||||
|
||||
+1
@@ -3,6 +3,7 @@
|
||||
// ERROR: Unresolved reference: _
|
||||
// ERROR: Unresolved reference: _
|
||||
// ERROR: Type mismatch: inferred type is A<I> but A<List<[ERROR : _]>> was expected
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
class A<T : List<T>>
|
||||
|
||||
interface I : List<I>
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
// "Create type parameter 'X' in class 'Foo'" "true"
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
class A<T : List<Int>>
|
||||
|
||||
open class Foo(x: A<<caret>X>)
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
// "Create type parameter 'X' in class 'Foo'" "true"
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
class A<T : List<Int>>
|
||||
|
||||
open class Foo<X : List<Int>>(x: A<X>)
|
||||
|
||||
+1
@@ -1,5 +1,6 @@
|
||||
// "Create type parameter 'X' in function 'foo'" "true"
|
||||
// ERROR: Unresolved reference: _
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
class A<T : List<T>>
|
||||
|
||||
interface I : List<I>
|
||||
|
||||
+1
@@ -1,5 +1,6 @@
|
||||
// "Create type parameter 'X' in function 'foo'" "true"
|
||||
// ERROR: Unresolved reference: _
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
class A<T : List<T>>
|
||||
|
||||
interface I : List<I>
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
// "Create type parameter 'X' in function 'foo'" "true"
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
class A<T : List<Int>>
|
||||
|
||||
fun foo(x: A<<caret>X>) {
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
// "Create type parameter 'X' in function 'foo'" "true"
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
class A<T : List<Int>>
|
||||
|
||||
fun <X : List<Int>> foo(x: A<X>) {
|
||||
|
||||
+1
@@ -3,6 +3,7 @@
|
||||
// ACTION: Create member function 'A.minus'
|
||||
// ACTION: Replace overloaded operator with function call
|
||||
// ERROR: Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: <br>@InlineOnly public inline operator fun BigDecimal.minus(other: BigDecimal): BigDecimal defined in kotlin<br>@InlineOnly public inline operator fun BigInteger.minus(other: BigInteger): BigInteger defined in kotlin<br>public operator fun <T> Iterable<???>.minus(elements: Array<out ???>): List<???> defined in kotlin.collections<br>public operator fun <T> Iterable<???>.minus(elements: Iterable<???>): List<???> defined in kotlin.collections<br>public operator fun <T> Iterable<???>.minus(elements: Sequence<???>): List<???> defined in kotlin.collections<br>public operator fun <T> Iterable<A>.minus(element: A): List<A> defined in kotlin.collections<br>@SinceKotlin public operator fun <K, V> Map<out ???, ???>.minus(keys: Array<out ???>): Map<???, ???> defined in kotlin.collections<br>@SinceKotlin public operator fun <K, V> Map<out ???, ???>.minus(keys: Iterable<???>): Map<???, ???> defined in kotlin.collections<br>@SinceKotlin public operator fun <K, V> Map<out ???, ???>.minus(keys: Sequence<???>): Map<???, ???> defined in kotlin.collections<br>@SinceKotlin public operator fun <K, V> Map<out A, ???>.minus(key: A): Map<A, ???> defined in kotlin.collections<br>public operator fun <T> Set<???>.minus(elements: Array<out ???>): Set<???> defined in kotlin.collections<br>public operator fun <T> Set<???>.minus(elements: Iterable<???>): Set<???> defined in kotlin.collections<br>public operator fun <T> Set<???>.minus(elements: Sequence<???>): Set<???> defined in kotlin.collections<br>public operator fun <T> Set<A>.minus(element: A): Set<A> defined in kotlin.collections<br>public operator fun <T> Sequence<???>.minus(elements: Array<out ???>): Sequence<???> defined in kotlin.sequences<br>public operator fun <T> Sequence<???>.minus(elements: Iterable<???>): Sequence<???> defined in kotlin.sequences<br>public operator fun <T> Sequence<???>.minus(elements: Sequence<???>): Sequence<???> defined in kotlin.sequences<br>public operator fun <T> Sequence<A>.minus(element: A): Sequence<A> defined in kotlin.sequences
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
class A
|
||||
|
||||
fun bar() {
|
||||
|
||||
+1
@@ -3,6 +3,7 @@
|
||||
// ACTION: Create member function 'A.minus'
|
||||
// ACTION: Replace overloaded operator with function call
|
||||
// ERROR: Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: <br>@InlineOnly public inline operator fun BigDecimal.minus(other: BigDecimal): BigDecimal defined in kotlin<br>@InlineOnly public inline operator fun BigInteger.minus(other: BigInteger): BigInteger defined in kotlin<br>public operator fun <T> Iterable<???>.minus(elements: Array<out ???>): List<???> defined in kotlin.collections<br>public operator fun <T> Iterable<???>.minus(elements: Iterable<???>): List<???> defined in kotlin.collections<br>public operator fun <T> Iterable<???>.minus(elements: Sequence<???>): List<???> defined in kotlin.collections<br>public operator fun <T> Iterable<A>.minus(element: A): List<A> defined in kotlin.collections<br>@SinceKotlin public operator fun <K, V> Map<out ???, ???>.minus(keys: Array<out ???>): Map<???, ???> defined in kotlin.collections<br>@SinceKotlin public operator fun <K, V> Map<out ???, ???>.minus(keys: Iterable<???>): Map<???, ???> defined in kotlin.collections<br>@SinceKotlin public operator fun <K, V> Map<out ???, ???>.minus(keys: Sequence<???>): Map<???, ???> defined in kotlin.collections<br>@SinceKotlin public operator fun <K, V> Map<out A, ???>.minus(key: A): Map<A, ???> defined in kotlin.collections<br>public operator fun <T> Set<???>.minus(elements: Array<out ???>): Set<???> defined in kotlin.collections<br>public operator fun <T> Set<???>.minus(elements: Iterable<???>): Set<???> defined in kotlin.collections<br>public operator fun <T> Set<???>.minus(elements: Sequence<???>): Set<???> defined in kotlin.collections<br>public operator fun <T> Set<A>.minus(element: A): Set<A> defined in kotlin.collections<br>public operator fun <T> Sequence<???>.minus(elements: Array<out ???>): Sequence<???> defined in kotlin.sequences<br>public operator fun <T> Sequence<???>.minus(elements: Iterable<???>): Sequence<???> defined in kotlin.sequences<br>public operator fun <T> Sequence<???>.minus(elements: Sequence<???>): Sequence<???> defined in kotlin.sequences<br>public operator fun <T> Sequence<A>.minus(element: A): Sequence<A> defined in kotlin.sequences
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
class A
|
||||
|
||||
fun bar() {
|
||||
|
||||
Vendored
+1
@@ -1,6 +1,7 @@
|
||||
// "Replace with 'New'" "true"
|
||||
// WITH_RUNTIME
|
||||
// ERROR: Type inference failed: Not enough information to infer parameter T in constructor New<T>()<br>Please specify it explicitly.<br>
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
abstract class Main<T>
|
||||
|
||||
|
||||
Vendored
+1
@@ -1,6 +1,7 @@
|
||||
// "Replace with 'New'" "true"
|
||||
// WITH_RUNTIME
|
||||
// ERROR: Type inference failed: Not enough information to infer parameter T in constructor New<T>()<br>Please specify it explicitly.<br>
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
abstract class Main<T>
|
||||
|
||||
|
||||
+1
@@ -1,5 +1,6 @@
|
||||
// "Replace with 'Factory()'" "true"
|
||||
// WITH_RUNTIME
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
class Foo<T> @Deprecated("", ReplaceWith("Factory<T>()")) constructor()
|
||||
fun <T> Factory(): Foo<T> = TODO()
|
||||
|
||||
+1
@@ -1,5 +1,6 @@
|
||||
// "Replace with 'Factory()'" "true"
|
||||
// WITH_RUNTIME
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
class Foo<T> @Deprecated("", ReplaceWith("Factory<T>()")) constructor()
|
||||
fun <T> Factory(): Foo<T> = TODO()
|
||||
|
||||
idea/testData/quickfix/deprecatedSymbolUsage/optionalParameters/optionalParameterAndLambdaComplex.kt
Vendored
+1
@@ -1,5 +1,6 @@
|
||||
// "Replace with 'addA(d(createDummy, dummyParam1, initDummy), dummyParam)'" "true"
|
||||
// WITH_RUNTIME
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
typealias NewDummyRef<V> = (Any) -> V
|
||||
|
||||
|
||||
+1
@@ -1,5 +1,6 @@
|
||||
// "Replace with 'addA(d(createDummy, dummyParam1, initDummy), dummyParam)'" "true"
|
||||
// WITH_RUNTIME
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
typealias NewDummyRef<V> = (Any) -> V
|
||||
|
||||
|
||||
Vendored
+1
@@ -1,4 +1,5 @@
|
||||
// "Replace with 'newFun()'" "true"
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
@Deprecated("", ReplaceWith("newFun<T>()"))
|
||||
fun <T : Any> oldFun(): T? {
|
||||
|
||||
idea/testData/quickfix/deprecatedSymbolUsage/typeArguments/explicitInPatternImplicitInUsage.kt.after
Vendored
+1
@@ -1,4 +1,5 @@
|
||||
// "Replace with 'newFun()'" "true"
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
@Deprecated("", ReplaceWith("newFun<T>()"))
|
||||
fun <T : Any> oldFun(): T? {
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
// ERROR: Val cannot be reassigned
|
||||
// ERROR: Val cannot be reassigned
|
||||
// WITH_RUNTIME
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
fun foo() {
|
||||
val x = 1
|
||||
|
||||
+1
@@ -5,5 +5,6 @@
|
||||
// ACTION: Replace with safe (this?.) call
|
||||
// ACTION: Wrap with '?.let { ... }' call
|
||||
// ERROR: Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type String?
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
fun String?.foo(exec: (String.() -> Unit)) = exec<caret>()
|
||||
+1
@@ -1,5 +1,6 @@
|
||||
// "Remove '.java'" "true"
|
||||
// WITH_RUNTIME
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
fun foo() {
|
||||
bar(Foo::class.java<caret>)
|
||||
}
|
||||
|
||||
Vendored
+1
@@ -1,5 +1,6 @@
|
||||
// "Remove '.java'" "true"
|
||||
// WITH_RUNTIME
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
fun foo() {
|
||||
bar(Foo::class<caret>)
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
// "Cast expression 'x' to 'Foo<*>'" "true"
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
interface Foo<T: Number> {
|
||||
fun bar()
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
// "Cast expression 'x' to 'Foo<*>'" "true"
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
interface Foo<T: Number> {
|
||||
fun bar()
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
// ACTION: Change return type of enclosing function 'foo' to 'Foo<Number>'
|
||||
// ACTION: Introduce import alias
|
||||
// ERROR: Type mismatch: inferred type is Foo<Number> but Foo<Int> was expected
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
class Foo<T>
|
||||
|
||||
fun foo(): Foo<Int> {
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
// ACTION: Change to '1u'
|
||||
// ACTION: Do not show hints for current method
|
||||
// ACTION: Add 'u =' to argument
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
|
||||
fun takeUInt(u: UInt) = 0
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
// "Change type from 'Int' to 'X'" "true"
|
||||
// ERROR: Cannot use 'X' as reified type parameter. Use a class instead.
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
inline fun <reified T> inlineReified0(f: (T) -> T) = {}
|
||||
fun <X> callInlineReified3() = inlineReified0<X>({ x: <caret>Int -> x })
|
||||
@@ -1,4 +1,5 @@
|
||||
// "Change type from 'Int' to 'X'" "true"
|
||||
// ERROR: Cannot use 'X' as reified type parameter. Use a class instead.
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
inline fun <reified T> inlineReified0(f: (T) -> T) = {}
|
||||
fun <X> callInlineReified3() = inlineReified0<X>({ x: X -> x })
|
||||
@@ -1,5 +1,6 @@
|
||||
// "Surround with lambda" "true"
|
||||
// ERROR: Type mismatch: inferred type is String? but String was expected
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
fun nullableFn() {
|
||||
val nullableStr: String? = null
|
||||
str(<caret>nullableStr)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
// "Surround with lambda" "true"
|
||||
// ERROR: Type mismatch: inferred type is String? but String was expected
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
fun nullableFn() {
|
||||
val nullableStr: String? = null
|
||||
str({ nullableStr })
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
// "Change type of 'A.x' to '() -> Int'" "true"
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
class A {
|
||||
var x: Int
|
||||
get(): Int = if (true) { {42}<caret> } else { {24} }
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
// "Change type of 'A.x' to '() -> Int'" "true"
|
||||
// COMPILER_ARGUMENTS: -XXLanguage:-NewInference
|
||||
class A {
|
||||
var x: () -> Int
|
||||
get(): () -> Int = if (true) { {42}<caret> } else { {24} }
|
||||
|
||||
Reference in New Issue
Block a user