Use LightParameter from Kotlin light classes to add an inner class constructor parameter instead of calling addParameter(name, type). The latter tries to load an icon :( (KT-13798)
(cherry picked from commit cc86d79) (cherry picked from commit de55de2)
This commit is contained in:
committed by
Yan Zhulanow
parent
f7f8cff00d
commit
49926fda36
+2
@@ -35,4 +35,6 @@ class HomeActivity : DemoActivity() {
|
|||||||
// TODO do something with the injected dependencies here!
|
// TODO do something with the injected dependencies here!
|
||||||
locationInfo.text = "Injected LocationManager:\n$locationManager"
|
locationInfo.text = "Injected LocationManager:\n$locationManager"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inner class InnerClass
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-1
@@ -20,6 +20,7 @@ import com.intellij.psi.*
|
|||||||
import com.intellij.psi.impl.source.PsiClassReferenceType
|
import com.intellij.psi.impl.source.PsiClassReferenceType
|
||||||
import com.intellij.psi.util.ClassUtil
|
import com.intellij.psi.util.ClassUtil
|
||||||
import com.intellij.psi.util.PsiTypesUtil
|
import com.intellij.psi.util.PsiTypesUtil
|
||||||
|
import org.jetbrains.kotlin.asJava.elements.LightParameter
|
||||||
import org.jetbrains.kotlin.java.model.*
|
import org.jetbrains.kotlin.java.model.*
|
||||||
import org.jetbrains.kotlin.java.model.internal.DefaultConstructorPsiMethod
|
import org.jetbrains.kotlin.java.model.internal.DefaultConstructorPsiMethod
|
||||||
import org.jetbrains.kotlin.java.model.types.JeNoneType
|
import org.jetbrains.kotlin.java.model.types.JeNoneType
|
||||||
@@ -93,7 +94,7 @@ class JeTypeElement(override val psi: PsiClass) : JeElement, TypeElement, JeAnno
|
|||||||
declarations += JeMethodExecutableElement(DefaultConstructorPsiMethod(psi, psi.language).apply {
|
declarations += JeMethodExecutableElement(DefaultConstructorPsiMethod(psi, psi.language).apply {
|
||||||
val containingClass = psi.containingClass
|
val containingClass = psi.containingClass
|
||||||
if (containingClass != null && !psi.hasModifierProperty(PsiModifier.STATIC)) {
|
if (containingClass != null && !psi.hasModifierProperty(PsiModifier.STATIC)) {
|
||||||
addParameter("\$instance", PsiTypesUtil.getClassType(containingClass))
|
addParameter(LightParameter("\$instance", PsiTypesUtil.getClassType(containingClass), this, psi.language))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user