Supported renaming of default object. Named only objects are supported

yet.
This commit is contained in:
Evgeny Gerashchenko
2015-03-12 21:25:28 +03:00
parent 3a8ded5b58
commit ccd1701f78
11 changed files with 102 additions and 3 deletions
@@ -25,9 +25,7 @@ import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.util.Processor;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.asJava.AsJavaPackage;
import org.jetbrains.kotlin.asJava.KotlinLightMethod;
import org.jetbrains.kotlin.asJava.LightClassUtil;
import org.jetbrains.kotlin.asJava.*;
import org.jetbrains.kotlin.idea.search.usagesSearch.*;
import org.jetbrains.kotlin.idea.util.ProjectRootsUtil;
import org.jetbrains.kotlin.psi.*;
@@ -46,6 +44,18 @@ public class KotlinReferencesSearcher extends QueryExecutorBase<PsiReference, Re
});
if (lightClass != null) {
searchNamedElement(queryParameters, lightClass, className);
if (element instanceof JetObjectDeclaration && ((JetObjectDeclaration) element).isDefault()) {
PsiField fieldForDefaultObject = ApplicationManager.getApplication().runReadAction(new Computable<PsiField>() {
@Override
public PsiField compute() {
return LightClassUtil.getLightFieldForDefaultObject(element);
}
});
if (fieldForDefaultObject != null) {
searchNamedElement(queryParameters, fieldForDefaultObject);
}
}
}
}
}