diff --git a/compiler/testData/codegen/box/sam/filenameFilter.kt b/compiler/testData/codegen/box/sam/filenameFilter.kt new file mode 100644 index 00000000000..ed4fb3047fa --- /dev/null +++ b/compiler/testData/codegen/box/sam/filenameFilter.kt @@ -0,0 +1,9 @@ +import java.io.* + +fun box(): String { + val filter = FilenameFilter { dir, name -> if (name == null) false else (name as java.lang.String).endsWith(".md") } + val listFiles = File(".").listFiles(filter)!! + if (listFiles.size != 1) return "Wrong size: $listFiles.size" + val name = listFiles[0].getName() + return if (name == "ReadMe.md") "OK" else "Wrong name: $name" +} diff --git a/compiler/testData/loadJava/compiledJava/singleAbstractMethod/FilenameFilter.java b/compiler/testData/loadJava/compiledJava/singleAbstractMethod/FilenameFilter.java new file mode 100644 index 00000000000..f3d86b5f66b --- /dev/null +++ b/compiler/testData/loadJava/compiledJava/singleAbstractMethod/FilenameFilter.java @@ -0,0 +1,7 @@ +package test; + +import java.io.File; + +public interface FilenameFilter { + boolean accept(File dir, String name); +} diff --git a/compiler/testData/loadJava/compiledJava/singleAbstractMethod/FilenameFilter.txt b/compiler/testData/loadJava/compiledJava/singleAbstractMethod/FilenameFilter.txt new file mode 100644 index 00000000000..49589535d98 --- /dev/null +++ b/compiler/testData/loadJava/compiledJava/singleAbstractMethod/FilenameFilter.txt @@ -0,0 +1,7 @@ +package test + +public /*synthesized*/ fun FilenameFilter(/*0*/ function : (java.io.File?, jet.String?) -> jet.Boolean) : test.FilenameFilter + +public trait FilenameFilter : java.lang.Object { + public abstract fun accept(/*0*/ p0 : java.io.File?, /*1*/ p1 : jet.String?) : jet.Boolean +} diff --git a/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxCodegenTestGenerated.java index 247f137d722..e4b641687ba 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxCodegenTestGenerated.java @@ -3159,6 +3159,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("compiler/testData/codegen/box/sam"), Pattern.compile("^(.+)\\.kt$"), true); } + @TestMetadata("filenameFilter.kt") + public void testFilenameFilter() throws Exception { + doTest("compiler/testData/codegen/box/sam/filenameFilter.kt"); + } + @TestMetadata("runnable.kt") public void testRunnable() throws Exception { doTest("compiler/testData/codegen/box/sam/runnable.kt"); diff --git a/compiler/tests/org/jetbrains/jet/jvm/compiler/LoadJavaTestGenerated.java b/compiler/tests/org/jetbrains/jet/jvm/compiler/LoadJavaTestGenerated.java index 3d8320c39bc..f7703f0c080 100644 --- a/compiler/tests/org/jetbrains/jet/jvm/compiler/LoadJavaTestGenerated.java +++ b/compiler/tests/org/jetbrains/jet/jvm/compiler/LoadJavaTestGenerated.java @@ -1130,6 +1130,11 @@ public class LoadJavaTestGenerated extends AbstractLoadJavaTest { JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("compiler/testData/loadJava/compiledJava/singleAbstractMethod"), Pattern.compile("^(.+)\\.java$"), true); } + @TestMetadata("FilenameFilter.java") + public void testFilenameFilter() throws Exception { + doTestCompiledJava("compiler/testData/loadJava/compiledJava/singleAbstractMethod/FilenameFilter.java"); + } + @TestMetadata("Runnable.java") public void testRunnable() throws Exception { doTestCompiledJava("compiler/testData/loadJava/compiledJava/singleAbstractMethod/Runnable.java");