Implement additional declaration checks for inline classes

- Implementation by delegation is prohibited
- Delegated properties are prohibited
This commit is contained in:
Dmitry Petrov
2018-08-10 16:58:34 +03:00
parent 0af33462ef
commit b7df36643b
11 changed files with 202 additions and 3 deletions
@@ -10857,11 +10857,21 @@ public class DiagnosticsTestGenerated extends AbstractDiagnosticsTest {
runTest("compiler/testData/diagnostics/tests/inlineClasses/basicInlineClassDeclarationDisabled.kt");
}
@TestMetadata("delegatedPropertyInInlineClass.kt")
public void testDelegatedPropertyInInlineClass() throws Exception {
runTest("compiler/testData/diagnostics/tests/inlineClasses/delegatedPropertyInInlineClass.kt");
}
@TestMetadata("identityComparisonWithInlineClasses.kt")
public void testIdentityComparisonWithInlineClasses() throws Exception {
runTest("compiler/testData/diagnostics/tests/inlineClasses/identityComparisonWithInlineClasses.kt");
}
@TestMetadata("inlineClassCannotImplementInterfaceByDelegation.kt")
public void testInlineClassCannotImplementInterfaceByDelegation() throws Exception {
runTest("compiler/testData/diagnostics/tests/inlineClasses/inlineClassCannotImplementInterfaceByDelegation.kt");
}
@TestMetadata("inlineClassDeclarationCheck.kt")
public void testInlineClassDeclarationCheck() throws Exception {
runTest("compiler/testData/diagnostics/tests/inlineClasses/inlineClassDeclarationCheck.kt");
@@ -10857,11 +10857,21 @@ public class DiagnosticsUsingJavacTestGenerated extends AbstractDiagnosticsUsing
runTest("compiler/testData/diagnostics/tests/inlineClasses/basicInlineClassDeclarationDisabled.kt");
}
@TestMetadata("delegatedPropertyInInlineClass.kt")
public void testDelegatedPropertyInInlineClass() throws Exception {
runTest("compiler/testData/diagnostics/tests/inlineClasses/delegatedPropertyInInlineClass.kt");
}
@TestMetadata("identityComparisonWithInlineClasses.kt")
public void testIdentityComparisonWithInlineClasses() throws Exception {
runTest("compiler/testData/diagnostics/tests/inlineClasses/identityComparisonWithInlineClasses.kt");
}
@TestMetadata("inlineClassCannotImplementInterfaceByDelegation.kt")
public void testInlineClassCannotImplementInterfaceByDelegation() throws Exception {
runTest("compiler/testData/diagnostics/tests/inlineClasses/inlineClassCannotImplementInterfaceByDelegation.kt");
}
@TestMetadata("inlineClassDeclarationCheck.kt")
public void testInlineClassDeclarationCheck() throws Exception {
runTest("compiler/testData/diagnostics/tests/inlineClasses/inlineClassDeclarationCheck.kt");