Minor
This commit is contained in:
+6
-8
@@ -48,8 +48,8 @@ public class ConvertJavaCopyPastePostProcessor : CopyPastePostProcessor<TextBloc
|
|||||||
|
|
||||||
override fun extractTransferableData(content: Transferable): List<TextBlockTransferableData> {
|
override fun extractTransferableData(content: Transferable): List<TextBlockTransferableData> {
|
||||||
try {
|
try {
|
||||||
if (content.isDataFlavorSupported(CopiedCode.DATA_FLAVOR)) {
|
if (content.isDataFlavorSupported(CopiedJavaCode.DATA_FLAVOR)) {
|
||||||
return listOf(content.getTransferData(CopiedCode.DATA_FLAVOR) as TextBlockTransferableData)
|
return listOf(content.getTransferData(CopiedJavaCode.DATA_FLAVOR) as TextBlockTransferableData)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (e: Throwable) {
|
catch (e: Throwable) {
|
||||||
@@ -61,22 +61,20 @@ public class ConvertJavaCopyPastePostProcessor : CopyPastePostProcessor<TextBloc
|
|||||||
public override fun collectTransferableData(file: PsiFile, editor: Editor, startOffsets: IntArray, endOffsets: IntArray): List<TextBlockTransferableData> {
|
public override fun collectTransferableData(file: PsiFile, editor: Editor, startOffsets: IntArray, endOffsets: IntArray): List<TextBlockTransferableData> {
|
||||||
if (file !is PsiJavaFile) return listOf()
|
if (file !is PsiJavaFile) return listOf()
|
||||||
|
|
||||||
return listOf(CopiedCode(file.getName(), file.getText()!!, startOffsets, endOffsets))
|
return listOf(CopiedJavaCode(file.getText()!!, startOffsets, endOffsets))
|
||||||
}
|
}
|
||||||
|
|
||||||
public override fun processTransferableData(project: Project, editor: Editor, bounds: RangeMarker, caretOffset: Int, indented: Ref<Boolean>, values: List<TextBlockTransferableData>) {
|
public override fun processTransferableData(project: Project, editor: Editor, bounds: RangeMarker, caretOffset: Int, indented: Ref<Boolean>, values: List<TextBlockTransferableData>) {
|
||||||
if (DumbService.getInstance(project).isDumb()) return
|
if (DumbService.getInstance(project).isDumb()) return
|
||||||
|
|
||||||
val data = values.single()
|
val data = values.single()
|
||||||
if (data !is CopiedCode) return
|
if (data !is CopiedJavaCode) return
|
||||||
|
|
||||||
val document = editor.getDocument()
|
val document = editor.getDocument()
|
||||||
val targetFile = PsiDocumentManager.getInstance(project).getPsiFile(document) as? JetFile ?: return
|
val targetFile = PsiDocumentManager.getInstance(project).getPsiFile(document) as? JetFile ?: return
|
||||||
|
|
||||||
fun doConversion(): Pair<String?, Collection<KotlinReferenceData>> {
|
fun doConversion(): Pair<String?, Collection<KotlinReferenceData>> {
|
||||||
//TODO: create it in correct context!
|
val sourceFile = PsiFileFactory.getInstance(project).createFileFromText(JavaLanguage.INSTANCE, data.fileText) as PsiJavaFile
|
||||||
val sourceFile = PsiFileFactory.getInstance(project).
|
|
||||||
createFileFromText(data.fileName, JavaLanguage.INSTANCE, data.fileText) as PsiJavaFile
|
|
||||||
val result = convertCopiedCodeToKotlin(data, sourceFile)
|
val result = convertCopiedCodeToKotlin(data, sourceFile)
|
||||||
val referenceData = buildReferenceData(result.text, result.parseContext, sourceFile, targetFile)
|
val referenceData = buildReferenceData(result.text, result.parseContext, sourceFile, targetFile)
|
||||||
return (if (result.textChanged) result.text else null) to referenceData
|
return (if (result.textChanged) result.text else null) to referenceData
|
||||||
@@ -143,7 +141,7 @@ public class ConvertJavaCopyPastePostProcessor : CopyPastePostProcessor<TextBloc
|
|||||||
val textChanged: Boolean
|
val textChanged: Boolean
|
||||||
)
|
)
|
||||||
|
|
||||||
private fun convertCopiedCodeToKotlin(code: CopiedCode, sourceFile: PsiJavaFile): ConversionResult {
|
private fun convertCopiedCodeToKotlin(code: CopiedJavaCode, sourceFile: PsiJavaFile): ConversionResult {
|
||||||
assert(code.startOffsets.size() == code.endOffsets.size(), "Must have the same size")
|
assert(code.startOffsets.size() == code.endOffsets.size(), "Must have the same size")
|
||||||
val sourceFileText = code.fileText
|
val sourceFileText = code.fileText
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -20,7 +20,7 @@ import com.intellij.codeInsight.editorActions.TextBlockTransferableData
|
|||||||
|
|
||||||
import java.awt.datatransfer.DataFlavor
|
import java.awt.datatransfer.DataFlavor
|
||||||
|
|
||||||
class CopiedCode(val fileName: String, val fileText: String, val startOffsets: IntArray, val endOffsets: IntArray) : TextBlockTransferableData {
|
class CopiedJavaCode(val fileText: String, val startOffsets: IntArray, val endOffsets: IntArray) : TextBlockTransferableData {
|
||||||
|
|
||||||
override fun getFlavor() = DATA_FLAVOR
|
override fun getFlavor() = DATA_FLAVOR
|
||||||
override fun getOffsetCount() = 0
|
override fun getOffsetCount() = 0
|
||||||
Reference in New Issue
Block a user