Forbid val field initialization inside EXACLTY_ONCE lambda

unless the lambda is inline. This way, final field will remain final.
This commit is contained in:
Ilmir Usmanov
2020-06-03 18:32:43 +02:00
parent 6d6a228057
commit 8cc5f2abfb
18 changed files with 177 additions and 76 deletions
@@ -3823,6 +3823,11 @@ public class DiagnosticsTestGenerated extends AbstractDiagnosticsTestWithFirVali
runTest("compiler/testData/diagnostics/tests/controlFlowAnalysis/fieldAsClassDelegate.kt");
}
@TestMetadata("fieldInitialization.kt")
public void testFieldInitialization() throws Exception {
runTest("compiler/testData/diagnostics/tests/controlFlowAnalysis/fieldInitialization.kt");
}
@TestMetadata("infiniteLoops.kt")
public void testInfiniteLoops() throws Exception {
runTest("compiler/testData/diagnostics/tests/controlFlowAnalysis/infiniteLoops.kt");
@@ -3818,6 +3818,11 @@ public class DiagnosticsUsingJavacTestGenerated extends AbstractDiagnosticsUsing
runTest("compiler/testData/diagnostics/tests/controlFlowAnalysis/fieldAsClassDelegate.kt");
}
@TestMetadata("fieldInitialization.kt")
public void testFieldInitialization() throws Exception {
runTest("compiler/testData/diagnostics/tests/controlFlowAnalysis/fieldInitialization.kt");
}
@TestMetadata("infiniteLoops.kt")
public void testInfiniteLoops() throws Exception {
runTest("compiler/testData/diagnostics/tests/controlFlowAnalysis/infiniteLoops.kt");
@@ -5127,11 +5127,6 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
runTest("compiler/testData/codegen/box/contracts/exception.kt");
}
@TestMetadata("field.kt")
public void testField() throws Exception {
runTest("compiler/testData/codegen/box/contracts/field.kt");
}
@TestMetadata("forLoop.kt")
public void testForLoop() throws Exception {
runTest("compiler/testData/codegen/box/contracts/forLoop.kt");
@@ -5127,11 +5127,6 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
runTest("compiler/testData/codegen/box/contracts/exception.kt");
}
@TestMetadata("field.kt")
public void testField() throws Exception {
runTest("compiler/testData/codegen/box/contracts/field.kt");
}
@TestMetadata("forLoop.kt")
public void testForLoop() throws Exception {
runTest("compiler/testData/codegen/box/contracts/forLoop.kt");
@@ -5097,11 +5097,6 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
runTest("compiler/testData/codegen/box/contracts/exception.kt");
}
@TestMetadata("field.kt")
public void testField() throws Exception {
runTest("compiler/testData/codegen/box/contracts/field.kt");
}
@TestMetadata("forLoop.kt")
public void testForLoop() throws Exception {
runTest("compiler/testData/codegen/box/contracts/forLoop.kt");