[PSI] allow creating KtFiles with eventSystemEnabled = true in KtPsiFactory
so we have a VirtualFile for every KtFile created by it ^KT-57930
This commit is contained in:
committed by
Space Team
parent
3b681cd2eb
commit
2beb4c0017
@@ -59,22 +59,28 @@ var KtFile.analysisContext: PsiElement? by UserDataProperty(Key.create("ANALYSIS
|
|||||||
class KtPsiFactory private constructor(
|
class KtPsiFactory private constructor(
|
||||||
private val project: Project,
|
private val project: Project,
|
||||||
private val markGenerated: Boolean,
|
private val markGenerated: Boolean,
|
||||||
private val context: PsiElement?
|
private val context: PsiElement?,
|
||||||
|
private val eventSystemEnabled: Boolean,
|
||||||
) {
|
) {
|
||||||
companion object {
|
companion object {
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
@JvmOverloads
|
@JvmOverloads
|
||||||
fun contextual(context: PsiElement, markGenerated: Boolean = true): KtPsiFactory {
|
fun contextual(context: PsiElement, markGenerated: Boolean = true, eventSystemEnabled: Boolean = false): KtPsiFactory {
|
||||||
return KtPsiFactory(context.project, markGenerated, context)
|
return KtPsiFactory(context.project, markGenerated, context, eventSystemEnabled)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@JvmOverloads
|
@JvmOverloads
|
||||||
constructor(project: Project, markGenerated: Boolean = true) : this(project, markGenerated, context = null)
|
constructor(project: Project, markGenerated: Boolean = true) :
|
||||||
|
this(project, markGenerated, context = null, eventSystemEnabled = false)
|
||||||
|
|
||||||
|
constructor(project: Project, markGenerated: Boolean = true, eventSystemEnabled: Boolean) :
|
||||||
|
this(project, markGenerated, context = null, eventSystemEnabled = eventSystemEnabled)
|
||||||
|
|
||||||
|
|
||||||
@JvmOverloads
|
@JvmOverloads
|
||||||
@Deprecated("Use 'KtPsiFactory(project, markGenerated)' or 'KtPsiFactory.contextual(context, markGenerated)' instead")
|
@Deprecated("Use 'KtPsiFactory(project, markGenerated)' or 'KtPsiFactory.contextual(context, markGenerated)' instead")
|
||||||
constructor(element: KtElement, markGenerated: Boolean = true) : this(element.project, markGenerated, context = null)
|
constructor(element: KtElement, markGenerated: Boolean = true) : this(element.project, markGenerated, context = null, eventSystemEnabled = false)
|
||||||
|
|
||||||
fun createValKeyword(): PsiElement {
|
fun createValKeyword(): PsiElement {
|
||||||
val property = createProperty("val x = 1")
|
val property = createProperty("val x = 1")
|
||||||
@@ -240,7 +246,7 @@ class KtPsiFactory private constructor(
|
|||||||
KotlinFileType.INSTANCE,
|
KotlinFileType.INSTANCE,
|
||||||
text,
|
text,
|
||||||
LocalTimeCounter.currentTime(),
|
LocalTimeCounter.currentTime(),
|
||||||
false,
|
eventSystemEnabled,
|
||||||
markGenerated
|
markGenerated
|
||||||
) as KtFile
|
) as KtFile
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user