diff --git a/build.gradle.kts b/build.gradle.kts index 8ea5580e3c7..7139916b9b7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,7 +8,7 @@ buildscript { extra["defaultSnapshotVersion"] = "1.3-SNAPSHOT" val cacheRedirectorEnabled = findProperty("cacheRedirectorEnabled")?.toString()?.toBoolean() == true - kotlinBootstrapFrom(BootstrapOption.BintrayBootstrap("1.3.70-dev-1806", cacheRedirectorEnabled)) + kotlinBootstrapFrom(BootstrapOption.BintrayBootstrap("1.3.70-dev-1416", cacheRedirectorEnabled)) repositories { bootstrapKotlinRepo?.let(::maven) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/dfa/FirDataFlowAnalyzer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/dfa/FirDataFlowAnalyzer.kt index c629f283f89..2d88cb065a2 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/dfa/FirDataFlowAnalyzer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/dfa/FirDataFlowAnalyzer.kt @@ -638,9 +638,9 @@ class FirDataFlowAnalyzer(private val components: FirAbstractBodyResolveTransfor * x.length * } */ - val realVariable = getOrCreateRealVariable(variable) - requireNotNull(realVariable) variableStorage[initializer]?.takeIf { it.isSynthetic() }?.let { initializerVariable -> + val realVariable = getOrCreateRealVariable(variable) + requireNotNull(realVariable) logicSystem.changeVariableForConditionFlow(node.flow, initializerVariable, realVariable) } @@ -648,21 +648,6 @@ class FirDataFlowAnalyzer(private val components: FirAbstractBodyResolveTransfor getOrCreateRealVariable(initializer)?.let { rhsVariable -> variableStorage.createAliasVariable(variable.symbol, rhsVariable) } - - getRealVariablesForSafeCallChain(initializer).takeIf { it.isNotEmpty() }?.let { - val flow = node.flow - for (variableFromSafeCall in it) { - logicSystem.addConditionalInfo( - flow, - variableFromSafeCall, - ConditionalFirDataFlowInfo( - NotEqNull, - realVariable, - FirDataFlowInfo(setOf(session.builtinTypes.anyType.coneTypeUnsafe()), emptySet()) - ) - ) - } - } } fun exitVariableAssignment(assignment: FirVariableAssignment) { diff --git a/compiler/fir/resolve/testData/resolve/smartcasts/anotherBoundSmartcasts.kt b/compiler/fir/resolve/testData/resolve/smartcasts/anotherBoundSmartcasts.kt deleted file mode 100644 index 54a2315b81c..00000000000 --- a/compiler/fir/resolve/testData/resolve/smartcasts/anotherBoundSmartcasts.kt +++ /dev/null @@ -1,21 +0,0 @@ -interface A { - fun foo(): Int - - val x: Int - - fun bar() -} - -fun test_1(a: A?) { - val x = a?.x - if (x != null) { - a.bar() - } -} - -fun test_2(a: A?) { - val x = a?.foo() - if (x != null) { - a.bar() - } -} \ No newline at end of file diff --git a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsWithCfgTestGenerated.java b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsWithCfgTestGenerated.java index 53c0b94839d..72e606a7efe 100644 --- a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsWithCfgTestGenerated.java +++ b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirDiagnosticsWithCfgTestGenerated.java @@ -118,11 +118,6 @@ public class FirDiagnosticsWithCfgTestGenerated extends AbstractFirDiagnosticsWi KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/fir/resolve/testData/resolve/smartcasts"), Pattern.compile("^([^.]+)\\.kt$"), true); } - @TestMetadata("anotherBoundSmartcasts.kt") - public void testAnotherBoundSmartcasts() throws Exception { - runTest("compiler/fir/resolve/testData/resolve/smartcasts/anotherBoundSmartcasts.kt"); - } - @TestMetadata("bangbang.kt") public void testBangbang() throws Exception { runTest("compiler/fir/resolve/testData/resolve/smartcasts/bangbang.kt");