Merge remote-tracking branch 'origin/HEAD' into idea14
Conflicts: idea/tests/org/jetbrains/jet/plugin/compilerMessages/JetCompilerMessagingTest.java idea/tests/org/jetbrains/jet/plugin/compilerMessages/K2JSCompilerMessagingTest.java
This commit is contained in:
@@ -366,6 +366,8 @@ usageType.super.type.qualifier = Super type qualifier
|
||||
usageType.receiver = Receiver
|
||||
usageType.selector = Selector
|
||||
usageType.delegate = Delegate
|
||||
usageType.packageDirective = Package directive
|
||||
usageType.packageMemberAccess = Package member access
|
||||
|
||||
x.in.y={0} in {1}
|
||||
x.implements.y={0} in {1} implements {2} in {3}.
|
||||
|
||||
@@ -36,6 +36,7 @@ import org.jetbrains.jet.lang.psi.JetFunctionLiteral
|
||||
import com.intellij.psi.tree.TokenSet
|
||||
import org.jetbrains.jet.JetNodeTypes
|
||||
import org.jetbrains.jet.lang.psi.JetLoopExpression
|
||||
import org.jetbrains.jet.lexer.JetTokens
|
||||
|
||||
public class KotlinSmartEnterHandler: SmartEnterProcessorWithFixers() {
|
||||
{
|
||||
@@ -120,8 +121,11 @@ public class KotlinSmartEnterHandler: SmartEnterProcessorWithFixers() {
|
||||
}
|
||||
}
|
||||
|
||||
private fun PsiElement.isJetStatement() =
|
||||
getParent() is JetBlockExpression || (getParent()?.getNode()?.getElementType() in BRANCH_CONTAINERS)
|
||||
private fun PsiElement.isJetStatement() = when {
|
||||
getParent() is JetBlockExpression && getNode()?.getElementType() !in BRACES -> true
|
||||
getParent()?.getNode()?.getElementType() in BRANCH_CONTAINERS && this !is JetBlockExpression -> true
|
||||
else -> false
|
||||
}
|
||||
|
||||
class KotlinPlainEnterProcessor : SmartEnterProcessorWithFixers.FixEnterProcessor() {
|
||||
private fun getControlStatementBlock(caret: Int, element: PsiElement): JetExpression? {
|
||||
@@ -158,4 +162,5 @@ public class KotlinSmartEnterHandler: SmartEnterProcessorWithFixers() {
|
||||
}
|
||||
|
||||
private val BRANCH_CONTAINERS = TokenSet.create(JetNodeTypes.THEN, JetNodeTypes.ELSE, JetNodeTypes.BODY)
|
||||
private val BRACES = TokenSet.create(JetTokens.RBRACE, JetTokens.LBRACE)
|
||||
private fun JetParameter.isInLambdaExpression() = this.getParent()?.getParent() is JetFunctionLiteral
|
||||
|
||||
@@ -43,8 +43,8 @@ public class KotlinDoWhileFixer : SmartEnterProcessorWithFixers.Fixer<KotlinSmar
|
||||
return
|
||||
}
|
||||
else if (whileKeyword != null && body !is JetBlockExpression && body.startLine(doc) > stmt.startLine(doc)) {
|
||||
doc.insertString(whileKeyword.range.start, "}")
|
||||
doc.insertString(start + "do".length(), "{")
|
||||
doc.insertString(whileKeyword.range.start - 1, "}")
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
@@ -17,12 +17,9 @@
|
||||
package org.jetbrains.jet.plugin.findUsages
|
||||
|
||||
import com.intellij.psi.PsiElement
|
||||
import com.intellij.psi.tree.IElementType
|
||||
import com.intellij.psi.util.PsiTreeUtil
|
||||
import com.intellij.usages.UsageTarget
|
||||
import com.intellij.usages.impl.rules.UsageType
|
||||
import com.intellij.usages.impl.rules.UsageTypeProviderEx
|
||||
import org.jetbrains.annotations.Nullable
|
||||
import org.jetbrains.jet.lang.descriptors.*
|
||||
import org.jetbrains.jet.lang.psi.*
|
||||
import org.jetbrains.jet.lang.psi.psiUtil.*
|
||||
@@ -30,9 +27,8 @@ import org.jetbrains.jet.lang.resolve.BindingContext
|
||||
import org.jetbrains.jet.lexer.JetTokens
|
||||
import org.jetbrains.jet.plugin.project.AnalyzerFacadeWithCache
|
||||
import org.jetbrains.jet.plugin.JetBundle
|
||||
import org.jetbrains.jet.lang.resolve.java.descriptor.JavaPackageFragmentDescriptor
|
||||
import org.jetbrains.jet.lang.resolve.java.lazy.descriptors.LazyJavaPackageFragment
|
||||
import org.jetbrains.jet.lang.resolve.DescriptorUtils
|
||||
import com.intellij.psi.PsiPackage
|
||||
|
||||
public object JetUsageTypeProvider : UsageTypeProviderEx {
|
||||
public override fun getUsageType(element: PsiElement?): UsageType? {
|
||||
@@ -166,6 +162,14 @@ public object JetUsageTypeProvider : UsageTypeProviderEx {
|
||||
}
|
||||
}
|
||||
|
||||
fun getPackageUsageType(): UsageType? {
|
||||
return when {
|
||||
simpleName.getParentByType(javaClass<JetPackageDirective>()) != null -> JetUsageTypes.PACKAGE_DIRECTIVE
|
||||
simpleName.getParentByType(javaClass<JetQualifiedExpression>()) != null -> JetUsageTypes.PACKAGE_MEMBER_ACCESS
|
||||
else -> getClassUsageType()
|
||||
}
|
||||
}
|
||||
|
||||
val usageType = getCommonUsageType()
|
||||
if (usageType != null) return usageType
|
||||
|
||||
@@ -181,7 +185,9 @@ public object JetUsageTypeProvider : UsageTypeProviderEx {
|
||||
} else {
|
||||
getClassUsageType()
|
||||
}
|
||||
is PackageViewDescriptor -> getClassUsageType()
|
||||
is PackageViewDescriptor -> {
|
||||
if (reference.getReference()?.resolve() is PsiPackage) getPackageUsageType() else getClassUsageType()
|
||||
}
|
||||
is VariableDescriptor -> getVariableUsageType()
|
||||
is FunctionDescriptor -> getFunctionUsageType(descriptor)
|
||||
else -> null
|
||||
@@ -209,6 +215,10 @@ object JetUsageTypes {
|
||||
val RECEIVER = UsageType(JetBundle.message("usageType.receiver"))
|
||||
val DELEGATE = UsageType(JetBundle.message("usageType.delegate"))
|
||||
|
||||
// packages
|
||||
val PACKAGE_DIRECTIVE = UsageType(JetBundle.message("usageType.packageDirective"))
|
||||
val PACKAGE_MEMBER_ACCESS = UsageType(JetBundle.message("usageType.packageMemberAccess"))
|
||||
|
||||
// common usage types
|
||||
val CALLABLE_REFERENCE = UsageType(JetBundle.message("usageType.callable.reference"))
|
||||
}
|
||||
+2
-2
@@ -43,11 +43,11 @@ trait Parameter {
|
||||
val parameterTypeCandidates: List<JetType>
|
||||
val receiverCandidate: Boolean
|
||||
|
||||
val nameForRef: String get() = mirrorVarName ?: name
|
||||
|
||||
fun copy(name: String, parameterType: JetType): Parameter
|
||||
}
|
||||
|
||||
val Parameter.nameForRef: String get() = mirrorVarName ?: name
|
||||
|
||||
data class TypeParameter(
|
||||
val originalDeclaration: JetTypeParameter,
|
||||
val originalConstraints: List<JetTypeConstraint>
|
||||
|
||||
+3
-9
@@ -87,16 +87,10 @@ private fun List<Instruction>.getResultType(
|
||||
options: ExtractionOptions): JetType {
|
||||
fun instructionToType(instruction: Instruction): JetType? {
|
||||
val expression = when (instruction) {
|
||||
is ReturnValueInstruction -> {
|
||||
is ReturnValueInstruction ->
|
||||
(instruction.element as JetReturnExpression).getReturnedExpression()
|
||||
}
|
||||
is CallInstruction -> {
|
||||
val callElement = instruction.resolvedCall.getCall().getCallElement() as? JetExpression
|
||||
if (callElement is JetSimpleNameExpression) callElement.getParentByType(javaClass<JetExpression>(), true) else callElement
|
||||
}
|
||||
is ReadValueInstruction, is OperationInstruction -> {
|
||||
(instruction as JetElementInstruction).element as? JetExpression
|
||||
}
|
||||
is InstructionWithValue ->
|
||||
instruction.outputValue?.element as? JetExpression
|
||||
else -> null
|
||||
}
|
||||
|
||||
|
||||
+9
-5
@@ -116,12 +116,12 @@ public class KotlinParameterTablePanel extends JPanel {
|
||||
DefaultCellEditor defaultEditor = (DefaultCellEditor) myTable.getDefaultEditor(Object.class);
|
||||
defaultEditor.setClickCountToStart(1);
|
||||
|
||||
myTable.setTableHeader(null);
|
||||
myTable.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
|
||||
myTable.setCellSelectionEnabled(true);
|
||||
|
||||
TableColumn checkBoxColumn = myTable.getColumnModel().getColumn(MyTableModel.CHECKMARK_COLUMN);
|
||||
TableUtil.setupCheckboxColumn(checkBoxColumn);
|
||||
checkBoxColumn.setHeaderValue("");
|
||||
checkBoxColumn.setCellRenderer(
|
||||
new BooleanTableCellRenderer() {
|
||||
@NotNull
|
||||
@@ -136,7 +136,11 @@ public class KotlinParameterTablePanel extends JPanel {
|
||||
}
|
||||
);
|
||||
|
||||
myTable.getColumnModel().getColumn(MyTableModel.PARAMETER_TYPE_COLUMN).setCellRenderer(new DefaultTableCellRenderer() {
|
||||
myTable.getColumnModel().getColumn(MyTableModel.PARAMETER_NAME_COLUMN).setHeaderValue("Name");
|
||||
|
||||
TableColumn parameterTypeColumn = myTable.getColumnModel().getColumn(MyTableModel.PARAMETER_TYPE_COLUMN);
|
||||
parameterTypeColumn.setHeaderValue("Type");
|
||||
parameterTypeColumn.setCellRenderer(new DefaultTableCellRenderer() {
|
||||
private final JBComboBoxLabel myLabel = new JBComboBoxLabel();
|
||||
|
||||
@Override
|
||||
@@ -149,14 +153,14 @@ public class KotlinParameterTablePanel extends JPanel {
|
||||
myLabel.setForeground(isSelected ? table.getSelectionForeground() : table.getForeground());
|
||||
if (isSelected) {
|
||||
myLabel.setSelectionIcon();
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
myLabel.setRegularIcon();
|
||||
}
|
||||
return myLabel;
|
||||
}
|
||||
});
|
||||
|
||||
myTable.getColumnModel().getColumn(MyTableModel.PARAMETER_TYPE_COLUMN).setCellEditor(new AbstractTableCellEditor() {
|
||||
parameterTypeColumn.setCellEditor(new AbstractTableCellEditor() {
|
||||
final JBComboBoxTableCellEditorComponent myEditorComponent = new JBComboBoxTableCellEditorComponent();
|
||||
|
||||
@Override
|
||||
|
||||
+18
-6
@@ -461,6 +461,23 @@ public class KotlinIntroduceVariableHandler extends KotlinIntroduceHandlerBase {
|
||||
@Override
|
||||
public void visitExpression(@NotNull JetExpression expression) {
|
||||
if (PsiEquivalenceUtil.areElementsEquivalent(expression, actualExpression, null, new Comparator<PsiElement>() {
|
||||
private boolean compareCalleesAndReceivers(@NotNull ResolvedCall<?> rc1, @NotNull ResolvedCall<?> rc2) {
|
||||
if (rc1.getResultingDescriptor() != rc2.getResultingDescriptor() ||
|
||||
rc1.getExplicitReceiverKind() != rc2.getExplicitReceiverKind()) return false;
|
||||
|
||||
switch (rc1.getExplicitReceiverKind()) {
|
||||
case NO_EXPLICIT_RECEIVER:
|
||||
return rc1.getReceiverArgument() == rc2.getReceiverArgument()
|
||||
&& rc1.getThisObject() == rc2.getThisObject();
|
||||
case RECEIVER_ARGUMENT:
|
||||
return rc1.getThisObject() == rc2.getThisObject();
|
||||
case THIS_OBJECT:
|
||||
return rc1.getReceiverArgument() == rc2.getReceiverArgument();
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compare(@NotNull PsiElement element1, @NotNull PsiElement element2) {
|
||||
if (element1.getNode().getElementType() == JetTokens.IDENTIFIER &&
|
||||
@@ -472,12 +489,7 @@ public class KotlinIntroduceVariableHandler extends KotlinIntroduceHandlerBase {
|
||||
|
||||
ResolvedCall<?> rc1 = bindingContext.get(BindingContext.RESOLVED_CALL, expr1);
|
||||
ResolvedCall<?> rc2 = bindingContext.get(BindingContext.RESOLVED_CALL, expr2);
|
||||
if (rc1 == null || rc2 == null) return rc1 == rc2 ? 0 : 1;
|
||||
|
||||
return rc1.getResultingDescriptor() == rc2.getResultingDescriptor()
|
||||
&& rc1.getExplicitReceiverKind() == rc2.getExplicitReceiverKind()
|
||||
&& rc1.getReceiverArgument() == rc2.getReceiverArgument()
|
||||
&& rc1.getThisObject() == rc2.getThisObject() ? 0 : 1;
|
||||
return (rc1 != null && rc2 != null) && compareCalleesAndReceivers(rc1, rc2) ? 0 : 1;
|
||||
}
|
||||
}
|
||||
if (!element1.textMatches(element2)) {
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
// PSI_ELEMENT: com.intellij.psi.PsiPackage
|
||||
// OPTIONS: usages
|
||||
// FIND_BY_REF
|
||||
package <caret>foo.bar
|
||||
|
||||
import foo.bar.X
|
||||
|
||||
class X
|
||||
|
||||
val x: foo.bar.X? = foo.bar.X()
|
||||
@@ -0,0 +1,4 @@
|
||||
Class/object property type (10: 8) val x: foo.bar.X? = foo.bar.X()
|
||||
Package directive (4: 9) package foo.bar
|
||||
Package member access (10: 21) val x: foo.bar.X? = foo.bar.X()
|
||||
Usage in import (6: 8) import foo.bar.X
|
||||
@@ -0,0 +1,12 @@
|
||||
fun main(args: Array<String>) {
|
||||
with(A()) {
|
||||
println(<selection>prop</selection>)
|
||||
println(prop)
|
||||
}
|
||||
}
|
||||
|
||||
class A {
|
||||
val prop = 1
|
||||
}
|
||||
|
||||
public inline fun <T, R> with(receiver: T, f: T.() -> R): R = receiver.f()
|
||||
@@ -0,0 +1,13 @@
|
||||
fun main(args: Array<String>) {
|
||||
with(A()) {
|
||||
val i = prop
|
||||
println(i)
|
||||
println(i)
|
||||
}
|
||||
}
|
||||
|
||||
class A {
|
||||
val prop = 1
|
||||
}
|
||||
|
||||
public inline fun <T, R> with(receiver: T, f: T.() -> R): R = receiver.f()
|
||||
@@ -0,0 +1,4 @@
|
||||
fun main(args: Array<String>) {
|
||||
println(<selection>a1</selection>)
|
||||
println(a2)
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
fun main(args: Array<String>) {
|
||||
val a = a1
|
||||
println(a)
|
||||
println(a2)
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
fun main(args: Array<String>) {
|
||||
val myA = A()
|
||||
println(<selection>myA.prop</selection>)
|
||||
println(myA.prop)
|
||||
}
|
||||
|
||||
class A {
|
||||
val prop = 1
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
fun main(args: Array<String>) {
|
||||
val myA = A()
|
||||
val i = myA.prop
|
||||
println(i)
|
||||
println(i)
|
||||
}
|
||||
|
||||
class A {
|
||||
val prop = 1
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
class Bar {
|
||||
}
|
||||
|
||||
class Foo() {
|
||||
fun Bar.invoke(): Int = 1
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val f = Foo()
|
||||
println(<selection>Bar().f()</selection>)
|
||||
println(Bar().f())
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
class Bar {
|
||||
}
|
||||
|
||||
class Foo() {
|
||||
fun Bar.invoke(): Int = 1
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val f = Foo()
|
||||
val i = Bar().f()
|
||||
println(i)
|
||||
println(i)
|
||||
}
|
||||
@@ -21,6 +21,7 @@ import com.google.common.base.Joiner;
|
||||
import com.google.common.base.Predicates;
|
||||
import com.google.common.collect.Collections2;
|
||||
import com.google.common.collect.Ordering;
|
||||
import com.intellij.codeInsight.TargetElementUtilBase;
|
||||
import com.intellij.find.FindManager;
|
||||
import com.intellij.find.findUsages.*;
|
||||
import com.intellij.find.impl.FindManagerImpl;
|
||||
@@ -201,6 +202,13 @@ public abstract class AbstractJetFindUsagesTest extends JetLightCodeInsightFixtu
|
||||
return new JavaVariableFindUsagesOptions(project);
|
||||
}
|
||||
},
|
||||
JAVA_PACKAGE {
|
||||
@NotNull
|
||||
@Override
|
||||
public FindUsagesOptions parse(@NotNull String text, @NotNull Project project) {
|
||||
return new JavaPackageFindUsagesOptions(project);
|
||||
}
|
||||
},
|
||||
DEFAULT {
|
||||
@NotNull
|
||||
@Override
|
||||
@@ -246,6 +254,9 @@ public abstract class AbstractJetFindUsagesTest extends JetLightCodeInsightFixtu
|
||||
if (klass == PsiField.class) {
|
||||
return JAVA_FIELD;
|
||||
}
|
||||
if (klass == PsiPackage.class) {
|
||||
return JAVA_PACKAGE;
|
||||
}
|
||||
if (klass == JetTypeParameter.class) {
|
||||
return DEFAULT;
|
||||
}
|
||||
@@ -301,7 +312,11 @@ public abstract class AbstractJetFindUsagesTest extends JetLightCodeInsightFixtu
|
||||
}
|
||||
myFixture.configureByFile(path);
|
||||
|
||||
T caretElement = PsiTreeUtil.getParentOfType(myFixture.getElementAtCaret(), caretElementClass, false);
|
||||
PsiElement originalElement =
|
||||
InTextDirectivesUtils.isDirectiveDefined(mainFileText, "// FIND_BY_REF")
|
||||
? TargetElementUtilBase.findTargetElement(myFixture.getEditor(), TargetElementUtilBase.REFERENCED_ELEMENT_ACCEPTED)
|
||||
: myFixture.getElementAtCaret();
|
||||
T caretElement = PsiTreeUtil.getParentOfType(originalElement, caretElementClass, false);
|
||||
assertNotNull(String.format("Element with type '%s' wasn't found at caret position", caretElementClass), caretElement);
|
||||
|
||||
FindUsagesOptions options = parser != null ? parser.parse(mainFileText, getProject()) : null;
|
||||
|
||||
@@ -16,24 +16,21 @@
|
||||
|
||||
package org.jetbrains.jet.findUsages;
|
||||
|
||||
import junit.framework.Assert;
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestSuite;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.regex.Pattern;
|
||||
import org.jetbrains.jet.JetTestUtils;
|
||||
import org.jetbrains.jet.test.InnerTestClasses;
|
||||
import org.jetbrains.jet.test.TestMetadata;
|
||||
|
||||
import org.jetbrains.jet.findUsages.AbstractJetFindUsagesTest;
|
||||
import java.io.File;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/** This class is generated by {@link org.jetbrains.jet.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */
|
||||
@SuppressWarnings("all")
|
||||
@InnerTestClasses({JetFindUsagesTestGenerated.Kotlin.class, JetFindUsagesTestGenerated.Java.class})
|
||||
public class JetFindUsagesTestGenerated extends AbstractJetFindUsagesTest {
|
||||
@TestMetadata("idea/testData/findUsages/kotlin")
|
||||
@InnerTestClasses({Kotlin.FindClassUsages.class, Kotlin.FindFunctionUsages.class, Kotlin.FindObjectUsages.class, Kotlin.FindParameterUsages.class, Kotlin.FindPropertyUsages.class, Kotlin.FindTypeParameterUsages.class, Kotlin.FindWithFilteringImports.class, Kotlin.FindWithStructuralGrouping.class, Kotlin.UnresolvedAnnotation.class})
|
||||
@InnerTestClasses({Kotlin.FindClassUsages.class, Kotlin.FindFunctionUsages.class, Kotlin.FindObjectUsages.class, Kotlin.FindPackageUsages.class, Kotlin.FindParameterUsages.class, Kotlin.FindPropertyUsages.class, Kotlin.FindTypeParameterUsages.class, Kotlin.FindWithFilteringImports.class, Kotlin.FindWithStructuralGrouping.class, Kotlin.UnresolvedAnnotation.class})
|
||||
public static class Kotlin extends AbstractJetFindUsagesTest {
|
||||
public void testAllFilesPresentInKotlin() throws Exception {
|
||||
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.TestsPackage", new File("idea/testData/findUsages/kotlin"), Pattern.compile("^(.+)\\.0\\.kt$"), true);
|
||||
@@ -388,6 +385,19 @@ public class JetFindUsagesTestGenerated extends AbstractJetFindUsagesTest {
|
||||
|
||||
}
|
||||
|
||||
@TestMetadata("idea/testData/findUsages/kotlin/findPackageUsages")
|
||||
public static class FindPackageUsages extends AbstractJetFindUsagesTest {
|
||||
public void testAllFilesPresentInFindPackageUsages() throws Exception {
|
||||
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.TestsPackage", new File("idea/testData/findUsages/kotlin/findPackageUsages"), Pattern.compile("^(.+)\\.0\\.kt$"), true);
|
||||
}
|
||||
|
||||
@TestMetadata("kotlinPackageUsages.0.kt")
|
||||
public void testKotlinPackageUsages() throws Exception {
|
||||
doTest("idea/testData/findUsages/kotlin/findPackageUsages/kotlinPackageUsages.0.kt");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@TestMetadata("idea/testData/findUsages/kotlin/findParameterUsages")
|
||||
public static class FindParameterUsages extends AbstractJetFindUsagesTest {
|
||||
public void testAllFilesPresentInFindParameterUsages() throws Exception {
|
||||
@@ -587,6 +597,7 @@ public class JetFindUsagesTestGenerated extends AbstractJetFindUsagesTest {
|
||||
suite.addTestSuite(FindClassUsages.class);
|
||||
suite.addTestSuite(FindFunctionUsages.class);
|
||||
suite.addTestSuite(FindObjectUsages.class);
|
||||
suite.addTestSuite(FindPackageUsages.class);
|
||||
suite.addTestSuite(FindParameterUsages.class);
|
||||
suite.addTestSuite(FindPropertyUsages.class);
|
||||
suite.addTestSuite(FindTypeParameterUsages.class);
|
||||
|
||||
@@ -677,8 +677,8 @@ class SmartEnterTest : JetLightCodeInsightFixtureTestCase() {
|
||||
,
|
||||
"""
|
||||
do {
|
||||
<caret>
|
||||
} while (true)
|
||||
<caret>
|
||||
"""
|
||||
)
|
||||
|
||||
@@ -747,6 +747,32 @@ class SmartEnterTest : JetLightCodeInsightFixtureTestCase() {
|
||||
"""
|
||||
)
|
||||
|
||||
fun testDoWhile13() = doFunTest(
|
||||
"""
|
||||
do<caret>
|
||||
println("some")
|
||||
"""
|
||||
,
|
||||
"""
|
||||
do {
|
||||
println("some")
|
||||
} while (<caret>)
|
||||
"""
|
||||
)
|
||||
|
||||
fun testDoWhile14() = doFunTest(
|
||||
"""
|
||||
do <caret>
|
||||
println("some")
|
||||
"""
|
||||
,
|
||||
"""
|
||||
do {
|
||||
println("some")
|
||||
} while (<caret>)
|
||||
"""
|
||||
)
|
||||
|
||||
fun testDoWhileOneLine1() = doFunTest(
|
||||
"""
|
||||
do println("some") while (true<caret>)
|
||||
|
||||
+20
@@ -133,11 +133,26 @@ public class JetExtractionTestGenerated extends AbstractJetExtractionTest {
|
||||
doIntroduceVariableTest("idea/testData/refactoring/introduceVariable/noConflictWithInnerVariable.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("NoExplicitReceivers.kt")
|
||||
public void testNoExplicitReceivers() throws Exception {
|
||||
doIntroduceVariableTest("idea/testData/refactoring/introduceVariable/NoExplicitReceivers.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("NoExplicitReceiversUnresolved.kt")
|
||||
public void testNoExplicitReceiversUnresolved() throws Exception {
|
||||
doIntroduceVariableTest("idea/testData/refactoring/introduceVariable/NoExplicitReceiversUnresolved.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("nonEquivalentReceivers.kt")
|
||||
public void testNonEquivalentReceivers() throws Exception {
|
||||
doIntroduceVariableTest("idea/testData/refactoring/introduceVariable/nonEquivalentReceivers.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("OneExplicitReceiver.kt")
|
||||
public void testOneExplicitReceiver() throws Exception {
|
||||
doIntroduceVariableTest("idea/testData/refactoring/introduceVariable/OneExplicitReceiver.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("ReplaceOccurence.kt")
|
||||
public void testReplaceOccurence() throws Exception {
|
||||
doIntroduceVariableTest("idea/testData/refactoring/introduceVariable/ReplaceOccurence.kt");
|
||||
@@ -158,6 +173,11 @@ public class JetExtractionTestGenerated extends AbstractJetExtractionTest {
|
||||
doIntroduceVariableTest("idea/testData/refactoring/introduceVariable/StringInjection.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("TwoExplicitReceivers.kt")
|
||||
public void testTwoExplicitReceivers() throws Exception {
|
||||
doIntroduceVariableTest("idea/testData/refactoring/introduceVariable/TwoExplicitReceivers.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("WhenAddBlock.kt")
|
||||
public void testWhenAddBlock() throws Exception {
|
||||
doIntroduceVariableTest("idea/testData/refactoring/introduceVariable/WhenAddBlock.kt");
|
||||
|
||||
Reference in New Issue
Block a user