Spring Support: Fix renaming of Spring bean declarations via SpEL references

#KT-11720 Fixed
 #KT-11725 Fixed
This commit is contained in:
Alexey Sedunov
2016-04-04 21:20:59 +03:00
parent 5203f62655
commit afecb09b6f
66 changed files with 715 additions and 11 deletions
@@ -33,6 +33,7 @@
package org.jetbrains.kotlin.asJava
import com.intellij.psi.ClassFileViewProvider
import com.intellij.psi.PsiElementVisitor
import com.intellij.psi.impl.compiled.ClsFileImpl
import com.intellij.psi.stubs.PsiClassHolderFileStub
import org.jetbrains.kotlin.name.FqName
@@ -51,4 +52,9 @@ open class FakeFileForLightClass(
override fun getClasses() = arrayOf(lightClass())
override fun getNavigationElement() = ktFile
override fun accept(visitor: PsiElementVisitor) {
// Prevent access to compiled PSI
// TODO: More complex traversal logic may be implemented when necessary
}
}
@@ -74,6 +74,7 @@ class KtLightAnnotation(
override fun getReference() = references.singleOrNull()
override fun getReferences() = ReferenceProvidersRegistry.getReferencesFromProviders(delegate, PsiReferenceService.Hints.NO_HINTS)
override fun getLanguage() = KotlinLanguage.INSTANCE
override fun getNavigationElement() = originalExpression
}
inner class LightArrayInitializerValue(private val delegate: PsiArrayInitializerMemberValue) : PsiArrayInitializerMemberValue by delegate {