Introduce StandardNames.IMPLICIT_LAMBDA_PARAMETER_NAME
and use it instead of hardcoded constant
This commit is contained in:
committed by
Space Team
parent
0a1f27e43a
commit
5b4916a808
+2
-1
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.analysis.api.symbols.KtValueParameterSymbol
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtPsiBasedSymbolPointer
|
||||
import org.jetbrains.kotlin.analysis.api.symbols.pointers.KtSymbolPointer
|
||||
import org.jetbrains.kotlin.analysis.api.types.KtType
|
||||
import org.jetbrains.kotlin.builtins.StandardNames
|
||||
import org.jetbrains.kotlin.descriptors.ValueParameterDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.impl.AnonymousFunctionDescriptor
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
@@ -54,7 +55,7 @@ internal class KtFe10DescValueParameterSymbol(
|
||||
override val isImplicitLambdaParameter: Boolean
|
||||
get() = withValidityAssertion {
|
||||
descriptor.containingDeclaration is AnonymousFunctionDescriptor &&
|
||||
descriptor.name.identifierOrNullIfSpecial == "it" &&
|
||||
descriptor.name == StandardNames.IMPLICIT_LAMBDA_PARAMETER_NAME &&
|
||||
// Implicit lambda parameter doesn't have a source PSI.
|
||||
descriptor.source.getPsi() == null &&
|
||||
// But, that could be the case for a declaration from Library. Double-check the slice in the binding context
|
||||
|
||||
+2
-1
@@ -28,6 +28,7 @@ import org.jetbrains.kotlin.analysis.api.types.KtType
|
||||
import org.jetbrains.kotlin.analysis.api.types.KtTypeNullability
|
||||
import org.jetbrains.kotlin.analysis.utils.errors.unexpectedElementError
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.builtins.StandardNames
|
||||
import org.jetbrains.kotlin.builtins.functions.FunctionClassDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.*
|
||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptor
|
||||
@@ -349,7 +350,7 @@ internal fun DeclarationDescriptor.getSymbolOrigin(analysisContext: Fe10Analysis
|
||||
return analysisContext.getOrigin(virtualFile)
|
||||
} else { // psi == null
|
||||
// Implicit lambda parameter
|
||||
if (this is ValueParameterDescriptor && this.name.identifierOrNullIfSpecial == "it") {
|
||||
if (this is ValueParameterDescriptor && this.name == StandardNames.IMPLICIT_LAMBDA_PARAMETER_NAME) {
|
||||
return KtSymbolOrigin.SOURCE_MEMBER_GENERATED
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user