Local classes do not have qualified names

Mirros java psi
This commit is contained in:
Pavel V. Talanov
2016-07-26 15:53:24 +03:00
parent 85fb16ef1b
commit 1fda24fbbf
5 changed files with 6 additions and 3 deletions
@@ -109,7 +109,6 @@ internal open class KtLightClassForAnonymousDeclaration(fqNameFunction: ((KtClas
}
override fun getNameIdentifier() = null
override fun getQualifiedName(): String? = null
override fun getModifierList(): PsiModifierList? = null
override fun hasModifierProperty(name: String): Boolean = name == PsiModifier.FINAL
override fun getExtendsList() = null
@@ -25,6 +25,8 @@ class KtLightClassForInterfaceDefaultImpls(
classFqName: FqName,
classOrObject: KtClassOrObject)
: KtLightClassForSourceDeclaration({ classFqName }, classOrObject){
override fun getQualifiedName(): String = classFqName.asString()
override fun getParent() = containingClass
override fun copy(): PsiElement {
@@ -34,6 +34,7 @@ open class KtLightClassForLocalDeclaration(
) : KtLightClassForSourceDeclaration(classFqNameFunction, classOrObject) {
override fun copy(): PsiElement = KtLightClassForLocalDeclaration(classFqNameFunction, classOrObject.copy() as KtClassOrObject)
override fun getQualifiedName(): String? = null
override fun getParent() = _parent
@@ -78,6 +78,7 @@ abstract class KtLightClassForSourceDeclaration(
abstract override fun copy(): PsiElement
abstract override fun getParent(): PsiElement?
abstract override fun getQualifiedName(): String?
override val clsDelegate: PsiClass by lazy(LazyThreadSafetyMode.PUBLICATION) {
val javaFileStub = getJavaFileStub()
@@ -187,8 +188,6 @@ abstract class KtLightClassForSourceDeclaration(
override fun getName(): String? = classFqName.shortName().asString()
override fun getQualifiedName(): String? = classFqName.asString()
private val _modifierList : PsiModifierList by lazy(LazyThreadSafetyMode.PUBLICATION) {
object : KtLightModifierListWithExplicitModifiers(this@KtLightClassForSourceDeclaration, computeModifiers()) {
override val delegate: PsiAnnotationOwner
@@ -24,6 +24,8 @@ class KtLightClassImpl(
classFqNameFunction: (KtClassOrObject) -> FqName,
classOrObject: KtClassOrObject
) : KtLightClassForSourceDeclaration(classFqNameFunction, classOrObject) {
override fun getQualifiedName() = classFqName.asString()
override fun getParent() = if (classOrObject.isTopLevel())
containingFile
else