Idea 138: Update to Idea 138.515

This commit is contained in:
Nikolay Krasko
2014-05-28 20:33:37 +04:00
parent 79b7b1c447
commit 1e3270a050
11 changed files with 121 additions and 55 deletions
@@ -19,6 +19,39 @@
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor T extractTransferableData(java.awt.datatransfer.Transferable) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor java.util.List&lt;T&gt; collectTransferableData(com.intellij.psi.PsiFile, com.intellij.openapi.editor.Editor, int[], int[])'>
<annotation name='kotlin.jvm.KotlinSignature'>
<val name="value"
val="&quot;fun collectTransferableData(file: PsiFile, editor: Editor, startOffsets: IntArray, endOffsets: IntArray): List&lt;T&gt;&quot;"/>
</annotation>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor java.util.List&lt;T&gt; collectTransferableData(com.intellij.psi.PsiFile, com.intellij.openapi.editor.Editor, int[], int[]) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor java.util.List&lt;T&gt; collectTransferableData(com.intellij.psi.PsiFile, com.intellij.openapi.editor.Editor, int[], int[]) 1'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor java.util.List&lt;T&gt; collectTransferableData(com.intellij.psi.PsiFile, com.intellij.openapi.editor.Editor, int[], int[]) 2'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor java.util.List&lt;T&gt; collectTransferableData(com.intellij.psi.PsiFile, com.intellij.openapi.editor.Editor, int[], int[]) 3'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor java.util.List&lt;T&gt; extractTransferableData(java.awt.datatransfer.Transferable)'>
<annotation name='kotlin.jvm.KotlinSignature'>
<val name="value" val="&quot;fun extractTransferableData(content: Transferable): List&lt;T&gt;&quot;"/>
</annotation>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor java.util.List&lt;T&gt; extractTransferableData(java.awt.datatransfer.Transferable) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor void processTransferableData(com.intellij.openapi.project.Project, com.intellij.openapi.editor.Editor, com.intellij.openapi.editor.RangeMarker, int, com.intellij.openapi.util.Ref&lt;java.lang.Boolean&gt;, T) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
@@ -39,6 +72,26 @@
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor void processTransferableData(com.intellij.openapi.project.Project, com.intellij.openapi.editor.Editor, com.intellij.openapi.editor.RangeMarker, int, com.intellij.openapi.util.Ref&lt;java.lang.Boolean&gt;, T) 5'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor void processTransferableData(com.intellij.openapi.project.Project, com.intellij.openapi.editor.Editor, com.intellij.openapi.editor.RangeMarker, int, com.intellij.openapi.util.Ref&lt;java.lang.Boolean&gt;, java.util.List&lt;T&gt;) 0'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor void processTransferableData(com.intellij.openapi.project.Project, com.intellij.openapi.editor.Editor, com.intellij.openapi.editor.RangeMarker, int, com.intellij.openapi.util.Ref&lt;java.lang.Boolean&gt;, java.util.List&lt;T&gt;) 1'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor void processTransferableData(com.intellij.openapi.project.Project, com.intellij.openapi.editor.Editor, com.intellij.openapi.editor.RangeMarker, int, com.intellij.openapi.util.Ref&lt;java.lang.Boolean&gt;, java.util.List&lt;T&gt;) 2'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor void processTransferableData(com.intellij.openapi.project.Project, com.intellij.openapi.editor.Editor, com.intellij.openapi.editor.RangeMarker, int, com.intellij.openapi.util.Ref&lt;java.lang.Boolean&gt;, java.util.List&lt;T&gt;) 4'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPastePostProcessor void processTransferableData(com.intellij.openapi.project.Project, com.intellij.openapi.editor.Editor, com.intellij.openapi.editor.RangeMarker, int, com.intellij.openapi.util.Ref&lt;java.lang.Boolean&gt;, java.util.List&lt;T&gt;) 5'>
<annotation name='org.jetbrains.annotations.NotNull'/>
</item>
<item
name='com.intellij.codeInsight.editorActions.CopyPasteReferenceProcessor TRef[] findReferencesToRestore(com.intellij.psi.PsiFile, com.intellij.openapi.editor.RangeMarker, com.intellij.codeInsight.editorActions.ReferenceData[])'>
<annotation name='org.jetbrains.annotations.NotNull'/>
+1 -1
View File
@@ -6,7 +6,7 @@
<version>@snapshot@</version>
<vendor url="http://www.jetbrains.com">JetBrains Inc.</vendor>
<idea-version since-build="135.666" until-build="136.9999"/>
<idea-version since-build="138.515" until-build="138.9999"/>
<depends optional="true" config-file="junit.xml">JUnit</depends>
<depends optional="true" config-file="gradle.xml">org.jetbrains.plugins.gradle</depends>
@@ -65,16 +65,18 @@ import org.jetbrains.jet.lang.psi.psiUtil.getReceiverExpression
import org.jetbrains.jet.utils.*
//NOTE: this class is based on CopyPasteReferenceProcessor and JavaCopyPasteReferenceProcessor
public class KotlinCopyPasteReferenceProcessor() : CopyPastePostProcessor<ReferenceTransferableData?> {
public class KotlinCopyPasteReferenceProcessor() : CopyPastePostProcessor<ReferenceTransferableData>() {
override fun extractTransferableData(content: Transferable): ReferenceTransferableData? {
//NOTE: copied code
var referenceData: ReferenceTransferableData? = null
override fun extractTransferableData(content: Transferable): List<ReferenceTransferableData> {
if (CodeInsightSettings.getInstance()!!.ADD_IMPORTS_ON_PASTE != CodeInsightSettings.NO) {
try {
val flavor = ReferenceData.getDataFlavor()
if (flavor != null) {
referenceData = content.getTransferData(flavor) as? ReferenceTransferableData
val referenceData = content.getTransferData(flavor) as? ReferenceTransferableData
if (referenceData != null) {
// copy to prevent changing of original by convertLineSeparators
return listOf(referenceData.clone())
}
}
}
catch (ignored: UnsupportedFlavorException) {
@@ -83,12 +85,7 @@ public class KotlinCopyPasteReferenceProcessor() : CopyPastePostProcessor<Refere
}
}
if (referenceData != null) {
// copy to prevent changing of original by convertLineSeparators
return referenceData!!.clone()
}
return null
return listOf()
}
override fun collectTransferableData(
@@ -96,9 +93,9 @@ public class KotlinCopyPasteReferenceProcessor() : CopyPastePostProcessor<Refere
editor: Editor,
startOffsets: IntArray,
endOffsets: IntArray
): ReferenceTransferableData? {
): List<ReferenceTransferableData> {
if (file !is JetFile) {
return null
return listOf()
}
val collectedData = try {
@@ -111,14 +108,14 @@ public class KotlinCopyPasteReferenceProcessor() : CopyPastePostProcessor<Refere
}
catch (e: Throwable) {
LOG.error("Exception in processing references for copy paste in file ${file.getName()}}", e)
return null
return listOf()
}
if (collectedData.isEmpty()) {
return null
return listOf()
}
return ReferenceTransferableData(collectedData.copyToArray())
return listOf(ReferenceTransferableData(collectedData.copyToArray()))
}
private fun collectReferenceDataFromElement(
@@ -185,7 +182,7 @@ public class KotlinCopyPasteReferenceProcessor() : CopyPastePostProcessor<Refere
bounds: RangeMarker,
caretOffset: Int,
indented: Ref<Boolean>,
value: ReferenceTransferableData?
values: List<ReferenceTransferableData>
) {
if (DumbService.getInstance(project)!!.isDumb()) {
return
@@ -197,7 +194,10 @@ public class KotlinCopyPasteReferenceProcessor() : CopyPastePostProcessor<Refere
}
PsiDocumentManager.getInstance(project).commitAllDocuments()
val referenceData = value!!.getData()!!
assert(values.size() == 1)
val referenceData = values.first().getData()!!
val referencesPossibleToRestore = findReferencesToRestore(file, bounds, referenceData)
val selectedReferencesToRestore = showRestoreReferencesDialog(project, referencesPossibleToRestore)
@@ -32,31 +32,36 @@ import org.jetbrains.jet.plugin.editor.JetEditorOptions
import java.awt.datatransfer.Transferable
import com.intellij.openapi.util.TextRange
import com.intellij.psi.codeStyle.CodeStyleManager
import com.intellij.codeInsight.editorActions.ReferenceTransferableData
public class ConvertJavaCopyPastePostProcessor() : CopyPastePostProcessor<TextBlockTransferableData> {
public class ConvertJavaCopyPastePostProcessor() : CopyPastePostProcessor<TextBlockTransferableData>() {
override fun extractTransferableData(content: Transferable): TextBlockTransferableData? {
override fun extractTransferableData(content: Transferable): List<TextBlockTransferableData> {
try {
if (content.isDataFlavorSupported(CopiedCode.DATA_FLAVOR)) {
return (content.getTransferData(CopiedCode.DATA_FLAVOR) as TextBlockTransferableData)
return listOf(content.getTransferData(CopiedCode.DATA_FLAVOR) as TextBlockTransferableData)
}
}
catch (e: Throwable) {
LOG.error(e)
}
return null
return listOf()
}
public override fun collectTransferableData(file: PsiFile, editor: Editor, startOffsets: IntArray, endOffsets: IntArray): TextBlockTransferableData? {
if (!(file is PsiJavaFile)) {
return null
public override fun collectTransferableData(file: PsiFile, editor: Editor, startOffsets: IntArray, endOffsets: IntArray): List<TextBlockTransferableData> {
if (file !is PsiJavaFile) {
return listOf()
}
val lightFile = PsiFileFactory.getInstance(file.getProject())!!.createFileFromText(file.getText()!!, file)
return CopiedCode(lightFile as? PsiJavaFile, startOffsets, endOffsets)
return listOf(CopiedCode(lightFile as? PsiJavaFile, startOffsets, endOffsets))
}
public override fun processTransferableData(project: Project, editor: Editor, bounds: RangeMarker, caretOffset: Int, indented: Ref<Boolean>, value: TextBlockTransferableData) {
public override fun processTransferableData(project: Project, editor: Editor, bounds: RangeMarker, caretOffset: Int, indented: Ref<Boolean>, values: List<TextBlockTransferableData>) {
assert(values.size() == 1)
val value = values.first()
if (value !is CopiedCode)
return
@@ -23,8 +23,6 @@ import com.intellij.psi.PsiReference
import org.jetbrains.jet.lang.psi.JetClass
public class JetTargetElementEvaluator : TargetElementEvaluator {
override fun includeSelfInGotoImplementation(element: PsiElement): Boolean =
!(element is JetClass && element.isAbstract())
override fun getElementByReference(ref: PsiReference?, flags: Int): PsiElement? = null
override fun includeSelfInGotoImplementation(element: PsiElement): Boolean = !(element is JetClass && element.isAbstract())
override fun getElementByReference(ref: PsiReference, flags: Int): PsiElement? = null
}
@@ -95,6 +95,7 @@ public abstract class JetLightCodeInsightFixtureTestCase extends LightCodeInsigh
return getTestName(false).startsWith("AllFilesPresentIn");
}
@NotNull
protected String fileName() {
return getTestName(false) + ".kt";
}
@@ -16,8 +16,6 @@
package org.jetbrains.jet.plugin.debugger
import com.intellij.debugger.SourcePosition
import com.intellij.psi.PsiElement
import com.intellij.debugger.actions.SmartStepTarget
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase
import com.intellij.testFramework.fixtures.JavaCodeInsightTestFixture
@@ -36,7 +34,7 @@ abstract class AbstractSmartStepIntoTest : LightCodeInsightFixtureTestCase() {
fixture.configureByFile(path)
val offset = fixture.getCaretOffset()
val line = fixture.getDocument(fixture.getFile())!!.getLineNumber(offset)
val line = fixture.getDocument(fixture.getFile()!!)!!.getLineNumber(offset)
val position = MockSourcePosition(_file = fixture.getFile(), _line = line, _offset = offset, _editor = fixture.getEditor())
@@ -20,7 +20,6 @@ import org.jetbrains.jet.checkers.AbstractJetPsiCheckerTest
import org.jetbrains.jet.completion.AbstractJvmBasicCompletionTest
import com.intellij.testFramework.fixtures.JavaCodeInsightTestFixture
import com.intellij.psi.PsiElement
import org.jetbrains.jet.lang.psi.JetExpressionCodeFragment
import com.intellij.openapi.util.io.FileUtil
import java.io.File
import org.jetbrains.jet.lang.psi.JetPsiFactory
@@ -29,7 +28,6 @@ import org.jetbrains.jet.lang.psi.JetFile
import com.intellij.openapi.application.ApplicationManager
import org.jetbrains.jet.lang.resolve.name.FqName
import org.jetbrains.jet.InTextDirectivesUtils
import com.intellij.debugger.engine.evaluation.CodeFragmentKind
import org.jetbrains.jet.lang.psi.JetCodeFragment
abstract class AbstractCodeFragmentHighlightingTest : AbstractJetPsiCheckerTest() {
@@ -64,7 +62,7 @@ private fun JavaCodeInsightTestFixture.configureByCodeFragment(filePath: String)
val elementAt = getFile()?.findElementAt(getCaretOffset())
val file = createCodeFragment(filePath, elementAt!!)
configureFromExistingVirtualFile(file.getVirtualFile())
configureFromExistingVirtualFile(file.getVirtualFile()!!)
}
private fun createCodeFragment(filePath: String, contextElement: PsiElement): JetCodeFragment {
@@ -306,6 +306,7 @@ public class JetJavaFacadeTest extends JetLightCodeInsightFixtureTestCase {
lightClass.getDelegate();
}
@NotNull
@Override
protected String fileName() {
return getTestName(true) + ".kt";
@@ -71,6 +71,7 @@ public abstract class AbstractKotlinGotoTest extends JetLightCodeInsightFixtureT
return dirPath;
}
@NotNull
@Override
protected String fileName() {
return getTestName(true) + ".kt";
+28 -17
View File
@@ -1,6 +1,6 @@
<project name="Update Dependencies" default="update">
<property name="jb.buildserver.build.id" value="2573294"/>
<property name="public.buildserver.build.id" value="137073"/>
<property name="jb.buildserver.build.id" value="2579041"/>
<property name="public.buildserver.build.id" value="137490"/>
<condition property="os.tag" value="win.zip">
<os family="windows" />
@@ -19,7 +19,7 @@
</and>
</condition>
<property name="idea.build.number" value="135.SNAPSHOT"/>
<property name="idea.build.number" value="138.SNAPSHOT"/>
<property name="idea.archive.name" value="ideaIC-${idea.build.number}.${os.tag}"/>
@@ -265,21 +265,32 @@
<get src="@{base.url}/core/trove4j.jar" dest="${core}/trove4j.jar" usetimestamp="true"/>
<!--<get src="@{base.url}/core/snappy-java-1.0.5.jar" dest="${core}/snappy-java-1.0.5.jar" usetimestamp="true"/>-->
<get src="@{base.url}/jps/groovy-jps-plugin.jar" dest="${jps}/groovy-jps-plugin.jar" usetimestamp="true"/>
<get src="@{base.url}/jps/groovy_rt.jar" dest="${jps}/groovy_rt.jar" usetimestamp="true"/>
<get src="@{base.url}/jps/jdom.jar" dest="${jps}/jdom.jar" usetimestamp="true"/>
<get src="@{base.url}/jps/jgoodies-forms.jar" dest="${jps}/jgoodies-forms.jar" usetimestamp="true"/>
<get src="@{base.url}/jps/jna.jar" dest="${jps}/jna.jar" usetimestamp="true"/>
<get src="@{base.url}/jps/jps-builders.jar" dest="${jps}/jps-builders.jar" usetimestamp="true"/>
<get src="@{base.url}/jps/jps-model.jar" dest="${jps}/jps-model.jar" usetimestamp="true"/>
<get src="@{base.url}/jps/log4j.jar" dest="${jps}/log4j.jar" usetimestamp="true"/>
<get src="@{base.url}/jps/nanoxml-2.2.3.jar" dest="${jps}/nanoxml-2.2.3.jar" usetimestamp="true"/>
<get src="@{base.url}/jps/protobuf-2.5.0.jar" dest="${jps}/protobuf-2.5.0.jar" usetimestamp="true"/>
<get src="@{base.url}/jps/trove4j.jar" dest="${jps}/trove4j.jar" usetimestamp="true"/>
<get src="@{base.url}/jps/ui-designer-jps-plugin.jar" dest="${jps}/ui-designer-jps-plugin.jar" usetimestamp="true"/>
<get src="@{base.url}/jps/util.jar" dest="${jps}/util.jar" usetimestamp="true"/>
<get src="@{base.url}/jps/standalone-jps-IC-${idea.build.number}.zip"
dest="dependencies/download/standalone-jps.zip"
usetimestamp="true" />
<get src="@{base.url}/jps/test/jps-build-test.jar" dest="${jps-test}/jps-build-test.jar" usetimestamp="true"/>
<property name="jps.extracted.dir" value="dependencies/download/standalone-jps" />
<unzip src="dependencies/download/standalone-jps.zip" dest="${jps.extracted.dir}" />
<copy todir="${jps}" flatten="true">
<resources>
<file file="${jps.extracted.dir}/groovy-jps-plugin.jar" />
<file file="${jps.extracted.dir}/groovy_rt.jar" />
<file file="${jps.extracted.dir}/jdom.jar" />
<file file="${jps.extracted.dir}/jgoodies-forms.jar" />
<file file="${jps.extracted.dir}/jna.jar" />
<file file="${jps.extracted.dir}/jps-builders.jar" />
<file file="${jps.extracted.dir}/jps-model.jar" />
<file file="${jps.extracted.dir}/log4j.jar" />
<file file="${jps.extracted.dir}/nanoxml-2.2.3.jar" />
<file file="${jps.extracted.dir}/protobuf-2.5.0.jar" />
<file file="${jps.extracted.dir}/trove4j.jar" />
<file file="${jps.extracted.dir}/ui-designer-jps-plugin.jar" />
<file file="${jps.extracted.dir}/util.jar" />
</resources>
</copy>
<get src="@{base.url}/jps/jps-build-test-IC-${idea.build.number}.jar" dest="${jps-test}/jps-build-test.jar" usetimestamp="true"/>
<get src="@{base.url}/@{build.zip}" dest="dependencies/download/@{build.zip}" usetimestamp="true"/>