AA: indicate whether a value parameter is an implicit lambda parameter
^KTIJ-18800 In progress
This commit is contained in:
committed by
Ilya Kirillov
parent
a74a51b2d9
commit
889db4cc5d
+6
@@ -6,6 +6,7 @@
|
||||
package org.jetbrains.kotlin.analysis.api.fir.symbols
|
||||
|
||||
import com.intellij.psi.PsiElement
|
||||
import org.jetbrains.kotlin.KtFakeSourceElementKind
|
||||
import org.jetbrains.kotlin.analysis.api.fir.KtSymbolByFirBuilder
|
||||
import org.jetbrains.kotlin.analysis.api.fir.annotations.KtFirAnnotationListForDeclaration
|
||||
import org.jetbrains.kotlin.analysis.api.fir.findPsi
|
||||
@@ -33,6 +34,11 @@ internal class KtFirValueParameterSymbol(
|
||||
|
||||
override val isVararg: Boolean get() = withValidityAssertion { firSymbol.isVararg }
|
||||
|
||||
override val isImplicitLambdaParameter: Boolean
|
||||
get() = withValidityAssertion {
|
||||
firSymbol.source?.kind == KtFakeSourceElementKind.ItLambdaParameter
|
||||
}
|
||||
|
||||
override val returnType by cached {
|
||||
val returnType = firSymbol.resolvedReturnType
|
||||
return@cached if (firSymbol.isVararg) {
|
||||
|
||||
+12
@@ -58,6 +58,12 @@ public class FirIdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated exte
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/constructorViaTypeAlias.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("explicitLambdaParameter.kt")
|
||||
public void testExplicitLambdaParameter() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/explicitLambdaParameter.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("genericFromFunctionInLocalClass.kt")
|
||||
public void testGenericFromFunctionInLocalClass() throws Exception {
|
||||
@@ -70,6 +76,12 @@ public class FirIdeNormalAnalysisSourceModuleSymbolByReferenceTestGenerated exte
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/genericFromOuterClassInInnerClass.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("implicitLambdaParameter.kt")
|
||||
public void testImplicitLambdaParameter() throws Exception {
|
||||
runTest("analysis/analysis-api/testData/symbols/symbolByReference/implicitLambdaParameter.kt");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("samConstructor.kt")
|
||||
public void testSamConstructor() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user