[Test] Add ability to specify applicability of diagnostic to module or file
This commit is contained in:
committed by
TeamCityServer
parent
28cff22cd0
commit
6a7cd0c811
+1
-1
@@ -1,5 +1,5 @@
|
||||
// FILE: Descriptor.java
|
||||
// FULL_JDK
|
||||
// FILE: Descriptor.java
|
||||
|
||||
public interface Descriptor
|
||||
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
// FILE: Element.java
|
||||
// FULL_JDK
|
||||
// FILE: Element.java
|
||||
|
||||
public interface Element {}
|
||||
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
// FILE: StaticOwner.java
|
||||
// FULL_JDK
|
||||
// FILE: StaticOwner.java
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@@ -21,4 +21,4 @@ abstract class User<T : Freezable> {
|
||||
fun foo() {
|
||||
settings = StaticOwner.newInstance(settings.javaClass)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+34
-7
@@ -9,7 +9,18 @@ import org.jetbrains.kotlin.test.util.joinToArrayString
|
||||
|
||||
// --------------------------- Directive declaration ---------------------------
|
||||
|
||||
sealed class Directive(val name: String, val description: String) {
|
||||
enum class DirectiveApplicability(
|
||||
val forGlobal: Boolean = false,
|
||||
val forModule: Boolean = false,
|
||||
val forFile: Boolean = false
|
||||
) {
|
||||
Any(forGlobal = true, forModule = true, forFile = true),
|
||||
Global(forGlobal = true, forModule = true),
|
||||
Module(forModule = true),
|
||||
File(forFile = true)
|
||||
}
|
||||
|
||||
sealed class Directive(val name: String, val description: String, val applicability: DirectiveApplicability) {
|
||||
override fun toString(): String {
|
||||
return name
|
||||
}
|
||||
@@ -17,23 +28,26 @@ sealed class Directive(val name: String, val description: String) {
|
||||
|
||||
class SimpleDirective(
|
||||
name: String,
|
||||
description: String
|
||||
) : Directive(name, description)
|
||||
description: String,
|
||||
applicability: DirectiveApplicability
|
||||
) : Directive(name, description, applicability)
|
||||
|
||||
class StringDirective(
|
||||
name: String,
|
||||
description: String
|
||||
) : Directive(name, description)
|
||||
description: String,
|
||||
applicability: DirectiveApplicability
|
||||
) : Directive(name, description, applicability)
|
||||
|
||||
class ValueDirective<T : Any>(
|
||||
name: String,
|
||||
description: String,
|
||||
applicability: DirectiveApplicability,
|
||||
val parser: (String) -> T?
|
||||
) : Directive(name, description)
|
||||
) : Directive(name, description, applicability)
|
||||
|
||||
// --------------------------- Registered directive ---------------------------
|
||||
|
||||
abstract class RegisteredDirectives {
|
||||
abstract class RegisteredDirectives : Iterable<Directive> {
|
||||
companion object {
|
||||
val Empty = RegisteredDirectivesImpl(emptyList(), emptyMap(), emptyMap())
|
||||
}
|
||||
@@ -78,6 +92,15 @@ class RegisteredDirectivesImpl(
|
||||
valueDirectives.forEach { (d, v) -> appendLine(" $d: ${v.joinToArrayString()}")}
|
||||
}
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalStdlibApi::class)
|
||||
override fun iterator(): Iterator<Directive> {
|
||||
return buildList {
|
||||
addAll(simpleDirectives)
|
||||
addAll(stringDirectives.keys)
|
||||
addAll(valueDirectives.keys)
|
||||
}.iterator()
|
||||
}
|
||||
}
|
||||
|
||||
class ComposedRegisteredDirectives(
|
||||
@@ -109,6 +132,10 @@ class ComposedRegisteredDirectives(
|
||||
override fun isEmpty(): Boolean {
|
||||
return containers.all { it.isEmpty() }
|
||||
}
|
||||
|
||||
override fun iterator(): Iterator<Directive> {
|
||||
return containers.flatten().iterator()
|
||||
}
|
||||
}
|
||||
|
||||
// --------------------------- Utils ---------------------------
|
||||
|
||||
+14
-6
@@ -20,28 +20,36 @@ abstract class SimpleDirectivesContainer : DirectivesContainer() {
|
||||
|
||||
override operator fun get(name: String): Directive? = registeredDirectives[name]
|
||||
|
||||
protected fun directive(description: String): DirectiveDelegateProvider<SimpleDirective> {
|
||||
return DirectiveDelegateProvider { SimpleDirective(it, description) }
|
||||
protected fun directive(
|
||||
description: String,
|
||||
applicability: DirectiveApplicability = DirectiveApplicability.Global
|
||||
): DirectiveDelegateProvider<SimpleDirective> {
|
||||
return DirectiveDelegateProvider { SimpleDirective(it, description, applicability) }
|
||||
}
|
||||
|
||||
protected fun stringDirective(description: String): DirectiveDelegateProvider<StringDirective> {
|
||||
return DirectiveDelegateProvider { StringDirective(it, description) }
|
||||
protected fun stringDirective(
|
||||
description: String,
|
||||
applicability: DirectiveApplicability = DirectiveApplicability.Global
|
||||
): DirectiveDelegateProvider<StringDirective> {
|
||||
return DirectiveDelegateProvider { StringDirective(it, description, applicability) }
|
||||
}
|
||||
|
||||
protected inline fun <reified T : Enum<T>> enumDirective(
|
||||
description: String,
|
||||
applicability: DirectiveApplicability = DirectiveApplicability.Global,
|
||||
noinline additionalParser: ((String) -> T?)? = null
|
||||
): DirectiveDelegateProvider<ValueDirective<T>> {
|
||||
val possibleValues = enumValues<T>()
|
||||
val parser: (String) -> T? = { value -> possibleValues.firstOrNull { it.name == value } ?: additionalParser?.invoke(value) }
|
||||
return DirectiveDelegateProvider { ValueDirective(it, description, parser) }
|
||||
return DirectiveDelegateProvider { ValueDirective(it, description, applicability, parser) }
|
||||
}
|
||||
|
||||
protected fun <T : Any> valueDirective(
|
||||
description: String,
|
||||
applicability: DirectiveApplicability = DirectiveApplicability.Global,
|
||||
parser: (String) -> T?
|
||||
): DirectiveDelegateProvider<ValueDirective<T>> {
|
||||
return DirectiveDelegateProvider { ValueDirective(it, description, parser) }
|
||||
return DirectiveDelegateProvider { ValueDirective(it, description, applicability, parser) }
|
||||
}
|
||||
|
||||
protected fun registerDirective(directive: Directive) {
|
||||
|
||||
@@ -18,9 +18,9 @@ suspend fun <R> notInlined(
|
||||
): R = block()
|
||||
|
||||
// MODULE: main(lib, support)
|
||||
// FILE: main.kt
|
||||
// WITH_COROUTINES
|
||||
// WITH_RUNTIME
|
||||
// FILE: main.kt
|
||||
import helpers.*
|
||||
import kotlin.coroutines.*
|
||||
import kotlin.coroutines.intrinsics.*
|
||||
|
||||
+1
-1
@@ -8,9 +8,9 @@ inline fun foo(x: String = "OK"): String {
|
||||
}
|
||||
|
||||
// MODULE: main(lib, support)
|
||||
// FILE: main.kt
|
||||
// WITH_RUNTIME
|
||||
// WITH_COROUTINES
|
||||
// FILE: main.kt
|
||||
import helpers.*
|
||||
import kotlin.coroutines.*
|
||||
import kotlin.coroutines.intrinsics.*
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// FILE: Base.java
|
||||
|
||||
public interface Base {
|
||||
@@ -10,7 +11,6 @@ public interface Base {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
|
||||
public interface BaseKotlin : Base {
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// FILE: Base.java
|
||||
|
||||
public interface Base {
|
||||
@@ -10,7 +11,6 @@ public interface Base {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
|
||||
public interface BaseKotlin : Base {
|
||||
override fun getValue() = "OK"
|
||||
|
||||
+1
-1
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// FILE: Base.java
|
||||
|
||||
public interface Base {
|
||||
@@ -18,7 +19,6 @@ public interface Base2 extends Base {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
|
||||
interface KBase : Base
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// FILE: Base.java
|
||||
|
||||
public interface Base {
|
||||
@@ -17,7 +18,6 @@ public interface Base2 extends Base {
|
||||
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
|
||||
interface KBase : Base {
|
||||
override fun test() = "O" + getValue()
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// FILE: Base.java
|
||||
|
||||
public interface Base {
|
||||
@@ -10,7 +11,6 @@ public interface Base {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
|
||||
class Fail : Base {
|
||||
override fun getValue() = "Fail"
|
||||
|
||||
+1
-1
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// FILE: Base.java
|
||||
|
||||
public interface Base extends KBase {
|
||||
@@ -10,7 +11,6 @@ public interface Base extends KBase {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
|
||||
interface KBase {
|
||||
fun getValue(): String
|
||||
|
||||
+1
-1
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// FILE: Base.java
|
||||
|
||||
public interface Base {
|
||||
@@ -10,7 +11,6 @@ public interface Base {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
|
||||
class Fail : Base {
|
||||
override fun getValue() = "Fail"
|
||||
|
||||
+1
-1
@@ -1,6 +1,7 @@
|
||||
// !LANGUAGE: -NoDelegationToJavaDefaultInterfaceMembers
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// FILE: Base.java
|
||||
|
||||
public interface Base {
|
||||
@@ -12,7 +13,6 @@ public interface Base {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
|
||||
class OK : Base {
|
||||
override fun getValue() = "OK"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// MODULE: lib
|
||||
// FILE: lib.kt
|
||||
// WITH_RUNTIME
|
||||
// FILE: lib.kt
|
||||
|
||||
import kotlin.test.assertEquals
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// MODULE: lib
|
||||
// FILE: lib.kt
|
||||
// WITH_RUNTIME
|
||||
// FILE: lib.kt
|
||||
|
||||
import kotlin.test.assertEquals
|
||||
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
// DONT_TARGET_EXACT_BACKEND: WASM
|
||||
// IGNORE_BACKEND: JS
|
||||
// IGNORE_BACKEND: JS_IR
|
||||
// FILE: DiagnosticFactory0.java
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -10,9 +13,6 @@ public class DiagnosticFactory0<E> {
|
||||
}
|
||||
|
||||
// FILE: test.kt
|
||||
// DONT_TARGET_EXACT_BACKEND: WASM
|
||||
// IGNORE_BACKEND: JS
|
||||
// IGNORE_BACKEND: JS_IR
|
||||
|
||||
class SimpleDiagnostic<E>(val element: E)
|
||||
interface KtAnnotationEntry
|
||||
@@ -21,4 +21,4 @@ fun foo(error: DiagnosticFactory0<in KtAnnotationEntry>, entry: KtAnnotationEntr
|
||||
error.on(entry) // used to be INAPPLICABLE_CANDIDATE
|
||||
}
|
||||
|
||||
fun box() = "OK"
|
||||
fun box() = "OK"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
// DONT_TARGET_EXACT_BACKEND: WASM
|
||||
// IGNORE_BACKEND: JS
|
||||
// IGNORE_BACKEND: JS_IR
|
||||
// FILE: Processor.java
|
||||
|
||||
public interface Processor<T> {
|
||||
@@ -5,9 +8,6 @@ public interface Processor<T> {
|
||||
}
|
||||
|
||||
// FILE: test.kt
|
||||
// DONT_TARGET_EXACT_BACKEND: WASM
|
||||
// IGNORE_BACKEND: JS
|
||||
// IGNORE_BACKEND: JS_IR
|
||||
|
||||
interface PsiModifierListOwner
|
||||
interface KtClassOrObject {
|
||||
@@ -23,4 +23,4 @@ fun execute(declaration: Any, consumer: Processor<in PsiModifierListOwner>) {
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String = "OK"
|
||||
fun box(): String = "OK"
|
||||
|
||||
+2
-2
@@ -1,5 +1,7 @@
|
||||
// SKIP_JDK6
|
||||
// TARGET_BACKEND: JVM
|
||||
// WITH_RUNTIME
|
||||
// FULL_JDK
|
||||
// FILE: F.java
|
||||
import java.util.function.Function;
|
||||
|
||||
@@ -10,8 +12,6 @@ public class F {
|
||||
}
|
||||
|
||||
// FILE: test.kt
|
||||
// WITH_RUNTIME
|
||||
// FULL_JDK
|
||||
fun test(f: (Int?) -> String): String {
|
||||
return F.passNull(f)
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// FILE: test.kt
|
||||
// WITH_RUNTIME
|
||||
// FILE: test.kt
|
||||
|
||||
import kotlin.test.*
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// FILE: test.kt
|
||||
// WITH_RUNTIME
|
||||
// FILE: test.kt
|
||||
|
||||
import kotlin.test.*
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
// !JVM_DEFAULT_MODE: all-compatibility
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
// FILE: Simple.java
|
||||
|
||||
public interface Simple extends KInterface2 {
|
||||
@@ -14,8 +16,6 @@ public class Foo implements Simple {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface KInterface<T> {
|
||||
fun test2(p: T): T {
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
// !JVM_DEFAULT_MODE: all-compatibility
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
// FILE: Simple.java
|
||||
|
||||
public interface Simple extends KInterface2 {
|
||||
@@ -16,8 +18,6 @@ public class Foo implements Simple {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface KInterface<T> {
|
||||
fun test2(p: T): T {
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
// !JVM_DEFAULT_MODE: all-compatibility
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
// FILE: Simple.java
|
||||
|
||||
public interface Simple extends KInterface3 {
|
||||
@@ -16,8 +18,6 @@ public class Foo implements Simple {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface KInterface<T> {
|
||||
fun test2(p: T): T {
|
||||
|
||||
+2
-2
@@ -1,5 +1,7 @@
|
||||
// !JVM_DEFAULT_MODE: all-compatibility
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
// FILE: Simple.java
|
||||
|
||||
public interface Simple extends KInterface2 {
|
||||
@@ -14,8 +16,6 @@ public class Foo implements Simple {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface KInterface<T> {
|
||||
|
||||
|
||||
+2
-2
@@ -1,5 +1,7 @@
|
||||
// !JVM_DEFAULT_MODE: all-compatibility
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
// FILE: Simple.java
|
||||
|
||||
public interface Simple extends KInterface2 {
|
||||
@@ -16,8 +18,6 @@ public class Foo implements Simple {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface KInterface<T> {
|
||||
|
||||
|
||||
+2
-2
@@ -1,5 +1,7 @@
|
||||
// !JVM_DEFAULT_MODE: all-compatibility
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
// FILE: Simple.java
|
||||
|
||||
public interface Simple extends KInterface3 {
|
||||
@@ -14,8 +16,6 @@ public class Foo implements Simple {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface KInterface<T> {
|
||||
|
||||
|
||||
+1
-2
@@ -2,6 +2,7 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// FULL_JDK
|
||||
// WITH_RUNTIME
|
||||
// JVM_TARGET: 1.8
|
||||
// FILE: Simple.java
|
||||
|
||||
public interface Simple extends KInterface {
|
||||
@@ -16,8 +17,6 @@ public class Foo implements Simple {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface KInterface {
|
||||
fun call(): List<String> {
|
||||
|
||||
+2
-2
@@ -1,5 +1,7 @@
|
||||
// !JVM_DEFAULT_MODE: all-compatibility
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
// FILE: Simple.java
|
||||
|
||||
public interface Simple extends KInterface2 {
|
||||
@@ -14,8 +16,6 @@ public class Foo implements Simple {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface KInterface {
|
||||
fun test2(): String {
|
||||
|
||||
+2
-2
@@ -1,5 +1,7 @@
|
||||
// !JVM_DEFAULT_MODE: all-compatibility
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
// FILE: Simple.java
|
||||
|
||||
public interface Simple extends KInterface {
|
||||
@@ -14,8 +16,6 @@ public class Foo implements Simple {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface KInterface {
|
||||
fun test2(): String {
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
// !JVM_DEFAULT_MODE: compatibility
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
// FILE: Simple.java
|
||||
|
||||
public interface Simple extends KInterface2 {
|
||||
@@ -14,8 +16,6 @@ public class Foo implements Simple {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface KInterface<T> {
|
||||
@JvmDefault
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
// !JVM_DEFAULT_MODE: compatibility
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
// FILE: Simple.java
|
||||
|
||||
public interface Simple extends KInterface2 {
|
||||
@@ -16,8 +18,6 @@ public class Foo implements Simple {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface KInterface<T> {
|
||||
@JvmDefault
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
// !JVM_DEFAULT_MODE: compatibility
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
// FILE: Simple.java
|
||||
|
||||
public interface Simple extends KInterface3 {
|
||||
@@ -16,8 +18,6 @@ public class Foo implements Simple {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface KInterface<T> {
|
||||
@JvmDefault
|
||||
|
||||
+2
-2
@@ -1,5 +1,7 @@
|
||||
// !JVM_DEFAULT_MODE: compatibility
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
// FILE: Simple.java
|
||||
|
||||
public interface Simple extends KInterface2 {
|
||||
@@ -14,8 +16,6 @@ public class Foo implements Simple {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface KInterface<T> {
|
||||
|
||||
|
||||
+2
-2
@@ -1,5 +1,7 @@
|
||||
// !JVM_DEFAULT_MODE: compatibility
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
// FILE: Simple.java
|
||||
|
||||
public interface Simple extends KInterface2 {
|
||||
@@ -16,8 +18,6 @@ public class Foo implements Simple {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface KInterface<T> {
|
||||
|
||||
|
||||
+2
-2
@@ -1,5 +1,7 @@
|
||||
// !JVM_DEFAULT_MODE: compatibility
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
// FILE: Simple.java
|
||||
|
||||
public interface Simple extends KInterface3 {
|
||||
@@ -14,8 +16,6 @@ public class Foo implements Simple {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface KInterface<T> {
|
||||
|
||||
|
||||
+2
-2
@@ -1,5 +1,7 @@
|
||||
// !JVM_DEFAULT_MODE: compatibility
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
// FILE: Simple.java
|
||||
|
||||
public interface Simple extends KInterface2 {
|
||||
@@ -14,8 +16,6 @@ public class Foo implements Simple {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface KInterface {
|
||||
@JvmDefault
|
||||
|
||||
+2
-2
@@ -1,5 +1,7 @@
|
||||
// !JVM_DEFAULT_MODE: compatibility
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
// FILE: Simple.java
|
||||
|
||||
public interface Simple extends KInterface {
|
||||
@@ -14,8 +16,6 @@ public class Foo implements Simple {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface KInterface {
|
||||
@JvmDefault
|
||||
|
||||
+2
-2
@@ -1,5 +1,7 @@
|
||||
// !JVM_DEFAULT_MODE: enable
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
// FILE: JBase.java
|
||||
|
||||
public interface JBase extends Base {
|
||||
@@ -9,8 +11,6 @@ public interface JBase extends Base {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface Base {
|
||||
@JvmDefault
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
// !JVM_DEFAULT_MODE: all
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
// FILE: Simple.java
|
||||
|
||||
public interface Simple extends KInterface2 {
|
||||
@@ -14,8 +16,6 @@ public class Foo implements Simple {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface KInterface<T> {
|
||||
fun test2(p: T): T {
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
// !JVM_DEFAULT_MODE: all
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
// FILE: Simple.java
|
||||
|
||||
public interface Simple extends KInterface2 {
|
||||
@@ -16,8 +18,6 @@ public class Foo implements Simple {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface KInterface<T> {
|
||||
fun test2(p: T): T {
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
// !JVM_DEFAULT_MODE: all
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
// FILE: Simple.java
|
||||
|
||||
public interface Simple extends KInterface3 {
|
||||
@@ -16,8 +18,6 @@ public class Foo implements Simple {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface KInterface<T> {
|
||||
fun test2(p: T): T {
|
||||
|
||||
+2
-2
@@ -1,5 +1,7 @@
|
||||
// !JVM_DEFAULT_MODE: all
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
// FILE: Simple.java
|
||||
|
||||
public interface Simple extends KInterface2 {
|
||||
@@ -14,8 +16,6 @@ public class Foo implements Simple {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface KInterface<T> {
|
||||
|
||||
|
||||
+2
-2
@@ -1,5 +1,7 @@
|
||||
// !JVM_DEFAULT_MODE: all
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
// FILE: Simple.java
|
||||
|
||||
public interface Simple extends KInterface2 {
|
||||
@@ -16,8 +18,6 @@ public class Foo implements Simple {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface KInterface<T> {
|
||||
|
||||
|
||||
+2
-2
@@ -1,5 +1,7 @@
|
||||
// !JVM_DEFAULT_MODE: all
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
// FILE: Simple.java
|
||||
|
||||
public interface Simple extends KInterface3 {
|
||||
@@ -14,8 +16,6 @@ public class Foo implements Simple {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface KInterface<T> {
|
||||
|
||||
|
||||
+2
-2
@@ -1,5 +1,7 @@
|
||||
// !JVM_DEFAULT_MODE: all
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
// FILE: Simple.java
|
||||
|
||||
public interface Simple extends KInterface2 {
|
||||
@@ -14,8 +16,6 @@ public class Foo implements Simple {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface KInterface {
|
||||
fun test2(): String {
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
// !JVM_DEFAULT_MODE: all
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
// FILE: JBase.java
|
||||
|
||||
public interface JBase extends Base {
|
||||
@@ -9,8 +11,6 @@ public interface JBase extends Base {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface Base {
|
||||
fun test(): String = "Base"
|
||||
|
||||
+2
-2
@@ -1,5 +1,7 @@
|
||||
// !JVM_DEFAULT_MODE: all
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
// FILE: Simple.java
|
||||
|
||||
public interface Simple extends KInterface {
|
||||
@@ -14,8 +16,6 @@ public class Foo implements Simple {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface KInterface {
|
||||
fun test2(): String {
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// FILE: Simple.java
|
||||
|
||||
public interface Simple {
|
||||
@@ -12,7 +13,6 @@ public interface Simple {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
class TestClass : Simple {
|
||||
override fun test(): String {
|
||||
return super.test()
|
||||
@@ -22,4 +22,4 @@ class TestClass : Simple {
|
||||
|
||||
fun box(): String {
|
||||
return TestClass().test() + Simple.testStatic()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// FILE: Simple.java
|
||||
|
||||
public interface Simple {
|
||||
@@ -12,7 +13,6 @@ public interface Simple {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
interface KSimple : Simple {}
|
||||
|
||||
class TestClass : KSimple {
|
||||
@@ -24,4 +24,4 @@ class TestClass : KSimple {
|
||||
|
||||
fun box(): String {
|
||||
return TestClass().test() + Simple.testStatic()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// FILE: IBase.java
|
||||
|
||||
interface IBase {
|
||||
@@ -8,7 +9,6 @@ interface IBase {
|
||||
}
|
||||
|
||||
// FILE: Kotlin.kt
|
||||
// JVM_TARGET: 1.8
|
||||
open class Base {
|
||||
fun foo() = "OK"
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// FILE: Simple.java
|
||||
|
||||
public interface Simple {
|
||||
@@ -12,7 +13,6 @@ public interface Simple {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
interface KInterface : Simple {
|
||||
fun bar(): String {
|
||||
return test("O") + Simple.testStatic("O")
|
||||
|
||||
+1
-1
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// FILE: Simple.java
|
||||
|
||||
interface Simple {
|
||||
@@ -12,7 +13,6 @@ interface Simple {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
class Test : Simple {}
|
||||
|
||||
fun box(): String {
|
||||
|
||||
+1
-1
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// FILE: Simple.java
|
||||
|
||||
public interface Simple {
|
||||
@@ -12,7 +13,6 @@ public interface Simple {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
interface TestInterface : Simple {}
|
||||
class Test : TestInterface {}
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// FILE: Simple.java
|
||||
|
||||
public interface Simple {
|
||||
@@ -8,7 +9,6 @@ public interface Simple {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
|
||||
interface KInterface: Simple {
|
||||
override fun test(s: String): String {
|
||||
|
||||
+1
-1
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// FILE: Test.java
|
||||
|
||||
interface Test<T> {
|
||||
@@ -11,7 +12,6 @@ interface Test<T> {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
|
||||
class Child : Test<String> {
|
||||
override fun call() : String {
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// FILE: Simple.java
|
||||
|
||||
interface Simple extends KInterface {
|
||||
@@ -8,7 +9,6 @@ interface Simple extends KInterface {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// JVM_TARGET: 1.8
|
||||
interface KInterface {
|
||||
fun test(): String {
|
||||
return "base";
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
// SKIP_JDK6
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// FILE: Test.java
|
||||
|
||||
public interface Test {
|
||||
@@ -9,7 +10,6 @@ public interface Test {
|
||||
}
|
||||
|
||||
// FILE: test.kt
|
||||
// JVM_TARGET: 1.8
|
||||
interface KInterface : Test {
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// !JVM_DEFAULT_MODE: disable
|
||||
// JVM_TARGET: 1.8
|
||||
// TARGET_BACKEND: JVM
|
||||
// WITH_RUNTIME
|
||||
// FILE: JBase.java
|
||||
|
||||
public interface JBase extends Base {
|
||||
@@ -10,7 +11,6 @@ public interface JBase extends Base {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface Base {
|
||||
fun test(): String = "Base"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// !JVM_DEFAULT_MODE: disable
|
||||
// JVM_TARGET: 1.8
|
||||
// TARGET_BACKEND: JVM
|
||||
// WITH_RUNTIME
|
||||
// FILE: Base.java
|
||||
|
||||
public interface Base {
|
||||
@@ -11,7 +12,6 @@ public interface Base {
|
||||
|
||||
|
||||
// FILE: main.kt
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface LeftBase : Base
|
||||
interface Right : Base {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// !JVM_DEFAULT_MODE: disable
|
||||
// JVM_TARGET: 1.8
|
||||
// TARGET_BACKEND: JVM
|
||||
// WITH_RUNTIME
|
||||
// FILE: Base.java
|
||||
|
||||
public interface Base {
|
||||
@@ -15,7 +16,6 @@ public interface Left extends Base {
|
||||
}
|
||||
|
||||
// FILE: main.kt
|
||||
// WITH_RUNTIME
|
||||
|
||||
interface Right : Base {
|
||||
override fun test(): String = "OK"
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
// !JVM_DEFAULT_MODE: disable
|
||||
// JVM_TARGET: 1.8
|
||||
// TARGET_BACKEND: JVM
|
||||
// FILE: main.kt
|
||||
// WITH_RUNTIME
|
||||
// FULL_JDK
|
||||
// FILE: main.kt
|
||||
var result = ""
|
||||
|
||||
interface A<K, V> : MutableMap<K, V>
|
||||
@@ -72,4 +72,4 @@ fun box(): String {
|
||||
val value = map.getOrDefault("O", "OK")
|
||||
if (result != "O=fail;O;O;") return "fail 3: $result"
|
||||
return value
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+1
-1
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// FILE: Base.java
|
||||
|
||||
public interface Base {
|
||||
@@ -8,7 +9,6 @@ public interface Base {
|
||||
}
|
||||
|
||||
// FILE: derived.kt
|
||||
// JVM_TARGET: 1.8
|
||||
interface K1 : Base
|
||||
|
||||
interface K2 : K1
|
||||
|
||||
+1
-1
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// FILE: JavaCall.java
|
||||
|
||||
class JavaCall {
|
||||
@@ -23,7 +24,6 @@ interface Test {
|
||||
}
|
||||
|
||||
// FILE: sam.kt
|
||||
// JVM_TARGET: 1.8
|
||||
|
||||
fun box(): String {
|
||||
val lambda = { "X" }
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
// !LANGUAGE: -NullabilityAssertionOnExtensionReceiver
|
||||
// TARGET_BACKEND: JVM
|
||||
// FILE: test.kt
|
||||
// WITH_RUNTIME
|
||||
// FILE: test.kt
|
||||
private operator fun A.inc() = A()
|
||||
|
||||
fun box(): String {
|
||||
@@ -14,4 +14,4 @@ fun box(): String {
|
||||
// FILE: A.java
|
||||
public class A {
|
||||
public static A n() { return null; }
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
// !LANGUAGE: -NullabilityAssertionOnExtensionReceiver
|
||||
// TARGET_BACKEND: JVM
|
||||
// FILE: test.kt
|
||||
// WITH_RUNTIME
|
||||
// FILE: test.kt
|
||||
|
||||
import kotlin.test.*
|
||||
|
||||
|
||||
+1
-1
@@ -1,9 +1,9 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JVM
|
||||
// ANDROID_ANNOTATIONS
|
||||
|
||||
// FILE: A.java
|
||||
// ANDROID_ANNOTATIONS
|
||||
|
||||
import kotlin.annotations.jvm.internal.*;
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JVM
|
||||
// ANDROID_ANNOTATIONS
|
||||
|
||||
// FILE: A.java
|
||||
// ANDROID_ANNOTATIONS
|
||||
|
||||
import kotlin.annotations.jvm.internal.*;
|
||||
|
||||
@@ -79,4 +79,4 @@ fun box(): String {
|
||||
}
|
||||
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JVM
|
||||
// ANDROID_ANNOTATIONS
|
||||
|
||||
// FILE: Signs.java
|
||||
// ANDROID_ANNOTATIONS
|
||||
|
||||
public enum Signs {
|
||||
HELLO,
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JVM
|
||||
// ANDROID_ANNOTATIONS
|
||||
|
||||
// FILE: A.java
|
||||
// ANDROID_ANNOTATIONS
|
||||
|
||||
import kotlin.annotations.jvm.internal.*;
|
||||
|
||||
|
||||
+1
-1
@@ -1,9 +1,9 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JVM
|
||||
// ANDROID_ANNOTATIONS
|
||||
|
||||
// FILE: A.java
|
||||
// ANDROID_ANNOTATIONS
|
||||
|
||||
import kotlin.annotations.jvm.internal.*;
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JVM
|
||||
// ANDROID_ANNOTATIONS
|
||||
|
||||
// FILE: A.java
|
||||
// ANDROID_ANNOTATIONS
|
||||
|
||||
import kotlin.annotations.jvm.internal.*;
|
||||
|
||||
@@ -55,4 +55,4 @@ fun box(): String {
|
||||
if (D().baz() != 42) return "FAIL 5"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JVM
|
||||
// ANDROID_ANNOTATIONS
|
||||
|
||||
// FILE: A.java
|
||||
// ANDROID_ANNOTATIONS
|
||||
|
||||
import kotlin.annotations.jvm.internal.*;
|
||||
import org.jetbrains.annotations.*;
|
||||
@@ -80,4 +80,4 @@ fun box(): String {
|
||||
}
|
||||
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JVM
|
||||
// ANDROID_ANNOTATIONS
|
||||
|
||||
// FILE: A.java
|
||||
// ANDROID_ANNOTATIONS
|
||||
|
||||
import kotlin.annotations.jvm.internal.*;
|
||||
|
||||
@@ -37,4 +37,4 @@ fun box(): String {
|
||||
}
|
||||
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,9 +1,9 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JVM
|
||||
// ANDROID_ANNOTATIONS
|
||||
|
||||
// FILE: A.java
|
||||
// ANDROID_ANNOTATIONS
|
||||
|
||||
import kotlin.annotations.jvm.internal.*;
|
||||
|
||||
|
||||
+1
-1
@@ -1,9 +1,9 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JVM
|
||||
// ANDROID_ANNOTATIONS
|
||||
|
||||
// FILE: A.java
|
||||
// ANDROID_ANNOTATIONS
|
||||
|
||||
import kotlin.annotations.jvm.internal.*;
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: JVM
|
||||
// ANDROID_ANNOTATIONS
|
||||
|
||||
// FILE: A.java
|
||||
// ANDROID_ANNOTATIONS
|
||||
|
||||
import kotlin.annotations.jvm.internal.*;
|
||||
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// ANDROID_ANNOTATIONS
|
||||
|
||||
// FILE: A.java
|
||||
// ANDROID_ANNOTATIONS
|
||||
|
||||
import kotlin.annotations.jvm.internal.*;
|
||||
|
||||
@@ -28,4 +28,4 @@ fun box(): String {
|
||||
}
|
||||
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
// TARGET_BACKEND: JVM
|
||||
// JVM_TARGET: 1.8
|
||||
// FILE: I.java
|
||||
interface I {
|
||||
default String ifun() { return "fail"; }
|
||||
@@ -13,7 +14,6 @@ public class Z {
|
||||
public class Zz extends Z implements I {}
|
||||
|
||||
// FILE: multipleImplFromJava.kt
|
||||
// JVM_TARGET: 1.8
|
||||
|
||||
class Cc : Zz()
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
// FILE: Bar.java
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
// SKIP_TXT
|
||||
// FILE: Bar.java
|
||||
|
||||
public class Bar<K, N> { }
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
// FILE: Bar.java
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
// SKIP_TXT
|
||||
// FILE: Bar.java
|
||||
|
||||
public class Bar<K, N> { }
|
||||
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
// FILE: Signs.java
|
||||
// ANDROID_ANNOTATIONS
|
||||
// FILE: Signs.java
|
||||
|
||||
public enum Signs {
|
||||
HELLO,
|
||||
@@ -64,4 +64,4 @@ fun test(){
|
||||
a.<!INAPPLICABLE_CANDIDATE!>baz<!>()
|
||||
|
||||
a.bam()
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
// FILE: Signs.java
|
||||
// ANDROID_ANNOTATIONS
|
||||
// FILE: Signs.java
|
||||
|
||||
public enum Signs {
|
||||
HELLO,
|
||||
@@ -64,4 +64,4 @@ fun test(){
|
||||
a.baz(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
|
||||
a.bam(<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
// FILE: A.java
|
||||
// ANDROID_ANNOTATIONS
|
||||
// FILE: A.java
|
||||
|
||||
import kotlin.annotations.jvm.internal.*;
|
||||
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
// FILE: A.java
|
||||
// ANDROID_ANNOTATIONS
|
||||
// FILE: A.java
|
||||
|
||||
import kotlin.annotations.jvm.internal.*;
|
||||
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
// FILE: A.java
|
||||
// ANDROID_ANNOTATIONS
|
||||
// FILE: A.java
|
||||
|
||||
import kotlin.annotations.jvm.internal.*;
|
||||
|
||||
@@ -28,4 +28,4 @@ fun test(a: A, first: B<Int>, second: B<Int?>) {
|
||||
|
||||
second.foo()
|
||||
second.foo(5)
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
// FILE: A.java
|
||||
// ANDROID_ANNOTATIONS
|
||||
// FILE: A.java
|
||||
|
||||
import kotlin.annotations.jvm.internal.*;
|
||||
|
||||
@@ -28,4 +28,4 @@ fun test(a: A, first: B<Int>, second: B<Int?>) {
|
||||
|
||||
second.foo()
|
||||
second.foo(5)
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
// FIR_IDENTICAL
|
||||
// FILE: A.java
|
||||
// ANDROID_ANNOTATIONS
|
||||
// FILE: A.java
|
||||
|
||||
import kotlin.annotations.jvm.internal.*;
|
||||
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
// FILE: A.java
|
||||
// ANDROID_ANNOTATIONS
|
||||
// FILE: A.java
|
||||
|
||||
import kotlin.annotations.jvm.internal.*;
|
||||
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
// FILE: A.java
|
||||
// ANDROID_ANNOTATIONS
|
||||
// FILE: A.java
|
||||
|
||||
import kotlin.annotations.jvm.internal.*;
|
||||
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
// FILE: A.java
|
||||
// ANDROID_ANNOTATIONS
|
||||
// FILE: A.java
|
||||
|
||||
import kotlin.annotations.jvm.internal.*;
|
||||
|
||||
@@ -24,4 +24,4 @@ fun main() {
|
||||
test.missingName("arg")
|
||||
|
||||
test.numberName("first")
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
// FILE: A.java
|
||||
// ANDROID_ANNOTATIONS
|
||||
// FILE: A.java
|
||||
|
||||
import kotlin.annotations.jvm.internal.*;
|
||||
|
||||
@@ -24,4 +24,4 @@ fun main() {
|
||||
test.missingName("arg")
|
||||
|
||||
test.numberName("first")
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
// FILE: A.java
|
||||
// ANDROID_ANNOTATIONS
|
||||
// FILE: A.java
|
||||
|
||||
import kotlin.annotations.jvm.internal.*;
|
||||
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
// FILE: A.java
|
||||
// ANDROID_ANNOTATIONS
|
||||
// FILE: A.java
|
||||
|
||||
import kotlin.annotations.jvm.internal.*;
|
||||
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
// FILE: A.java
|
||||
// ANDROID_ANNOTATIONS
|
||||
// FILE: A.java
|
||||
|
||||
import kotlin.annotations.jvm.internal.*;
|
||||
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
// FILE: A.java
|
||||
// ANDROID_ANNOTATIONS
|
||||
// FILE: A.java
|
||||
|
||||
import kotlin.annotations.jvm.internal.*;
|
||||
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
// FIR_IDENTICAL
|
||||
|
||||
// FILE: A.java
|
||||
// ANDROID_ANNOTATIONS
|
||||
// FILE: A.java
|
||||
import kotlin.annotations.jvm.internal.*;
|
||||
|
||||
public class A {
|
||||
@@ -15,4 +15,4 @@ fun main() {
|
||||
test.connect("127.0.0.1", 8080)
|
||||
test.connect(host = "127.0.0.1", port = 8080)
|
||||
test.connect(port = 8080, host = "127.0.0.1")
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
|
||||
// FILE: A.java
|
||||
// ANDROID_ANNOTATIONS
|
||||
// FILE: A.java
|
||||
import kotlin.annotations.jvm.internal.*;
|
||||
|
||||
public class A {
|
||||
@@ -14,4 +14,4 @@ fun main() {
|
||||
test.same("hello", "world")
|
||||
test.<!INAPPLICABLE_CANDIDATE!>same<!>(ok = "hello", ok = <!UNRESOLVED_REFERENCE!>world<!>)
|
||||
test.<!INAPPLICABLE_CANDIDATE!>same<!>("hello", ok = "world")
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
|
||||
// FILE: A.java
|
||||
// ANDROID_ANNOTATIONS
|
||||
// FILE: A.java
|
||||
import kotlin.annotations.jvm.internal.*;
|
||||
|
||||
public class A {
|
||||
@@ -14,4 +14,4 @@ fun main() {
|
||||
test.same("hello", "world")
|
||||
test.same(ok = "hello", <!ARGUMENT_PASSED_TWICE!>ok<!> = <!UNRESOLVED_REFERENCE!>world<!><!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
test.same("hello", <!ARGUMENT_PASSED_TWICE!>ok<!> = "world"<!NO_VALUE_FOR_PARAMETER!>)<!>
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user