PSI2IR: do not generate when subjects multiple times

`in x` is represented as `<subject expression> in x` in psi, so
generating the entire call and then replacing the argument with a read
of a temporary results in redundant regenerations of the subject.

 #KT-42054 Fixed
 #KT-42455 Fixed
This commit is contained in:
pyos
2020-10-07 12:46:07 +02:00
committed by Dmitry Petrov
parent e280416fe2
commit 98088f739d
10 changed files with 63 additions and 17 deletions
@@ -5702,6 +5702,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
runTest("compiler/testData/codegen/box/controlStructures/kt416.kt");
}
@TestMetadata("kt42455.kt")
public void testKt42455() throws Exception {
runTest("compiler/testData/codegen/box/controlStructures/kt42455.kt");
}
@TestMetadata("kt513.kt")
public void testKt513() throws Exception {
runTest("compiler/testData/codegen/box/controlStructures/kt513.kt");