Create from Usage: Locate new declaration using RangeMarker
#KT-9197 Fixed
This commit is contained in:
+7
-4
@@ -938,6 +938,8 @@ class CallableBuilder(val config: CallableBuilderConfiguration) {
|
|||||||
|
|
||||||
val declaration = declarationPointer.getElement()!!
|
val declaration = declarationPointer.getElement()!!
|
||||||
|
|
||||||
|
val declarationMarker = containingFileEditor.document.createRangeMarker(declaration.textRange)
|
||||||
|
|
||||||
val builder = TemplateBuilderImpl(jetFileToEdit)
|
val builder = TemplateBuilderImpl(jetFileToEdit)
|
||||||
if (declaration is KtProperty) {
|
if (declaration is KtProperty) {
|
||||||
setupValVarTemplate(builder, declaration)
|
setupValVarTemplate(builder, declaration)
|
||||||
@@ -979,10 +981,10 @@ class CallableBuilder(val config: CallableBuilderConfiguration) {
|
|||||||
if (brokenOff && !ApplicationManager.getApplication().isUnitTestMode()) return
|
if (brokenOff && !ApplicationManager.getApplication().isUnitTestMode()) return
|
||||||
|
|
||||||
// file templates
|
// file templates
|
||||||
val newDeclaration = if (templateImpl.getSegmentsCount() > 0) {
|
val newDeclaration = PsiTreeUtil.findElementOfClassAtOffset(jetFileToEdit,
|
||||||
PsiTreeUtil.findElementOfClassAtOffset(jetFileToEdit, templateImpl.getSegmentOffset(0), declaration.javaClass, false)!!
|
declarationMarker.startOffset,
|
||||||
}
|
declaration.javaClass,
|
||||||
else declarationPointer.getElement()!!
|
false) ?: return
|
||||||
|
|
||||||
runWriteAction {
|
runWriteAction {
|
||||||
// file templates
|
// file templates
|
||||||
@@ -1004,6 +1006,7 @@ class CallableBuilder(val config: CallableBuilderConfiguration) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
finally {
|
finally {
|
||||||
|
declarationMarker.dispose()
|
||||||
finished = true
|
finished = true
|
||||||
onFinish()
|
onFinish()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user