mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[java] External type annotations (IDEA-231901): remove them on variable introduction
Also bumped test project descriptor GitOrigin-RevId: fd519a34b01abbb9de135f1c39fc1cb02c8de891
This commit is contained in:
committed by
intellij-monorepo-bot
parent
35c9c6ca5a
commit
a1eecbd0ae
+2
-1
@@ -25,6 +25,7 @@ import com.intellij.psi.search.LocalSearchScope;
|
||||
import com.intellij.psi.search.searches.ReferencesSearch;
|
||||
import com.intellij.psi.util.InheritanceUtil;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.psi.util.PsiTypesUtil;
|
||||
import com.intellij.psi.util.PsiUtil;
|
||||
import com.intellij.refactoring.IntroduceVariableUtil;
|
||||
import com.intellij.refactoring.introduceField.ElementToWorkOn;
|
||||
@@ -91,7 +92,7 @@ final class VariableExtractor {
|
||||
}
|
||||
PsiExpression initializer = RefactoringUtil.unparenthesizeExpression(newExpr);
|
||||
final SmartTypePointer selectedType = SmartTypePointerManager.getInstance(myProject).createSmartTypePointer(
|
||||
mySettings.getSelectedType());
|
||||
PsiTypesUtil.removeExternalAnnotations(mySettings.getSelectedType()));
|
||||
initializer = IntroduceVariableBase.simplifyVariableInitializer(initializer, selectedType.getType());
|
||||
CommentTracker commentTracker = new CommentTracker();
|
||||
commentTracker.markUnchanged(initializer);
|
||||
|
||||
+3
-3
@@ -1,8 +1,8 @@
|
||||
public class splitMutuallyExclusiveIf {
|
||||
void foo(Object obj) {
|
||||
int i = ((Number) obj).intValue();
|
||||
if (obj instanceof Number && i > 0) {
|
||||
System.out.println(i);
|
||||
int x = ((Number) obj).intValue();
|
||||
if (obj instanceof Number && x > 0) {
|
||||
System.out.println(x);
|
||||
} else if (obj instanceof Float && ((Float) obj).floatValue() > 0.0) {
|
||||
System.out.println(((Float) obj).floatValue());
|
||||
}
|
||||
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
class Main {
|
||||
void test(Object value) {
|
||||
Map<Integer, String> collect = Stream.of("1", "2", "3")
|
||||
.collect(Collectors.to<caret>UnmodifiableMap(Integer::parseInt, xx -> xx));
|
||||
}
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collector;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
class Main {
|
||||
void test(Object value) {
|
||||
Collector<String, ?, Map<Integer, String>> unmodifiableMap = Collectors.toUnmodifiableMap(Integer::parseInt, xx -> xx);
|
||||
Map<Integer, String> collect = Stream.of("1", "2", "3")
|
||||
.collect(unmodifiableMap);
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@ class C {
|
||||
{
|
||||
int[] a = new int[1];
|
||||
a[1] = 42;
|
||||
int i = a[1];
|
||||
System.out.println(i);
|
||||
int x = a[1];
|
||||
System.out.println(x);
|
||||
}
|
||||
}
|
||||
+3
-3
@@ -1,9 +1,9 @@
|
||||
public class splitMutuallyExclusiveIf {
|
||||
void foo(Object obj) {
|
||||
if (obj instanceof Integer) {
|
||||
int i = ((Integer) obj).intValue();
|
||||
if (i > 0) {
|
||||
System.out.println(i);
|
||||
int x = ((Integer) obj).intValue();
|
||||
if (x > 0) {
|
||||
System.out.println(x);
|
||||
}
|
||||
} else if (obj instanceof Float && ((Float) obj).floatValue() > 0.0) {
|
||||
System.out.println(((Float) obj).floatValue());
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
class C {
|
||||
{
|
||||
int[] a = new int[1];
|
||||
int i = a[1];
|
||||
i = 42;
|
||||
System.out.println(i);
|
||||
int x = a[1];
|
||||
x = 42;
|
||||
System.out.println(x);
|
||||
}
|
||||
}
|
||||
+12
@@ -24,6 +24,7 @@ import com.intellij.refactoring.introduce.inplace.AbstractInplaceIntroducer;
|
||||
import com.intellij.refactoring.introduceVariable.IntroduceVariableHandler;
|
||||
import com.intellij.refactoring.util.CommonRefactoringUtil;
|
||||
import com.intellij.testFramework.IdeaTestUtil;
|
||||
import com.intellij.testFramework.LightProjectDescriptor;
|
||||
import com.intellij.testFramework.MapDataContext;
|
||||
import com.intellij.ui.ChooserInterceptor;
|
||||
import com.intellij.ui.UiInterceptors;
|
||||
@@ -34,7 +35,14 @@ import java.util.List;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import static com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase.JAVA_21;
|
||||
|
||||
public class InplaceIntroduceVariableTest extends AbstractJavaInplaceIntroduceTest {
|
||||
@Override
|
||||
protected @NotNull LightProjectDescriptor getProjectDescriptor() {
|
||||
return JAVA_21;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
protected PsiExpression getExpressionFromEditor() {
|
||||
@@ -337,6 +345,10 @@ public class InplaceIntroduceVariableTest extends AbstractJavaInplaceIntroduceTe
|
||||
doTest(null);
|
||||
}
|
||||
|
||||
public void testNoExternalTypeAnnotations() {
|
||||
doTest(null);
|
||||
}
|
||||
|
||||
public void testSplitMutuallyExclusiveIf() { doTestReplaceChoice("Replace all 0 occurrences"); }
|
||||
|
||||
public void testDontSplitNotMutuallyExclusiveIf() { doTestReplaceChoice("Replace all 0 occurrences"); }
|
||||
|
||||
Reference in New Issue
Block a user