Find Usages: Restrict search scope of class object private declarations to

the containing class
This commit is contained in:
Alexey Sedunov
2014-11-27 15:43:45 +03:00
parent c012efe64e
commit 74cdecd829
4 changed files with 26 additions and 1 deletions
@@ -95,7 +95,15 @@ abstract class JetNamedDeclarationStub<T extends KotlinStubWithFqName> extends J
if (hasModifier(JetTokens.PRIVATE_KEYWORD)) {
JetElement containingClass = PsiTreeUtil.getParentOfType(this, JetClassOrObject.class);
if (containingClass != null) return new LocalSearchScope(containingClass);
if (containingClass instanceof JetObjectDeclaration && ((JetObjectDeclaration) containingClass).isClassObject()) {
JetElement classObjectClass = PsiTreeUtil.getParentOfType(containingClass, JetClassOrObject.class);
if (classObjectClass != null) {
containingClass = classObjectClass;
}
}
if (containingClass != null) {
return new LocalSearchScope(containingClass);
}
}
return super.getUseScope();