Codegen for callable reference expressions

#KT-1183 In Progress
This commit is contained in:
Alexander Udalov
2013-04-15 19:47:10 +04:00
parent 1eeaaad05d
commit 054e5fb5e7
46 changed files with 877 additions and 7 deletions
@@ -31,7 +31,7 @@ import org.jetbrains.jet.codegen.generated.AbstractBlackBoxCodegenTest;
/** This class is generated by {@link org.jetbrains.jet.generators.tests.GenerateTests}. DO NOT MODIFY MANUALLY */
@SuppressWarnings("all")
@TestMetadata("compiler/testData/codegen/box")
@InnerTestClasses({BlackBoxCodegenTestGenerated.Arrays.class, BlackBoxCodegenTestGenerated.Bridges.class, BlackBoxCodegenTestGenerated.Casts.class, BlackBoxCodegenTestGenerated.Classes.class, BlackBoxCodegenTestGenerated.Closures.class, BlackBoxCodegenTestGenerated.ControlStructures.class, BlackBoxCodegenTestGenerated.DefaultArguments.class, BlackBoxCodegenTestGenerated.Elvis.class, BlackBoxCodegenTestGenerated.Enum.class, BlackBoxCodegenTestGenerated.ExclExcl.class, BlackBoxCodegenTestGenerated.ExtensionFunctions.class, BlackBoxCodegenTestGenerated.ExtensionProperties.class, BlackBoxCodegenTestGenerated.Functions.class, BlackBoxCodegenTestGenerated.InnerNested.class, BlackBoxCodegenTestGenerated.Instructions.class, BlackBoxCodegenTestGenerated.Intrinsics.class, BlackBoxCodegenTestGenerated.Labels.class, BlackBoxCodegenTestGenerated.LocalClasses.class, BlackBoxCodegenTestGenerated.MultiDecl.class, BlackBoxCodegenTestGenerated.Namespace.class, BlackBoxCodegenTestGenerated.Objects.class, BlackBoxCodegenTestGenerated.OperatorConventions.class, BlackBoxCodegenTestGenerated.PrimitiveTypes.class, BlackBoxCodegenTestGenerated.Properties.class, BlackBoxCodegenTestGenerated.Reflection.class, BlackBoxCodegenTestGenerated.SafeCall.class, BlackBoxCodegenTestGenerated.Sam.class, BlackBoxCodegenTestGenerated.Strings.class, BlackBoxCodegenTestGenerated.Super.class, BlackBoxCodegenTestGenerated.Traits.class, BlackBoxCodegenTestGenerated.TypeInfo.class, BlackBoxCodegenTestGenerated.Unit.class, BlackBoxCodegenTestGenerated.Vararg.class, BlackBoxCodegenTestGenerated.When.class})
@InnerTestClasses({BlackBoxCodegenTestGenerated.Arrays.class, BlackBoxCodegenTestGenerated.Bridges.class, BlackBoxCodegenTestGenerated.CallableReference.class, BlackBoxCodegenTestGenerated.Casts.class, BlackBoxCodegenTestGenerated.Classes.class, BlackBoxCodegenTestGenerated.Closures.class, BlackBoxCodegenTestGenerated.ControlStructures.class, BlackBoxCodegenTestGenerated.DefaultArguments.class, BlackBoxCodegenTestGenerated.Elvis.class, BlackBoxCodegenTestGenerated.Enum.class, BlackBoxCodegenTestGenerated.ExclExcl.class, BlackBoxCodegenTestGenerated.ExtensionFunctions.class, BlackBoxCodegenTestGenerated.ExtensionProperties.class, BlackBoxCodegenTestGenerated.Functions.class, BlackBoxCodegenTestGenerated.InnerNested.class, BlackBoxCodegenTestGenerated.Instructions.class, BlackBoxCodegenTestGenerated.Intrinsics.class, BlackBoxCodegenTestGenerated.Labels.class, BlackBoxCodegenTestGenerated.LocalClasses.class, BlackBoxCodegenTestGenerated.MultiDecl.class, BlackBoxCodegenTestGenerated.Namespace.class, BlackBoxCodegenTestGenerated.Objects.class, BlackBoxCodegenTestGenerated.OperatorConventions.class, BlackBoxCodegenTestGenerated.PrimitiveTypes.class, BlackBoxCodegenTestGenerated.Properties.class, BlackBoxCodegenTestGenerated.Reflection.class, BlackBoxCodegenTestGenerated.SafeCall.class, BlackBoxCodegenTestGenerated.Sam.class, BlackBoxCodegenTestGenerated.Strings.class, BlackBoxCodegenTestGenerated.Super.class, BlackBoxCodegenTestGenerated.Traits.class, BlackBoxCodegenTestGenerated.TypeInfo.class, BlackBoxCodegenTestGenerated.Unit.class, BlackBoxCodegenTestGenerated.Vararg.class, BlackBoxCodegenTestGenerated.When.class})
public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
public void testAllFilesPresentInBox() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("compiler/testData/codegen/box"), Pattern.compile("^(.+)\\.kt$"), true);
@@ -418,6 +418,194 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
}
@TestMetadata("compiler/testData/codegen/box/callableReference")
public static class CallableReference extends AbstractBlackBoxCodegenTest {
@TestMetadata("abstractClassMember.kt")
public void testAbstractClassMember() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/abstractClassMember.kt");
}
public void testAllFilesPresentInCallableReference() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("compiler/testData/codegen/box/callableReference"), Pattern.compile("^(.+)\\.kt$"), true);
}
@TestMetadata("booleanNotIntrinsic.kt")
public void testBooleanNotIntrinsic() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/booleanNotIntrinsic.kt");
}
@TestMetadata("classMemberFromClass.kt")
public void testClassMemberFromClass() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/classMemberFromClass.kt");
}
@TestMetadata("classMemberFromExtension.kt")
public void testClassMemberFromExtension() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/classMemberFromExtension.kt");
}
@TestMetadata("classMemberFromTopLevelStringNoArgs.kt")
public void testClassMemberFromTopLevelStringNoArgs() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/classMemberFromTopLevelStringNoArgs.kt");
}
@TestMetadata("classMemberFromTopLevelStringOneStringArg.kt")
public void testClassMemberFromTopLevelStringOneStringArg() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/classMemberFromTopLevelStringOneStringArg.kt");
}
@TestMetadata("classMemberFromTopLevelUnitNoArgs.kt")
public void testClassMemberFromTopLevelUnitNoArgs() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/classMemberFromTopLevelUnitNoArgs.kt");
}
@TestMetadata("classMemberFromTopLevelUnitOneStringArg.kt")
public void testClassMemberFromTopLevelUnitOneStringArg() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/classMemberFromTopLevelUnitOneStringArg.kt");
}
@TestMetadata("constructorFromTopLevelNoArgs.kt")
public void testConstructorFromTopLevelNoArgs() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/constructorFromTopLevelNoArgs.kt");
}
@TestMetadata("constructorFromTopLevelOneStringArg.kt")
public void testConstructorFromTopLevelOneStringArg() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/constructorFromTopLevelOneStringArg.kt");
}
@TestMetadata("enumNameMethod.kt")
public void testEnumNameMethod() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/enumNameMethod.kt");
}
@TestMetadata("equalsIntrinsic.kt")
public void testEqualsIntrinsic() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/equalsIntrinsic.kt");
}
@TestMetadata("extensionFromClass.kt")
public void testExtensionFromClass() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/extensionFromClass.kt");
}
@TestMetadata("extensionFromExtension.kt")
public void testExtensionFromExtension() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/extensionFromExtension.kt");
}
@TestMetadata("extensionFromTopLevelStringNoArgs.kt")
public void testExtensionFromTopLevelStringNoArgs() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/extensionFromTopLevelStringNoArgs.kt");
}
@TestMetadata("extensionFromTopLevelStringOneStringArg.kt")
public void testExtensionFromTopLevelStringOneStringArg() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/extensionFromTopLevelStringOneStringArg.kt");
}
@TestMetadata("extensionFromTopLevelUnitNoArgs.kt")
public void testExtensionFromTopLevelUnitNoArgs() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/extensionFromTopLevelUnitNoArgs.kt");
}
@TestMetadata("extensionFromTopLevelUnitOneStringArg.kt")
public void testExtensionFromTopLevelUnitOneStringArg() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/extensionFromTopLevelUnitOneStringArg.kt");
}
@TestMetadata("genericMember.kt")
public void testGenericMember() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/genericMember.kt");
}
@TestMetadata("innerConstructorFromClass.kt")
public void testInnerConstructorFromClass() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/innerConstructorFromClass.kt");
}
@TestMetadata("innerConstructorFromExtension.kt")
public void testInnerConstructorFromExtension() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/innerConstructorFromExtension.kt");
}
@TestMetadata("innerConstructorFromTopLevelNoArgs.kt")
public void testInnerConstructorFromTopLevelNoArgs() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/innerConstructorFromTopLevelNoArgs.kt");
}
@TestMetadata("innerConstructorFromTopLevelOneStringArg.kt")
public void testInnerConstructorFromTopLevelOneStringArg() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/innerConstructorFromTopLevelOneStringArg.kt");
}
@TestMetadata("nestedConstructorFromClass.kt")
public void testNestedConstructorFromClass() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/nestedConstructorFromClass.kt");
}
@TestMetadata("nestedConstructorFromTopLevelNoArgs.kt")
public void testNestedConstructorFromTopLevelNoArgs() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/nestedConstructorFromTopLevelNoArgs.kt");
}
@TestMetadata("nestedConstructorFromTopLevelOneStringArg.kt")
public void testNestedConstructorFromTopLevelOneStringArg() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/nestedConstructorFromTopLevelOneStringArg.kt");
}
@TestMetadata("newArray.kt")
public void testNewArray() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/newArray.kt");
}
@TestMetadata("sortListOfStrings.kt")
public void testSortListOfStrings() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/sortListOfStrings.kt");
}
@TestMetadata("topLevelFromClass.kt")
public void testTopLevelFromClass() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/topLevelFromClass.kt");
}
@TestMetadata("topLevelFromExtension.kt")
public void testTopLevelFromExtension() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/topLevelFromExtension.kt");
}
@TestMetadata("topLevelFromTopLevelStringNoArgs.kt")
public void testTopLevelFromTopLevelStringNoArgs() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/topLevelFromTopLevelStringNoArgs.kt");
}
@TestMetadata("topLevelFromTopLevelStringOneStringArg.kt")
public void testTopLevelFromTopLevelStringOneStringArg() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/topLevelFromTopLevelStringOneStringArg.kt");
}
@TestMetadata("topLevelFromTopLevelUnitNoArgs.kt")
public void testTopLevelFromTopLevelUnitNoArgs() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/topLevelFromTopLevelUnitNoArgs.kt");
}
@TestMetadata("topLevelFromTopLevelUnitOneStringArg.kt")
public void testTopLevelFromTopLevelUnitOneStringArg() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/topLevelFromTopLevelUnitOneStringArg.kt");
}
@TestMetadata("traitImplMethodWithClassReceiver.kt")
public void testTraitImplMethodWithClassReceiver() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/traitImplMethodWithClassReceiver.kt");
}
@TestMetadata("traitMember.kt")
public void testTraitMember() throws Exception {
doTest("compiler/testData/codegen/box/callableReference/traitMember.kt");
}
}
@TestMetadata("compiler/testData/codegen/box/casts")
public static class Casts extends AbstractBlackBoxCodegenTest {
public void testAllFilesPresentInCasts() throws Exception {
@@ -3640,6 +3828,7 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
suite.addTestSuite(BlackBoxCodegenTestGenerated.class);
suite.addTestSuite(Arrays.class);
suite.addTestSuite(Bridges.class);
suite.addTestSuite(CallableReference.class);
suite.addTestSuite(Casts.class);
suite.addTestSuite(Classes.class);
suite.addTest(Closures.innerSuite());
@@ -31,12 +31,25 @@ import org.jetbrains.jet.codegen.generated.AbstractBlackBoxCodegenTest;
/** This class is generated by {@link org.jetbrains.jet.generators.tests.GenerateTests}. DO NOT MODIFY MANUALLY */
@SuppressWarnings("all")
@TestMetadata("compiler/testData/codegen/boxWithJava")
@InnerTestClasses({BlackBoxWithJavaCodegenTestGenerated.Enum.class, BlackBoxWithJavaCodegenTestGenerated.Functions.class, BlackBoxWithJavaCodegenTestGenerated.Property.class, BlackBoxWithJavaCodegenTestGenerated.SamAdapters.class, BlackBoxWithJavaCodegenTestGenerated.StaticFun.class, BlackBoxWithJavaCodegenTestGenerated.Visibility.class})
@InnerTestClasses({BlackBoxWithJavaCodegenTestGenerated.CallableReference.class, BlackBoxWithJavaCodegenTestGenerated.Enum.class, BlackBoxWithJavaCodegenTestGenerated.Functions.class, BlackBoxWithJavaCodegenTestGenerated.Property.class, BlackBoxWithJavaCodegenTestGenerated.SamAdapters.class, BlackBoxWithJavaCodegenTestGenerated.StaticFun.class, BlackBoxWithJavaCodegenTestGenerated.Visibility.class})
public class BlackBoxWithJavaCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
public void testAllFilesPresentInBoxWithJava() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("compiler/testData/codegen/boxWithJava"), Pattern.compile("^(.+)\\.kt$"), true);
}
@TestMetadata("compiler/testData/codegen/boxWithJava/callableReference")
public static class CallableReference extends AbstractBlackBoxCodegenTest {
public void testAllFilesPresentInCallableReference() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("compiler/testData/codegen/boxWithJava/callableReference"), Pattern.compile("^(.+)\\.kt$"), true);
}
@TestMetadata("constructor.kt")
public void testConstructor() throws Exception {
doTestWithJava("compiler/testData/codegen/boxWithJava/callableReference/constructor.kt");
}
}
@TestMetadata("compiler/testData/codegen/boxWithJava/enum")
public static class Enum extends AbstractBlackBoxCodegenTest {
public void testAllFilesPresentInEnum() throws Exception {
@@ -316,6 +329,7 @@ public class BlackBoxWithJavaCodegenTestGenerated extends AbstractBlackBoxCodege
public static Test suite() {
TestSuite suite = new TestSuite("BlackBoxWithJavaCodegenTestGenerated");
suite.addTestSuite(BlackBoxWithJavaCodegenTestGenerated.class);
suite.addTestSuite(CallableReference.class);
suite.addTestSuite(Enum.class);
suite.addTestSuite(Functions.class);
suite.addTestSuite(Property.class);