JVM_IR: implement single-abstract-method conversions

This commit is contained in:
pyos
2019-03-26 12:19:51 +01:00
committed by max-kammerer
parent 141e8d553e
commit b74586f84e
77 changed files with 178 additions and 84 deletions
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// WITH_RUNTIME
// KJS_WITH_FULL_RUNTIME
@@ -1,5 +1,4 @@
// SKIP_JDK6
// IGNORE_BACKEND: JVM_IR
// TARGET_BACKEND: JVM
// FILE: F.java
import java.util.function.Function;
-1
View File
@@ -1,5 +1,4 @@
// SKIP_JDK6
// IGNORE_BACKEND: JVM_IR
// TARGET_BACKEND: JVM
// FULL_JDK
// WITH_RUNTIME
-1
View File
@@ -1,5 +1,4 @@
// JVM_TARGET: 1.8
// IGNORE_BACKEND: JVM_IR
// TARGET_BACKEND: JVM
// FULL_JDK
// WITH_RUNTIME
@@ -1,5 +1,4 @@
// SKIP_JDK6
// IGNORE_BACKEND: JVM_IR
// TARGET_BACKEND: JVM
// FILE: JavaCall.java
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// TARGET_BACKEND: JVM
// WITH_RUNTIME
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// TARGET_BACKEND: JVM
// WITH_RUNTIME
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// WITH_RUNTIME
// KJS_WITH_FULL_RUNTIME
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// TARGET_BACKEND: JVM
import java.io.*
@@ -1,5 +1,4 @@
// TARGET_BACKEND: JVM
// IGNORE_BACKEND: JVM_IR
// SKIP_JDK6
// FULL_JDK
@@ -1,5 +1,4 @@
// SKIP_JDK6
// IGNORE_BACKEND: JVM_IR
// TARGET_BACKEND: JVM
// WITH_RUNTIME
// FULL_JDK
@@ -1,5 +1,4 @@
// SKIP_JDK6
// IGNORE_BACKEND: JVM_IR
// TARGET_BACKEND: JVM
// WITH_RUNTIME
// FULL_JDK
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// WITH_RUNTIME
// KJS_WITH_FULL_RUNTIME
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// TARGET_BACKEND: JVM
import java.io.*
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// TARGET_BACKEND: JVM
fun box(): String {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// TARGET_BACKEND: JVM
var result = "FAIL"
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// TARGET_BACKEND: JVM
var result = "FAIL"
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// TARGET_BACKEND: JVM
fun box(): String {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// TARGET_BACKEND: JVM
class Box(val s: String) {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// TARGET_BACKEND: JVM
// WITH_RUNTIME
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// IGNORE_BACKEND: JS_IR
// TODO: muted automatically, investigate should it be ran for JS or not
// IGNORE_BACKEND: JS, NATIVE
-1
View File
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// TARGET_BACKEND: JVM
// WITH_RUNTIME
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// TARGET_BACKEND: JVM
// FILE: JavaClass.java
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: MFunction.java
public interface MFunction<T, R> {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: JavaClass.java
class JavaClass {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: JavaClass.java
// KT-5912
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: JavaInterface.java
interface JavaInterface {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: JavaClass.java
import java.util.*;
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: JavaClass.java
class JavaClass {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: GenericInterface.java
interface GenericInterface<T> {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: JavaClass.java
import java.io.*;
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: JavaClass.java
import java.util.Arrays;
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: JavaClass.java
class JavaClass {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// WITH_RUNTIME
// FILE: Super.java
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: Sub.java
class Super {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: JavaClass.java
class JavaClass {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: JavaClass.java
class JavaClass {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: JavaClass.java
class JavaClass {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: JavaClass.java
class JavaClass {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: JavaClass.java
import java.util.*;
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: JavaClass.java
class JavaClass {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: JavaClass.java
class JavaClass {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: JavaClass.java
class JavaClass {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: JavaClass.java
class JavaClass {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: JavaClass.java
import org.jetbrains.annotations.NotNull;
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: JavaClass.java
class JavaClass {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: JavaClass.java
class JavaClass {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: JavaClass.java
class JavaClass {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: JavaClass.java
class JavaClass {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: JavaClass.java
class JavaClass {
@@ -1,5 +1,4 @@
// !LANGUAGE: -ProhibitOperatorMod
// IGNORE_BACKEND: JVM_IR
// FILE: Java.java
import org.jetbrains.annotations.NotNull;
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: JavaClass.java
class JavaClass {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: JavaClass.java
class JavaClass {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: JavaClass.java
class JavaClass {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: JavaClass.java
class JavaClass<T> {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: JavaClass.java
import java.util.*;
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: JavaClass.java
class JavaClass {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: test.kt
class Test : Base {
constructor(f: () -> String) : super(f)
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: JavaClass.java
class JavaClass {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: WeirdComparator.java
import java.util.*;
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: WeirdComparator.java
import java.util.*;
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: WeirdComparator.java
import java.util.*;
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// WITH_RUNTIME
// FILE: Custom.java
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: Base.java
interface Base<T> {
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: ParamBase.java
class ParamBase<T> {}
@@ -1,5 +1,4 @@
// SKIP_JDK6
// IGNORE_BACKEND: JVM_IR
// WITH_RUNTIME
// FILE: JavaClass.java
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: test/Foo.java
package test;
@@ -1,4 +1,3 @@
// IGNORE_BACKEND: JVM_IR
// FILE: 1.kt
// FULL_JDK