Fix accept() in light methods elements to avoid treating them as ClsElements

This commit is contained in:
Nikolay Krasko
2015-03-31 17:17:38 +03:00
parent 9d151d2ce8
commit 055be2850f
6 changed files with 39 additions and 0 deletions
@@ -74,6 +74,15 @@ open public class KotlinLightMethodForDeclaration(
override fun getParent(): PsiElement? = getContainingClass()
override fun accept(visitor: PsiElementVisitor) {
if (visitor is JavaElementVisitor) {
visitor.visitMethod(this)
}
else {
visitor.visitElement(this)
}
}
override fun setName(name: String): PsiElement? {
(origin as PsiNamedElement).setName(name)
return this
@@ -25,6 +25,15 @@ public class KotlinNoOriginLightMethod(manager: PsiManager, method: PsiMethod, c
LightMethod(manager, method, containingClass) {
override fun toString() = "KotlinNoOriginLightMethod:${getName()}" + if (isConstructor()) " ctor" else ""
override fun accept(visitor: PsiElementVisitor) {
if (visitor is JavaElementVisitor) {
visitor.visitMethod(this)
}
else {
visitor.visitElement(this)
}
}
}
public class KotlinNoOriginLightField(manager: PsiManager, field: PsiField, containingClass: PsiClass) :