Check lambda parameter for name shadowing
#KT-5160 Fixed
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2010-2016 JetBrains s.r.o.
|
||||
* Copyright 2010-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -51,6 +51,7 @@ import org.jetbrains.kotlin.types.ErrorUtils
|
||||
import org.jetbrains.kotlin.types.KotlinType
|
||||
import org.jetbrains.kotlin.types.TypeUtils
|
||||
import org.jetbrains.kotlin.types.checker.KotlinTypeChecker
|
||||
import org.jetbrains.kotlin.types.expressions.ExpressionTypingUtils
|
||||
import org.jetbrains.kotlin.types.expressions.ExpressionTypingUtils.isFunctionExpression
|
||||
import org.jetbrains.kotlin.types.expressions.ExpressionTypingUtils.isFunctionLiteral
|
||||
import org.jetbrains.kotlin.types.typeUtil.replaceAnnotations
|
||||
@@ -375,6 +376,10 @@ class FunctionDescriptorResolver(
|
||||
|
||||
val valueParameterDescriptor = descriptorResolver.resolveValueParameterDescriptor(parameterScope, functionDescriptor,
|
||||
valueParameter, i, type, trace)
|
||||
|
||||
// Do not report NAME_SHADOWING for lambda destructured parameters as they may be not fully resolved at this time
|
||||
ExpressionTypingUtils.checkVariableShadowing(parameterScope, trace, valueParameterDescriptor)
|
||||
|
||||
parameterScope.addVariableDescriptor(valueParameterDescriptor)
|
||||
result.add(valueParameterDescriptor)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user