VariableNameGenerator: fixed failing tests

This commit is contained in:
Tagir Valeev
2018-12-21 13:31:29 +07:00
parent 8d1a008a46
commit 92048254c1
17 changed files with 32 additions and 32 deletions

View File

@@ -204,7 +204,8 @@ public class OptionalIsPresentInspection extends AbstractBaseJavaLocalInspection
PsiReferenceExpression optionalRef,
PsiElement trueValue) {
PsiType type = optionalRef.getType();
String paramName = new VariableNameGenerator(trueValue, VariableKind.PARAMETER).byType(type).byName("value").generate(true);
String paramName = new VariableNameGenerator(trueValue, VariableKind.PARAMETER)
.byType(OptionalUtil.getOptionalElementType(type)).byName("value").generate(true);
if(trueValue instanceof PsiExpressionStatement) {
trueValue = ((PsiExpressionStatement)trueValue).getExpression();
}

View File

@@ -119,7 +119,8 @@ public class OptionalGetWithoutIsPresentInspection extends AbstractBaseJavaLocal
PsiType elementType = OptionalUtil.getOptionalElementType(qualifier.getType());
PsiMethodCallExpression nextCall = ExpressionUtils.getCallForQualifier(call);
if (nextCall == null) return;
String name = new VariableNameGenerator(qualifier, VariableKind.PARAMETER).byType(elementType).byName("value").generate(true);
String name = new VariableNameGenerator(qualifier, VariableKind.PARAMETER).byExpression(qualifier)
.byType(elementType).byName("value").generate(true);
CommentTracker ct = new CommentTracker();
PsiReferenceExpression methodExpression = nextCall.getMethodExpression();
ct.markRangeUnchanged(Objects.requireNonNull(methodExpression.getQualifierExpression()).getNextSibling(),

View File

@@ -3,9 +3,9 @@ abstract class Test {
abstract Object getObject();
void foo() {
Class<?> i = getObject().getClass();
if (RuntimeException.class.equals(i)) {
} else if (IOException.class.equals(i)) {
Class<?> aClass = getObject().getClass();
if (RuntimeException.class.equals(aClass)) {
} else if (IOException.class.equals(aClass)) {
}
}
}

View File

@@ -13,6 +13,6 @@ public class Test {
void testOpt(String powerValue) {
Optional<Power> optPower = Power.parseValue(powerValue);
optPower.ifPresent(power1 -> power = power1);
optPower.ifPresent(value -> power = value);
}
}

View File

@@ -4,6 +4,6 @@ import java.util.*;
public class Main {
public static Runnable get(Optional<String> s) {
return s.<Runnable>map(s1 -> s1::trim).orElse(null);
return s.<Runnable>map(value -> value::trim).orElse(null);
}
}

View File

@@ -3,8 +3,8 @@ import java.util.Iterator;
public class CodeBlockBody {
void foo(Iterator<Integer> it,Iterator<Integer> it1) {
for (Iterator<Integer> it2 = it1; it2.hasNext(); ) {
Integer integer = it2.next();
for (Iterator<Integer> iter = it1; iter.hasNext(); ) {
Integer integer = iter.next();
System.out.println(integer + " a");
// a comment
System.out.println(integer + " b");

View File

@@ -3,8 +3,8 @@ import java.util.Iterator;
public class EmptyBlockBody {
void foo(Iterator<Integer> it) {
for (Iterator<Integer> it1 = it; it1.hasNext(); ) {
Integer integer = it1.next();
for (Iterator<Integer> iter = it; iter.hasNext(); ) {
Integer integer = iter.next();
}
}
}

View File

@@ -3,8 +3,8 @@ import java.util.Iterator;
public class EmptyBody {
void foo(Iterator<Integer> it) {
for (Iterator<Integer> it1 = it; it1.hasNext(); ) {
Integer integer = it1.next();
for (Iterator<Integer> iter = it; iter.hasNext(); ) {
Integer integer = iter.next();
}
}
}

View File

@@ -3,8 +3,8 @@ import java.util.Iterator;
public class FinalItem {
void foo(Iterator<Integer> it) {
for (Iterator<Integer> it1 = it; it1.hasNext(); ) {
final Integer integer = it1.next();
for (Iterator<Integer> iter = it; iter.hasNext(); ) {
final Integer integer = iter.next();
System.out.println(integer);
}
}

View File

@@ -3,8 +3,8 @@ import java.util.Iterator;
public class IncompatibleItemType {
void foo(Iterator<Integer> it) {
for (Iterator<Integer> it1 = it; it1.hasNext(); ) {
String string = it1.next();
for (Iterator<Integer> iter = it; iter.hasNext(); ) {
String string = iter.next();
System.out.println(string);
}
}

View File

@@ -3,8 +3,8 @@ import java.util.Iterator;
public class OneStatementBody {
void foo(Iterator<Integer> it) {
for (Iterator<Integer> it1 = it; it1.hasNext(); ) {
Integer integer = it1.next();
for (Iterator<Integer> iter = it; iter.hasNext(); ) {
Integer integer = iter.next();
System.out.println(integer);
}
}

View File

@@ -3,8 +3,8 @@ import java.util.Iterator;
public class PrimitiveItem {
void foo(Iterator<Integer> it) {
for (Iterator<Integer> it1 = it; it1.hasNext(); ) {
int i = it1.next();
for (Iterator<Integer> iter = it; iter.hasNext(); ) {
int i = iter.next();
System.out.println(i);
}
}

View File

@@ -104,7 +104,7 @@ public class ForeachStatementInspection extends BaseInspection {
final PsiType parameterType = iterationParameter.getType();
final String typeText = parameterType.getCanonicalText();
newStatement.append("for(").append(variableType.getCanonicalText()).append(' ');
final String iterator = new VariableNameGenerator(statement, VariableKind.LOCAL_VARIABLE).byType(variableType)
final String iterator = new VariableNameGenerator(statement, VariableKind.LOCAL_VARIABLE)
.byName("iterator", "iter", "itr").generate(true);
newStatement.append(iterator).append("=").append(iteratorCall.getText()).append(';');
newStatement.append(iterator).append(".hasNext();){");

View File

@@ -1,7 +1,7 @@
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.siyeh.ig.psiutils;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.psi.JavaPsiFacade;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiExpression;
import com.intellij.psi.PsiType;
@@ -71,10 +71,8 @@ public final class VariableNameGenerator {
*/
public VariableNameGenerator byCollectionName(@Nullable String name) {
if (name != null) {
String nameCandidate = StringUtil.unpluralize(name);
if (nameCandidate != null && !name.equals(nameCandidate)) {
byName(nameCandidate);
}
PsiExpression expr = JavaPsiFacade.getElementFactory(myContext.getProject()).createExpressionFromText(name + "[0]", myContext);
byExpression(expr);
}
return this;
}

View File

@@ -4,8 +4,8 @@ import java.util.Map;
abstract class B {
{
Map sortMap = null;
for (Object o1 : (sortMap.entry<caret>Set())) {
Object o = ((Map.Entry) o1).getValue();
for (Object entry : (sortMap.entry<caret>Set())) {
Object o = ((Map.Entry) entry).getValue();
}
}
}

View File

@@ -4,8 +4,8 @@ import java.util.Map;
abstract class B {
{
Map sortMap = null;
for (Object o1 : sortMap.entrySet()) {
Object o = ((Map.Entry) o1).getValue();
for (Object entry : sortMap.entrySet()) {
Object o = ((Map.Entry) entry).getValue();
}
}
}

View File

@@ -61,7 +61,7 @@ public class ReplaceForEachLoopWithIteratorForLoopIntention extends Intention {
}
@NonNls final StringBuilder newStatement = new StringBuilder();
newStatement.append("for(").append(variableType.getCanonicalText()).append(' ');
final String iterator = new VariableNameGenerator(statement, VariableKind.LOCAL_VARIABLE).byType(variableType)
final String iterator = new VariableNameGenerator(statement, VariableKind.LOCAL_VARIABLE)
.byName("iterator", "iter", "it").generate(true);
newStatement.append(iterator).append("=").append(iteratorCall.getText()).append(';');
newStatement.append(iterator).append(".hasNext();) {");