Unused symbol: never use VALUE_ARGUMENT scope for members

So #KT-10546 Fixed
This commit is contained in:
Mikhail Glukhikh
2017-09-08 17:36:16 +03:00
committed by Mikhail Glukhikh
parent 5c4e034171
commit 7e3d3bde74
3 changed files with 32 additions and 1 deletions
@@ -818,9 +818,25 @@ public class KtPsiUtil {
return (KtElement) parent;
}
}
if (current instanceof KtBlockExpression || current instanceof KtParameter || current instanceof KtValueArgument) {
if (current instanceof KtBlockExpression || current instanceof KtParameter) {
return (KtElement) current;
}
if (current instanceof KtValueArgument) {
// for members, value argument is never enough, see KT-10546
if (declaration instanceof KtProperty) {
if (((KtProperty) declaration).isLocal()) {
return (KtElement) current;
}
}
else if (declaration instanceof KtFunction) {
if (((KtFunction) declaration).isLocal()) {
return (KtElement) current;
}
}
else {
return (KtElement) current;
}
}
if (current instanceof KtDelegatedSuperTypeEntry) {
PsiElement grandParent = current.getParent().getParent();
if (grandParent instanceof KtClassOrObject && !(grandParent.getParent() instanceof KtObjectLiteralExpression)) {