[Analysis API] add isNoinline/isCrossinline to the KtValueParameterSymbol

This commit is contained in:
Ilya Kirillov
2022-06-30 20:02:06 +02:00
parent 6a145b52aa
commit 184478858c
13 changed files with 192 additions and 2 deletions
@@ -41,6 +41,10 @@ internal class KtFirValueParameterSymbol(
firSymbol.source?.kind == KtFakeSourceElementKind.ItLambdaParameter
}
override val isCrossinline: Boolean get() = withValidityAssertion { firSymbol.isCrossinline}
override val isNoinline: Boolean get() = withValidityAssertion { firSymbol.isNoinline}
override val returnType by cached {
val returnType = firSymbol.resolvedReturnType
return@cached if (firSymbol.isVararg) {
@@ -271,4 +271,20 @@ public class FirIdeNormalAnalysisSourceModuleSymbolByPsiTestGenerated extends Ab
runTest("analysis/analysis-api/testData/symbols/symbolByPsi/contextReceivers/contextReceiversOnProperty.kt");
}
}
@Nested
@TestMetadata("analysis/analysis-api/testData/symbols/symbolByPsi/valueParameters")
@TestDataPath("$PROJECT_ROOT")
public class ValueParameters {
@Test
public void testAllFilesPresentInValueParameters() throws Exception {
KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/symbols/symbolByPsi/valueParameters"), Pattern.compile("^(.+)\\.kt$"), null, true);
}
@Test
@TestMetadata("parameterInlining.kt")
public void testParameterInlining() throws Exception {
runTest("analysis/analysis-api/testData/symbols/symbolByPsi/valueParameters/parameterInlining.kt");
}
}
}