AA FIR: avoid unsafe argument retrieval during const evaluation
This commit is contained in:
committed by
Ilya Kirillov
parent
0b4a4ca42b
commit
dd7fc7f4ae
+2
-1
@@ -135,7 +135,8 @@ internal object FirCompileTimeConstantEvaluator {
|
||||
return it.adjustType(functionCall.typeRef)
|
||||
}
|
||||
|
||||
val opr2 = evaluate(functionCall.argument, mode) ?: return null
|
||||
val argument = functionCall.arguments.firstOrNull() ?: return null
|
||||
val opr2 = evaluate(argument, mode) ?: return null
|
||||
opr1.evaluate(function, opr2)?.let {
|
||||
return it.adjustType(functionCall.typeRef)
|
||||
}
|
||||
|
||||
+6
@@ -225,4 +225,10 @@ public class FirIdeDependentAnalysisSourceModuleCompileTimeConstantEvaluatorTest
|
||||
public void testString_toString() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/components/compileTimeConstantProvider/evaluate/string_toString.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("string_trimIndent.kt")
|
||||
public void testString_trimIndent() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/components/compileTimeConstantProvider/evaluate/string_trimIndent.kt");
|
||||
}
|
||||
}
|
||||
|
||||
+6
@@ -225,4 +225,10 @@ public class FirIdeNormalAnalysisSourceModuleCompileTimeConstantEvaluatorTestGen
|
||||
public void testString_toString() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/components/compileTimeConstantProvider/evaluate/string_toString.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("string_trimIndent.kt")
|
||||
public void testString_trimIndent() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/components/compileTimeConstantProvider/evaluate/string_trimIndent.kt");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user